Powershell 为AD中的某些已删除组创建日志文件

Powershell 为AD中的某些已删除组创建日志文件,powershell,Powershell,我想从广告中删除一些群组。我有一个将被删除的所有组的列表,但我想为所有已删除的组创建一个日志。我使用过这个命令,但没有工作。 获取内容d:\file.txt |删除ADGroup |输出文件d:\log.txt 我的“文件”的所有组都已删除,但日志文件中未填充任何信息。我建议阅读,以查看可以捕获并保存到文件中的命令输出 由于cmdletRemove-ADGroup没有输出,因此无法将其通过管道传输到Out文件。如果需要捕获输出,则需要使用脚本块 $content = Get-Content D:

我想从广告中删除一些群组。我有一个将被删除的所有组的列表,但我想为所有已删除的组创建一个日志。我使用过这个命令,但没有工作。 获取内容d:\file.txt |删除ADGroup |输出文件d:\log.txt
我的“文件”的所有组都已删除,但日志文件中未填充任何信息。

我建议阅读,以查看可以捕获并保存到文件中的命令输出

由于cmdlet
Remove-ADGroup
没有输出,因此无法将其通过管道传输到
Out文件
。如果需要捕获输出,则需要使用脚本块

$content = Get-Content D:\file.txt
$content | % { 
  Write-Output "Deleting $_"
  try {
    Get-ADGroup $_ -ErrorAction Stop
  }
  catch {
    "Group $_ not found."
    return
  }
  Remove-ADGroup $_ -Whatif #-Confirm:$false
  write-output "Group $_ removed successfully."
} | Out-File D:\log.txt -Append

一旦您确认它执行了它应该执行的操作,请删除
-whatif
。您可以使用
-Confirm:$false
来阻止确认请求。

谢谢您的快速重播,您的代码工作正常,但是如果我的组列表中有“D:\file.txt”,AD中不存在的一些组可以在我的日志文件中看到这一点吗?例如,组“abc”不存在或类似于此的内容。@bogdan09查看更新。请确保在输出文件中也使用-append,否则您将只有最新的更新,所有其他数据都将被覆盖。您好,再次感谢我测试了此代码,所有工作正常。
$content = Get-Content D:\file.txt
$content | Get-ADGroup -ErrorAction SilentlyContinue | foreach {
    try {
        Remove-ADGroup $_ -Confirm:$false
        $_.Name | Out-File d:\log.txt
    }
    catch { }
}