删除多个受其保护的AD OU

时间:2018-08-09 22:07:13

标签: windows powershell server active-directory ou

我正在尝试删除多个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和文本文件一起使用。任何帮助将不胜感激

1 个答案:

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