Powershell删除OU中的所有用户
Powershell delete all users in OU
我正在尝试使用 powershell 删除一个 OU 中的所有用户,我有下面的内容,当涉及到 SAMAccount 名称时卡住了,我希望它删除所有找到的用户。
请问我哪里做错了?
$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
}
这是输出。这里似乎出错了——无法转换“@{SamAccountName=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
替换
$deletes= Get-ADUser -SearchBase $search -filter * -properties SamAccountName | Select-Object SamAccountName
来自
$deletes= Get-ADUser -SearchBase $search -filter * -properties SamAccountName
添加 Select-Object 意味着将 ADUser "object" 转换为 "Psobject"。因此,后续命令 remove-ADuser 无法识别此类对象。
也替换:
remove-aduser -identity $deletes -confirm:$false
来自
remove-aduser -identity $delete.SamAccountName -confirm:$false
将 $deletes 更改为 $delete(您不能在 -Identity 参数中指定集合)
我正在尝试使用 powershell 删除一个 OU 中的所有用户,我有下面的内容,当涉及到 SAMAccount 名称时卡住了,我希望它删除所有找到的用户。
请问我哪里做错了?
$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
}
这是输出。这里似乎出错了——无法转换“@{SamAccountName=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
替换
$deletes= Get-ADUser -SearchBase $search -filter * -properties SamAccountName | Select-Object SamAccountName
来自
$deletes= Get-ADUser -SearchBase $search -filter * -properties SamAccountName
添加 Select-Object 意味着将 ADUser "object" 转换为 "Psobject"。因此,后续命令 remove-ADuser 无法识别此类对象。
也替换:
remove-aduser -identity $deletes -confirm:$false
来自
remove-aduser -identity $delete.SamAccountName -confirm:$false
将 $deletes 更改为 $delete(您不能在 -Identity 参数中指定集合)