Windows 删除多个受保护的广告
我正在尝试删除多个ou,不是在同一父\子结构中,而是相邻的多个ou。例如:Windows 删除多个受保护的广告,windows,powershell,server,active-directory,ou,Windows,Powershell,Server,Active Directory,Ou,我正在尝试删除多个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=depart
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和文本文件一起工作。任何帮助都将不胜感激。首先,我创建了文本文件“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
}
}
注意-如果最后像比尔·斯图尔特所说的那样,确保你只看到即将发生的事情!删除它,文本文件中声明的所有OU将被删除。运行
帮助获取内容和帮助获取每个对象。看看例子。创建一个简短的示例脚本,并使用-WhatIf
参数进行测试。你可以这样做。