独立DirectoryServices.DirectoryEntry()

时间:2016-10-22 23:07:35

标签: c# .net windows-10 directoryservices

我是独立的Windows 10笔记本电脑而不是运行AD LDS或任何其他活动目录服务。我正在运行IIS。

我试图深入了解这行代码正在做什么,更重要的是,如何。

DirectoryEntry e3 = new DirectoryEntry(@"IIS://localhost/W3SVC/1/Root");

在没有活动目录的情况下,Windows操作系统是否会以某种方式伪造此方法?

1 个答案:

答案 0 :(得分:1)

1)首先请注意,如果您的意思是预先/端口IIS7。在IIS7之后和之后,很多事情都发生了变化,但是它们看起来仍然很相似。但是存在重要的差异。

2)确认您至少在管理模式下运行

  

以管理员身份运行

〜或做得更好。

3)查看.net' DirectoryServices()/DirectoryEntry()以及Microsoft.Web.Administration.ServerManager()。这可能是您可以完成90%的尝试。

4)有一个Windows工具cmdline exe(windows/syswow64[system32]/inetsvr/appcmd.exe)非常有用〜实际上,如果它是您的需求/环境的选项,您可能更喜欢为所有人创建一个cmd脚本正在努力做到。我建议先学习这个工具,然后用它来提取出很多IIS / Site元数据来探索什么&你想去的地方。 https://www.iis.net/configreference/system.applicationhost/applicationpools

5)Powershell有一个snapin,肯定在安装了IIS的服务器上,可能在工作站上。我没有使用很多PowerShell,所以我最常说的是snapin被称为WebAdministration和/或iisConsole。您可能需要/喜欢在每次运行脚本时手动注册管理单元,或者您可以使用IIS powershell管理控制台自动注册管理单元。

6)对于任何上述选项,请记住#2~确定您至少在管理模式下运行。

7)我知道你肯定在IIS的元数据库中玩耍〜而不是注册表那么多。

本地工作站:当您是IIS实例的本地工具时的确切机制?我不确定。您可能直接访问元数据,可能是通过IIS服务获取元数据,或者您可能正在访问Server.exe服务器服务或其他内容。

没有LDAP的远程服务器:如果要查询的是不在活动目录中的远程服务器?和工作站一样。

远程服务器w / LDAP:如果要查询AD中的服务器,几乎可以肯定您正在使用AD / LDAP服务。当然,你如何这样做可能在技术上通过隔离,例如在该遥控器上运行的server.exe服务。

- 最终游戏是appcmd.exe,powershell或c#Microsoft.Web.Administration,DirectoryServer(),所有这些都可能接近在后台做同样的事情。但这些是您访问该背景的界面,因此您不必过多考虑更深层次的实施。

我希望这对每个人都有帮助! 投票,你喜欢这个答案。