398просмотров
27 декабря 2024 г.
📷 ФотоScore: 438
Тема: Скрипт получения отметки последнего обновления групповой политики на серверах Предположим, что вы создали новую групповую политику и нацелили ее на нужные сущности Active Directory. Произвели принудительное обновление GPO, и хотите убедиться, что политика долетела. В таких случаях можно всегда воспользоваться PowerShell, чтобы проверить временную отсечку. (Дополнительно еще советую почитать причины и методы диагностики почему не применилась групповая политика) Вот пример простого скрипта: # Чтение списка серверов из файла
$servers = Get-Content -Path "C:\Temp\RDS\servers-term.txt" # Проход по каждому серверу
foreach ($server in $servers) { try { # Использование Invoke-Command для выполнения кода на удаленном сервере $result = Invoke-Command -ComputerName $server -ScriptBlock { # Определение пути к реестру $RegPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Extension-List\{00000000-0000-0000-0000-000000000000}" # Получение значений из реестра $LowTime = Get-ItemProperty -Path $RegPath -Name "EndTimeLo" $HighTime = Get-ItemProperty -Path $RegPath -Name "EndTimeHi" # Вычисление времени $CompTime = ([long]$HighTime.EndTimeHi -shl 32) + [long]$LowTime.EndTimeLo return [DateTime]::FromFileTime($CompTime) } # Вывод имени сервера и полученной даты Write-Output "$server $result" } catch { # Обработка ошибок Write-Output "Ошибка при доступе к серверу $server $_" }
} Еще больше скриптов ищите на https://pyatilistnik.org/