===== Получение списка групповых политик со связями с OU и без связей с OU =====
Получение списка групповых политик со связями с OU:
# Путь до отчёта
$Report = "C:\Temp\LinkedGPOReport.csv"
# Создаём массив для результатов
$results = @()
# Получаем все GPO
$AllGPOs = Get-GPO -All
# Проходим по каждой GPO
foreach ($GPO in $AllGPOs) {
# Получаем политику в формате XML
$GPOReport = Get-GPOReport -Name $GPO.DisplayName -ReportType xml
# Конвертируем в XML
$GPOXml = [xml]$GPOReport
# Получаем связи с OU
$Links = $GPOXml.GPO.LinksTo
# Если связь существует
if ($Links) {
# Проходим по каждой связи
foreach ($Link in $Links) {
# Получаем инф о связи и параметрах
$SOMPath = $Link.SOMPath # Путь к OU
$LinkEnabled = $Link.Enabled -eq "true" # Статус
$Enforced = $Link.NoOverride -eq "true" # Принудительное применение
# формируем инф для выгрузки в csv
$result = [PSCustomObject]@{
PolicyName = $GPO.DisplayName
OU = $SOMPath
LinkEnabled = $LinkEnabled
Enforced = $Enforced
}
# Добавляем массив
$results += $result
}
}
}
# Экспортируем в CSV
$results | Export-Csv -Path $Report -NoTypeInformation -Encoding UTF8 -Delimiter ";"
Получение списка групповых политик, не имеющих связей с OU:
# Путь до отчёта
$Report = "C:\Temp\UnLinkedGPOReport.csv"
# Создаём массив для результатов
$unlinkedGPOs = @()
# Получаем все GPO
$AllGPOs = Get-GPO -All
# Проходим по каждой GPO
foreach ($GPO in $AllGPOs) {
# Получаем политику в формате XML
$GPOReport = Get-GPOReport -Name $GPO.DisplayName -ReportType xml
# Конвертируем в XML
$GPOXml = [xml]$GPOReport
# Если связи нет
if (-not $GPOXml.GPO.LinksTo) {
# формируем инф для выгрузки в csv
$unlinkedGPOs += [PSCustomObject]@{
GPOName = $GPO.DisplayName
GPOID = $GPO.Id
CreatedBy = $GPO.Owner
Created = $GPO.CreationTime
Modified = $GPO.ModificationTime
}
}
}
# Экспортируем в CSV
$unlinkedGPOs | Export-Csv -Path $Report -NoTypeInformation -Encoding UTF8 -Delimiter ";"
\\
----
Проверено на следующих конфигурациях:
^ Версия ОС ^ Версия PowerShell ^
| Windows 10 Pro 10.0.19045 | PowerShell 5.1 |
----
{{:user:vyakob.png?50&nolink |}} Автор первичной редакции:\\ [[user:vyakob|Виталий Якоб]] \\ Время публикации: 10.10.2024 11:43
{{tag>PowerShell "Active Directory" ADDS "Group Policy" GPO}}
~~DISCUSSION~~