sta*_*tor 5 windows-domain active-directory ldap windows-10
我在加入域的 Windows 10 计算机上,想要查询我自己的用户帐户的属性。有没有内置的工具可以做到这一点?
它不是管理员计算机,并且我没有安装 RSAT。我的电脑好像没有:
dsgetdsqueryldapsearchldpActiveDirectory模块还有其他内置工具吗?我的意思是,一定有什么东西,因为至少我的计算机能够查询 AD,但是有没有我也可以作为用户使用的工具?
Windows 具有可供程序使用的ADSI接口,它支持常规 LDAP 访问。
\nSystem.DirectoryServicesPowerShell 可以通过类型访问 ADSI :
类型(别名为)表示特定条目 \xe2\x80\x93 当给定 LDAP 对象时,其属性直接对应于 LDAP 条目的属性[System.DirectoryServices.DirectoryEntry] :[ADSI]
$obj = [adsi] "LDAP://CN=foo,OU=bar,DC=example,DC=com"\necho $obj.displayName\n$obj | fl *\nRun Code Online (Sandbox Code Playgroud)\n您不需要指定服务器 \xe2\x80\x93 Windows 将默认使用 AD 目录。(该LDAP://部分区分大小写;这是ADSI 绑定字符串,而不是 URL。)
该[System.DirectoryServices.DirectorySearcher] 类型(别名为[ADSISearcher])表示 LDAP搜索查询,如果您还不知道,可以使用它来查找您的用户 DN:
$qry = [adsisearcher] "(sAMAccountName=stackprotector)"\n$qry.FindAll().Path\nRun Code Online (Sandbox Code Playgroud)\n从某些或其他 MSDN 文档页面复制的更详细示例(在 AD 中,搜索anr伪属性是 GUI 工具解析名称的方式):
$qry = New-Object DirectoryServices.DirectorySearcher\n$qry.Filter = \'(&(objectCategory=person)(anr=Stack))\'\n$qry.SearchRoot = \'LDAP://OU=Laptops,OU=Computers,DC=contoso,DC=com\'\n$qry.FindAll()\nRun Code Online (Sandbox Code Playgroud)\n但 ADSI 最初是一个 COM+ API,早于 PowerShell 甚至 .NET,因此 Microsoft 当然有从 VBScript和ADODB 中使用它的示例(甚至从 ASP 中,但它在这里没有帮助)。
\n您还应该能够安装和使用一些 RSAT 工具,而无需任何特殊权限(除了本地 Windows 管理员进行安装之外)。默认情况下,该目录对任何经过身份验证的客户端开放。
\n您可以将第三方 LDAP 客户端与 AD \xe2\x80\x93 一起使用,域控制器将使用您的用户凭据接受身份验证,这是大多数 Windows GUI 工具首先在 AD 中查找数据的方式(计算机加入帐户为仅某些任务需要)。但是,最好使用通过 GSSAPI 或 GSS-SPNEGO 支持 Kerberos 身份验证的客户端,因为这保证可以与任何 AD 设置一起使用。使用 NTLM 或“简单绑定”(密码身份验证)的工具可能会也可能不会工作,具体取决于域配置。
\n例如,SysInternals ADExplorer来自 Microsoft,无需安装即可使用。(当提示输入服务器详细信息时,将所有字段留空,然后单击“连接”。)
\n(从技术上讲,RSAT 工具“ADSIEdit”和“dsa.msc”无需完整安装即可使用,甚至微软官方说明也曾说过“从 .cab 和 regsvr32 中提取这些文件”,但您确实需要Windows 本地管理员零件的访问权限regsvr32。
| 归档时间: |
|
| 查看次数: |
1941 次 |
| 最近记录: |