亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

System.DirectoryServices

系統 1586 0
可以的,ADSI, ? WMI, ? System.Directory, ? ABO等四種方式都可以操作 ?
? 具體可以查看一下MSDN里的Web ? Development\Server ? Technologies\Internet ? Information ? Services ? SDK\IIS ? Programmatic ? Administration ? SDK\Using ? IIS ? Programmatic ? Administration,里面有很多例子。 ?
? 不過你要確保訪問A服務器上的asp.net的應用程序具有B服務器的IIS的管理權限。 ?
? ?
? 下面這個是用System.DirectoryServices創建site和vitual ? directory的例子 ?
? ?
? Internet ? Service ? Providers ? (ISPs) ? that ? provide ? Web ? hosting ? services ? to ? customers, ? need ? to ? configure ? their ? IIS ? servers ? frequently. ? Some ? ISPs ? use ? forms ? to ? programmatically ? enroll ? new ? customers ? and ? add ? a ? new ? Web ? site ? or ? virtual ? directory ? for ? them. ? The ? new ? site ? or ? virtual ? directory ? can ? be ? put ? in ? a ? new ? application ? pool ? to ? isolate ? it ? from ? other ? applications ? on ? the ? server. ?
? ?
? Example ? Code ?
? The ? following ? example ? shows ? you ? how ? to ? use ? the ? C# ? programming ? language ? to ? add ? a ? new ? Web ? site ? and ? virtual ? directory ? with ? System.DirectoryServices. ?
? ?
? To ? keep ? this ? code ? example ? concise, ? it ? does ? not ? include ? code ? access ? security ? (CAS) ? parameters ? or ? parameter ? checking. ? For ? more ? information, ? see ? Code ? Access ? Security ? and ? Validating ? User ? Input ? to ? Avoid ? Attacks. ? Additionally, ? you ? can ? instantiate ? your ? System.DirectoryServices.DirectoryEntry ? object ? with ? an ? authentication ? parameter. ? ?
? ?
? C# ? ? Copy ? Code ? ?
? using ? System; ?
? using ? System.IO; ?
? using ? System.DirectoryServices; ?
? using ? System.Reflection; ?
? using ? System.Runtime.InteropServices; ?
? using ? System.Collections; ?
? ?
? namespace ? System_DirectoryServices_DirectoryEntry_ConfigIIS ?
? { ?
? ? ? class ? Program ?
? ? ? { ?
? ? ? ? ? static ? void ? Main(string[] ? args) ?
? ? ? ? ? { ?
? ?
? ... ?
? ? ? ? ? ? ? ? ? CreateSite("IIS://Localhost/W3SVC", ? "555", ? "MySite", ? "D:\\Inetpub\\Wwwroot"); ?
? ?
? ... ?
? ? ? ? ? ? ? ? ? SetSingleProperty("IIS://Localhost/W3SVC/555", ? "ServerBindings", ? ":8080:"); ?
? ?
? ... ?
? ? ? ? ? ? ? ? ? CreateVDir("IIS://Localhost/W3SVC/1/Root", ? "MyVDir", ? "D:\\Inetpub\\Wwwroot"); ?
? ?
? ... ?
? ? ? ? } ?
? ?
? ... ?
? ? ? ? ? static ? void ? CreateSite(string ? metabasePath, ? string ? siteID, ? string ? siteName, ? string ? physicalPath) ?
? ? ? ? ? { ?
? ? ? ? ? ? ? // ? ? metabasePath ? is ? of ? the ? form ? "IIS://<servername>/<service>" ?
? ? ? ? ? ? ? // ? ? ? ? for ? example ? "IIS://localhost/W3SVC" ? ?
? ? ? ? ? ? ? // ? ? siteID ? is ? of ? the ? form ? "<number>", ? for ? example ? "555" ?
? ? ? ? ? ? ? // ? ? siteName ? is ? of ? the ? form ? "<name>", ? for ? example, ? "My ? New ? Site" ?
? ? ? ? ? ? ? // ? ? physicalPath ? is ? of ? the ? form ? "<drive>:\<path>", ? for ? example, ? "C:\Inetpub\Wwwroot" ?
? ? ? ? ? ? ? Console.WriteLine("\nCreating ? site ? {0}/{1}, ? mapping ? the ? Root ? application ? to ? {2}:", ? ?
? ? ? ? ? ? ? ? ? ? ? metabasePath, ? siteID, ? physicalPath); ?
? ?
? ? ? ? ? ? ? try ?
? ? ? ? ? ? ? { ?
? ? ? ? ? ? ? ? ? DirectoryEntry ? service ? = ? new ? DirectoryEntry(metabasePath); ?
? ? ? ? ? ? ? ? ? string ? className ? = ? service.SchemaClassName.ToString(); ?
? ? ? ? ? ? ? ? ? if ? (className.EndsWith("Service")) ?
? ? ? ? ? ? ? ? ? { ?
? ? ? ? ? ? ? ? ? ? ? DirectoryEntries ? sites ? = ? service.Children; ?
? ? ? ? ? ? ? ? ? ? ? DirectoryEntry ? newSite ? = ? sites.Add(siteID, ? (className.Replace("Service", ? "Server"))); ?
? ? ? ? ? ? ? ? ? ? ? newSite.Properties["ServerComment"][0] ? = ? siteName; ?
? ? ? ? ? ? ? ? ? ? ? newSite.CommitChanges(); ?
? ?
? ? ? ? ? ? ? ? ? ? ? DirectoryEntry ? newRoot; ?
? ? ? ? ? ? ? ? ? ? ? newRoot ? = ? newSite.Children.Add("Root", ? "IIsWebVirtualDir"); ?
? ? ? ? ? ? ? ? ? ? ? newRoot.Properties["Path"][0] ? = ? physicalPath; ?
? ? ? ? ? ? ? ? ? ? ? newRoot.Properties["AccessScript"][0] ? = ? true; ?
? ? ? ? ? ? ? ? ? ? ? newRoot.CommitChanges(); ?
? ?
? ? ? ? ? ? ? ? ? ? ? Console.WriteLine(" ? Done. ? Your ? site ? will ? not ? start ? until ? you ? set ? the ? ServerBindings ? or ? SecureBindings ? property."); ?
? ? ? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? ? ? else ?
? ? ? ? ? ? ? ? ? ? ? Console.WriteLine(" ? Failed. ? A ? site ? can ? only ? be ? created ? in ? a ? service ? node."); ?
? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? catch ? (Exception ? ex) ?
? ? ? ? ? ? ? { ?
? ? ? ? ? ? ? ? ? Console.WriteLine("Failed ? in ? CreateSite ? with ? the ? following ? exception: ? \n{0}", ? ex.Message); ?
? ? ? ? ? ? ? } ?
? ? ? ? ? } ?
? ?
? ... ?
? ? ? ? ? static ? void ? SetSingleProperty(string ? metabasePath, ? string ? propertyName, ? object ? newValue) ?
? ? ? ? ? { ?
? ? ? ? ? ? ? // ? ? metabasePath ? is ? of ? the ? form ? "IIS://<servername>/<path>" ?
? ? ? ? ? ? ? // ? ? ? ? for ? example ? "IIS://localhost/W3SVC/1" ? ?
? ? ? ? ? ? ? // ? ? propertyName ? is ? of ? the ? form ? "<propertyName>", ? for ? example ? "ServerBindings" ?
? ? ? ? ? ? ? // ? ? value ? is ? of ? the ? form ? "<intStringOrBool>", ? for ? example, ? ":80:" ?
? ? ? ? ? ? ? Console.WriteLine("\nSetting ? single ? property ? at ? {0}/{1} ? to ? {2} ? ({3}):", ?
? ? ? ? ? ? ? ? ? ? ? metabasePath, ? propertyName, ? newValue, ? newValue.GetType().ToString()); ?
? ?
? ? ? ? ? ? ? try ?
? ? ? ? ? ? ? { ?
? ? ? ? ? ? ? ? ? ? ? DirectoryEntry ? path ? = ? new ? DirectoryEntry(metabasePath); ?
? ? ? ? ? ? ? ? ? ? ? PropertyValueCollection ? propValues ? = ? path.Properties[propertyName]; ?
? ? ? ? ? ? ? ? ? ? ? string ? oldType ? = ? propValues.Value.GetType().ToString(); ?
? ? ? ? ? ? ? ? ? ? ? string ? newType ? = ? newValue.GetType().ToString(); ?
? ? ? ? ? ? ? ? ? ? ? Console.WriteLine(" ? Old ? value ? of ? {0} ? is ? {1} ? ({2})", ? propertyName, ? propValues.Value, ? oldType); ?
? ? ? ? ? ? ? ? ? ? ? if ? (newType ? == ? oldType) ?
? ? ? ? ? ? ? ? ? ? ? { ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? path.Properties[propertyName][0] ? = ? newValue; ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? path.CommitChanges(); ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine("Done"); ?
? ? ? ? ? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? ? ? ? ? else ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine(" ? Failed ? in ? SetSingleProperty; ? type ? of ? new ? value ? does ? not ? match ? property"); ?
? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? catch ? (Exception ? ex) ?
? ? ? ? ? ? ? { ?
? ? ? ? ? ? ? ? ? ? ? if ? ("HRESULT ? 0x80005006" ? == ? ex.Message) ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine(" ? Property ? {0} ? does ? not ? exist ? at ? {1}", ? propertyName, ? metabasePath); ?
? ? ? ? ? ? ? ? ? ? ? else ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Console.WriteLine("Failed ? in ? SetSingleProperty ? with ? the ? following ? exception: ? \n{0}", ? ex.Message); ?
? ? ? ? ? ? ? } ?
? ? ? ? ? } ?
? ?
? ... ?
? ? ? ? ? static ? void ? CreateVDir(string ? metabasePath, ? string ? vDirName, ? string ? physicalPath) ?
? ? ? ? ? { ?
? ? ? ? ? ? ? // ? ? metabasePath ? is ? of ? the ? form ? "IIS://<servername>/<service>/<siteID>/Root[/<vdir>]" ?
? ? ? ? ? ? ? // ? ? ? ? for ? example ? "IIS://localhost/W3SVC/1/Root" ? ?
? ? ? ? ? ? ? // ? ? vDirName ? is ? of ? the ? form ? "<name>", ? for ? example, ? "MyNewVDir" ?
? ? ? ? ? ? ? // ? ? physicalPath ? is ? of ? the ? form ? "<drive>:\<path>", ? for ? example, ? "C:\Inetpub\Wwwroot" ?
? ? ? ? ? ? ? Console.WriteLine("\nCreating ? virtual ? directory ? {0}/{1}, ? mapping ? the ? Root ? application ? to ? {2}:", ?
? ? ? ? ? ? ? ? ? ? ? metabasePath, ? vDirName, ? physicalPath); ?
? ?
? ? ? ? ? ? ? try ?
? ? ? ? ? ? ? { ?
? ? ? ? ? ? ? ? ? DirectoryEntry ? site ? = ? new ? DirectoryEntry(metabasePath); ?
? ? ? ? ? ? ? ? ? string ? className ? = ? site.SchemaClassName.ToString(); ?
? ? ? ? ? ? ? ? ? if ? ((className.EndsWith("Server")) ? || ? (className.EndsWith("VirtualDir"))) ?
? ? ? ? ? ? ? ? ? { ?
? ? ? ? ? ? ? ? ? ? ? DirectoryEntries ? vdirs ? = ? site.Children; ?
? ? ? ? ? ? ? ? ? ? ? DirectoryEntry ? newVDir ? = ? vdirs.Add(vDirName, ? (className.Replace("Service", ? "VirtualDir"))); ?
? ? ? ? ? ? ? ? ? ? ? newVDir.Properties["Path"][0] ? = ? physicalPath; ?
? ? ? ? ? ? ? ? ? ? ? newVDir.Properties["AccessScript"][0] ? = ? true; ?
? ? ? ? ? ? ? ? ? ? ? // ? These ? properties ? are ? necessary ? for ? an ? application ? to ? be ? created. ?
? ? ? ? ? ? ? ? ? ? ? newVDir.Properties["AppFriendlyName"][0] ? = ? vDirName; ?
? ? ? ? ? ? ? ? ? ? ? newVDir.Properties["AppIsolated"][0] ? = ? "1"; ?
? ? ? ? ? ? ? ? ? ? ? newVDir.Properties["AppRoot"][0] ? = ? "/LM" ? + ? metabasePath.Substring(metabasePath.IndexOf("/", ? ("IIS://".Length))); ?
? ?
? ? ? ? ? ? ? ? ? ? ? newVDir.CommitChanges(); ?
? ?
? ? ? ? ? ? ? ? ? ? ? Console.WriteLine(" ? Done."); ?
? ? ? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? ? ? else ?
? ? ? ? ? ? ? ? ? ? ? Console.WriteLine(" ? Failed. ? A ? virtual ? directory ? can ? only ? be ? created ? in ? a ? site ? or ? virtual ? directory ? node."); ?
? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? catch ? (Exception ? ex) ?
? ? ? ? ? ? ? { ?
? ? ? ? ? ? ? ? ? Console.WriteLine("Failed ? in ? CreateVDir ? with ? the ? following ? exception: ? \n{0}", ? ex.Message); ?
? ? ? ? ? ? ? } ?
? ? ? ? ? } ?
? ?
? ... ?
? ? ? } ?
? }

System.DirectoryServices


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美黄一片 | 最新国产一区二区精品久久 | 国产精品美女流白浆视频 | 欧美色另类 | 东京99热| 免费观看四虎精品国产永久 | 久久久成人影院 | 天天操操操操操 | 亚洲欧美综合 | 日日网站 | 日韩精品第三页 | 精品欧美日韩一区二区三区 | 色偷偷亚洲第一成人综合网址 | 北岛玲日韩精品一区二区三区 | 久热中文字幕在线精品免费 | 久久久四虎成人永久免费网站 | 久久爱成人网 | 国产精品a在线观看香蕉 | 日韩精品中文字幕一区二区三区 | 久久精品中文字幕免费 | 手机在线精品视频每日更新 | 国产精品亚洲精品日韩已满 | 四虎影视884a精品国产四虎 | 四虎永久网址在线观看 | 天天躁狠狠躁夜躁2021 | 国产成人啪精品视频免费网 | 中文字幕国产日韩 | 无码免费一区二区三区免费播放 | 日本在线黄 | 成人亚洲欧美日韩中文字幕 | 久久99青青久久99久久 | 色天使色婷婷在线影院亚洲 | 深夜福利在线免费观看 | 亚洲精品久久激情影院 | 福利视频一区二区 | 亚洲精品久中文字幕 | 999视频在线播放777 | 免费观看毛片视频 | 成人深夜视频在线观看 | 亚洲欧美日韩国产综合高清 | 亚洲综合精品一区 |