【发布时间】:2015-12-13 08:15:02
【问题描述】:
我有一个关于搜索广告的问题。 我已经编写了这段代码,用于移动在 AD 中没有 AD 帐户的用户的 HomeDrives。
Get-ChildItem -LiteralPath "\\server1\path" -Force |
Where-Object {$_.PSIsContainer} |
ForEach-Object {
$Name = Split-Path -Path $_ -Leaf
$ADResult = ([adsisearcher]"(samaccountname=$Name)").Findone()
if (!($ADResult)) {
$sNewPath = "\\server1\newpath"
Move-Item -Path $_.Fullname -Destination $sNewPath -Force
}
}
问题是我想从另一台服务器上运行它,而 AD 在另一台服务器上。但是这个:
$ADResult = ([adsisearcher]"(samaccountname=$Name)").Findone()
仅当 AD 在此服务器上时才会运行。
所以我想用可以访问 server2 上的 AD 的解决方案替换这一行。
我可以使用Get-ADUser 或Search-ADAccount 来实现吗?
【问题讨论】:
-
“但是这个......只有当 AD 在这个服务器上时才会运行” - 你试过了吗? AD 查询适用于域成员计算机。
-
试过了,有什么建议吗?
-
你尝试的时候发生了什么? (您具体尝试了什么?)请记住:我们看不到您的屏幕。使用您收到的确切错误消息更新您的问题。
-
正如@Bill_Stewart 所说:使用 ADSI 搜索器应该适用于任何域成员。也可以使用 AD cmdlet,但需要先安装远程服务器管理工具 (RSAT)。如何安装它们取决于您要安装它们的操作系统。
-
要使用 Get-Aduser 或 Search-ADAccount - 需要安装 RSAT 吗?它的胜利 sv 2008 R2
标签: powershell active-directory powershell-2.0