我想要刪除使用powershell的OU內的所有用戶,我有下面的問題,當涉及到SAMAccount名稱卡住時,我希望它刪除所有找到的用戶。Powershell刪除OU中的所有用戶
我在這裏做錯了什麼?
$search="OU=Staff,OU=Users,DC=Testing, DC=Local"
$deletes= Get-ADUser -SearchBase $search -filter * -properties SamAccountName | Select-Object SamAccountName
$numusers=($deletes.count)
echo "$numusers Users Found"
foreach ($delete in $deletes)
{
echo "Deleting user account $delete . . . "
remove-aduser -identity $delete -confirm:$false
}
這是輸出。看似走錯了這裏 - 不能轉換 「@ {SAM帳戶= bbonhomme}」
7用戶發現
Deleting user account @{SamAccountName=bbonhomme} . . .
Remove-ADUser : Cannot bind parameter 'Identity'. Cannot convert value "@{SamAccountName=bbonhomme}" to type
"Microsoft.ActiveDirectory.Management.ADUser". Error: "Cannot convert the "@{SamAccountName=bbonhomme}" value of type
"Selected.Microsoft.ActiveDirectory.Management.ADUser" to type "Microsoft.ActiveDirectory.Management.ADUser"."
At C:\Users\Administrator\Desktop\import\getadusers.ps1:11 char:29
+ remove-aduser -identity @delete -confirm:$false
+ ~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Remove-ADUser], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.ActiveDirectory.Management.Commands.RemoveADUser
你必須做一個循環的每個' $ delete',但是你用'$ deletes'(結尾S)運行你的命令,你是否願意這麼做? –
我的錯誤問題更新了,一直在嘗試很多變化 – Anthony