如何通过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 包?