通过 PowerShell 列出组策略对象

通过 PowerShell 列出组策略对象

如果 PowerShell 无法执行此操作,是否有人知道如何通过 PowerShell 或其他方式从 Windows 2003 域获取 GPO(组策略对象)列表?

我知道 Server 2008 有一些用于组策略的 cmdlet,但是如何对 Windows 2003 域执行此操作?

在 Google 上搜索过,但没有结果。

谢谢

加里

答案1

尝试 SDM 软件的组策略 cmdletSDM GPMC PowerShell 命令 1.3

答案2

您可以使用 GPMC API 获取所有 GPO 的列表:

$gpm = New-Object -ComObject GPMgmt.GPM
$constants = $gpm.GetConstants()
$domain = $env:USERDOMAIN
$gpmDomain =$gpm.GetDomain($domain ,"", $constants.UseAnyDC)
$gpmSearch = $gpm.CreateSearchCriteria()
$gpmDomain.SearchGPOs($gpmSearch)

答案3

最后我选择了这个,使用了 GPOINFO 工具。虽然不太好用,但满足了我们的需要:-

写入主机“计算 GPO”
$dom=[System.DirectoryServices.ActiveDirectory.Domain]::获取计算机域()
$PDC=$dom.PdcRoleOwner
gpotool.exe /dc:$PDC > GPOToolRep.txt
$GCReport=获取内容-路径 GPOToolRep.txt
$TextOut+="$($GCReport[4])`n

感谢大家的回复....Gary

相关内容