Перейти к содержимому

Group Policy

Как с помощью powershell через групповые политики узнать на каких пк нужно дефрагментировать диск и время выполнения политик

Задача собрать информацию с пк пользователей сколько времени выполняются групповые политики и на каких пк нужно выполнить дефрагментацию диска

Написал скрипт и засунул в запланированное задание с помощью групповой политики скрипт

$name=hostname
$Yesterday = (Get-Date) - (New-TimeSpan -Day 2)
get-WinEvent -LogName "Microsoft-Windows-GroupPolicy/Operational"  | Where-Object {$_.ID -like ‘800*’} |  Where-Object {$_.TimeCreated -ge $Yesterday }|  Export-Csv \\имя сервера\test\gpo\$name.csv -Delimiter ";" -Encoding UTF8
$vols = Get-WmiObject  Win32_Volume -filter "DriveType=3"
$defragInfo = $vols | %{$_.DefragAnalysis() | add-member -membertype noteproperty vname $_.name -passThru}
$name2 = $defragInfo | %{$_.DefragRecommended} 
$name3 = $name + ';' + $name2
$defragInfo | %{$_.DefragAnalysis | add-member -membertype noteproperty DefragRecommended $_.DefragRecommended -passThru 
Читать далее

Как с помощью powershell посмотреть event log gpo журнал выполнение групповых политик на разных пк.

Задача выяснить сколько выполняются групповые политики на разных пк в сети.  Applications and Services Logs –> Microsoft -> Windows -> Applications and Services Logs -> Group Policy -> Operational.

$S = Get-Content C:\tmp2.txt
ForEach ($Server in $S) {

get-WinEvent -LogName "Microsoft-Windows-GroupPolicy/Operational" -ComputerName $Server | Select-Object TimeCreated,Message,Id, @{name='ComputerName'; expression={$Server}} | Where-Object {$_.ID -like ‘500*’} |  Format-Table -AutoSize

}

c:\temp2 список пк с новой строки.

Для анализа времени применения политик будут полезны следующие EventID:

  • События 4016 и 5016 показывают время начала и завышения процесса обработки расширений применения GPO, причем в последнем указано общую длительность обработки расширения.Включен фильтр журнала Group Policy ->
Читать далее