我需要一些帮助来查询GPO。
我想知道每个OU应用了多less个GPO。
没有参数和链接的GPO
任何请帮助这个如何在GPO中查询这些细节。 我们有大约1000多个GPO。
问候,Karthick V
我会使用一些小的Powershell脚本,主要使用:
来自模块:
组策略
import-module ActiveDirectory import-module grouppolicy
像这样的东西:
我想知道每个OU应用了多less个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具有less于2个参数和less于2个链接
和上面一样,但是用下面的语句replaceif语句:
if(($totalParams -lt 2) -and ($NbreLinks -lt 2)) { write-host $myGPO }