0
我有以下代碼,可從給定的服務器列表中查找屬於服務器本地管理員組的所有用戶。有人可以建議修改這個最好的方法,以便我可以在服務器列表中搜索一個特定的用戶名嗎?Powershell - 查找並可選地刪除多個服務器上的本地管理員組中的用戶
除此之外,如果有人發現它在其中,那麼有人可以添加一些可選代碼來從本地管理員組中刪除指定的用戶?
在這些服務器上線之前,我們正在尋找方法在項目完成構建和配置生產服務器之後清除組。
$SERVERS = GC .\HOST.TXT
FOREACH ($C in $Servers) {
WRITE-HOST $c
[string]$strComputer = $c
$computer = [ADSI]("WinNT://" + $strComputer + ",computer")
$Group = $computer.psbase.children.find("Administrators")
$members= $Group.psbase.invoke("Members") | %{$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
foreach($user in $members)
{
$objUser = [ADSI]("WinNT://$strComputer/$user")
[string]$output = $strComputer + "," + $user + "," + $objUser.SchemaClassName + "," + $ObjUser.Description
write-host $output
$output |out-file -append .\L_out.txt
Remove-Variable objUser
}
}
更簡單的可能是嘗試: $ name = read-host「user?」; $ members = $ Group.psbase.invoke(「Members」)| %{$ _。GetType()。InvokeMember(「Name」,'GetProperty',$ null,$ _,$ null)} | ?{$ _ -like $ name} |除去-ADUser便有 –