【问题标题】:How to query Active Directory for a domain user via powershell without installing RSAT tools on client computer如何在不在客户端计算机上安装 RSAT 工具的情况下通过 powershell 查询域用户的 Active Directory
【发布时间】:2020-07-07 17:59:38
【问题描述】:

我在互联网上搜索了一种通过 powershell(或 cmd)在不安装 RSAT 工具的情况下为用户查询 Active Directory 的方法,但没有任何效果。在继续下一步之前,我的脚本需要查询 AD 以确认用户存在。计算机在域上,理想情况下,我不希望我的脚本在客户端工作站上下载和安装 RSAT 工具。

我能够让以下代码工作。但是,我必须以域用户身份登录。理想情况下,我希望这可以在绑定到 AD 的工作站上的本地管理员用户上工作。

$search = [adsisearcher]"(&(ObjectCategory=Person)(ObjectClass=*)(cn=*))"
$users = $search.FindAll()
foreach($user in $users) 
{
    $CN = $user.Properties['CN']
    $DisplayName = $user.Properties['DisplayName']
    $SamAccountName = $user.Properties['SamAccountName']
    "CN is $CN"
    "Display Name is $DisplayName"
    "SamAccountName is $SamAccountName"
} 

【问题讨论】:

    标签: powershell cmd active-directory windows-10


    【解决方案1】:

    您可以使用 [ADSI] 类型的加速器,也可以使用 .Net 类,如下所示。将 druffin 替换为 AD 中的用户名。有关用户名的示例,请运行 $env:USERNAME

    $adsiNET = New-Object system.directoryservices.directorysearcher "name=druffin"
    $adsiNET.FindOne()
    

    【讨论】:

    • 感谢您的回复。我添加了一个我知道是 AD 中的用户的用户名,但没有出现任何内容。我应该在命令中添加域信息吗? $adsiNET = 新对象 system.directoryservices.directorysearcher "name=druffin" $adsiNET.FindOne()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 2011-07-14
    • 2023-03-12
    相关资源
    最近更新 更多