karthick Asked: 2014-03-27 01:13:18 +0800 CST2014-03-27 01:13:18 +0800 CST 2014-03-27 01:13:18 +0800 CST 查询 GPO 详情 772 我需要一些关于查询 GPO 的帮助。 我想知道为每个 OU 申请了多少 GPO。 没有参数和链接的 GPO GPO 的参数少于 2 个,链接少于 2 个 任何人都可以帮助解决如何在 GPO 中查询这些详细信息。我们有大约 1000 多个 GPO。 问候, 卡西克五世 windows-server-2008 1 个回答 Voted Best Answer krisFR 2014-03-27T07:09:25+08:002014-03-27T07:09:25+08:00 我会为此使用一些小Powershell脚本,主要使用: 获取 ADOrganizationalUnit 获取 GPO 获取 GPOReport 从模块: 活动目录 组策略 import-module ActiveDirectory import-module grouppolicy 像这样的东西: 我想知道为每个 OU 申请了多少 GPO。 $OUs = Get-ADOrganizationalUnit -filter * -properties DistinguishedName,LinkedGroupPolicyObjects foreach($OU in $OUs) { write-host $OU.DistinguishedName : $OU.LinkedGroupPolicyObjects.count } 没有参数和链接的 GPO $GPOS = get-gpo -All | select-object DisplayName foreach($GPO in $GPOS) { $myGPO = $GPO.DisplayName Get-GPOReport -Name "$myGPO" -ReportType Xml >tmp.xml [xml]$xmldata = get-content "tmp.xml" $computerLevel = $xmldata.GPO.Computer.ExtensionData | Measure-Object $userLevel = $xmldata.GPO.User.ExtensionData | Measure-Object $links = $xmldata.GPO.Linksto | Measure-Object $NbreLinks = $links.count $NbreComputerLevel = $computerLevel.Count $NbreUserLevel = $userLevel.count $totalParams = $NbreComputerLevel + $NbreUserLevel if (($totalParams -eq 0) -and ($NbreLinks -eq 0)) { write-host $myGPO } } GPO 的参数少于 2 个,链接少于 2 个 与上面相同,但将if语句替换为: if(($totalParams -lt 2) -and ($NbreLinks -lt 2)) { write-host $myGPO } http://technet.microsoft.com/en-us/library/ee617236.aspx http://technet.microsoft.com/en-us/library/ee461027.aspx
我会为此使用一些小
Powershell
脚本,主要使用:从模块:
组策略
像这样的东西:
与上面相同,但将
if
语句替换为: