Мне нужна помощь при запросе GPO.
Я хочу знать, сколько всего GPO было применено для каждого OU.
GPO без параметров и без ссылки
Может ли кто-нибудь помочь в этом, как запросить эти данные в GPO. У нас около 1000+ GPO.
С уважением, Картик V
Я бы использовал небольшой Powershell
сценарии для этого, в основном используя:
Из модулей:
групповая политика
import-module ActiveDirectory
import-module grouppolicy
что-то вроде этого :
Я хочу знать, сколько всего GPO было применено для каждого OU.
$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
}