0

我正在尝试删除多个OU,而不是在同一个父\子结构中,而是多个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 和文本文件一起使用。任何帮助将不胜感激

4

1 回答 1

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 都将被删除。

于 2018-08-10T07:39:14.227 回答