如何通过Powershell在域计算机上查询Active Directory而不在客户端计算机上安装RSAT工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过Powershell在域计算机上查询Active Directory而不在客户端计算机上安装RSAT工具相关的知识,希望对你有一定的参考价值。

我已经在Internet上搜索了一种无需安装RSAT工具即可通过Powershell(或cmd)来查询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"
} 
答案

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

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

以上是关于如何通过Powershell在域计算机上查询Active Directory而不在客户端计算机上安装RSAT工具的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Powershell 中自动执行 Telnet 端口检查?

怎样在域控制器上把某台计算机加入到域中?

Powershell:如何在未连接的计算机上安装适用于 PowerShell 的 Nuget 提供程序,以便可以从 PS 命令行安装 nuget 包?

powershell PowerShell命令显示计算机上的所有驱动器

如何在 Azure AD 中发现计算机上已安装的软件

powershell 这使用PowerShell来更改计算机上的驱动器号。