Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 删除多个受保护的广告_Windows_Powershell_Server_Active Directory_Ou - Fatal编程技术网

Windows 删除多个受保护的广告

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,不是在同一父\子结构中,而是相邻的多个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和文本文件一起工作。任何帮助都将不胜感激。

首先,我创建了文本文件“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
参数进行测试。你可以这样做。