我有一个关于搜索AD的查询。 我已经编写了这段代码,用于移动在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
来实现此目标吗?
答案 0 :(得分:1)
我用:
Get-WmiObject Win32_UserAccount
您可以使用过滤器指定用户名。 Get-WmiObject Win32_UserAccount -filter' name =" username"'