我正在尝试删除多个ou,而不是在相同的parent \ child结构中,而是彼此相邻的多个OU。示例:
OU=legal,OU=department,DC=company,DC=com
OU=marketing,OU=department,DC=company,DC=com
OU=advertising,OU=department,DC=company,DC=com
我可以使用以下保护措施删除一个OU:
Get-ADOrganizationalUnit -Identity 'OU=legal,OU=department,DC=company,DC=com' |
Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru |
Remove-ADOrganizationalUnit -Confirm:$false
但是我不确定如何使它与foreach和文本文件一起使用。任何帮助将不胜感激
答案 0 :(得分:0)
首先,我创建了文本文件“ C:\ Temp \ OU's.txt”。内部包含所有OU。
$ous = Get-Content -Path "C:\Temp\OU's.txt"
foreach($ou in $ous){
try{
Get-ADOrganizationalUnit -Identity $ou |
Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru |
Remove-ADOrganizationalUnit -Confirm:$false -WhatIf
Write-Host "Succesfully deleted $ou" -ForegroundColor Green
}catch{
Write-Host "Failed to delete $ou because '$($_.Exception.Message)'" -ForegroundColor Red
}
}
请注意-WhatIf最后像Bill_Stewart所说的那样,以确保您只看到将要发生的事情!删除它,文本文件中声明的所有OU将被删除。