Windows-Server-2008
查詢 GPO 詳情
我需要一些關於查詢 GPO 的幫助。
- 我想知道為每個 OU 申請了多少 GPO。
- 沒有參數和連結的 GPO
- GPO 的參數少於 2 個,連結少於 2 個
任何人都可以幫助解決如何在 GPO 中查詢這些詳細資訊。我們有大約 1000 多個 GPO。
問候, 卡西克五世
我會為此使用一些小
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 }