Задача собрать информацию с пк пользователей сколько времени выполняются групповые политики и на каких пк нужно выполнить дефрагментацию диска
Написал скрипт и засунул в запланированное задание с помощью групповой политики скрипт
$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 | add-member -membertype noteproperty vname $_.vname -passThru} | out-file \\имя сервера\test\$name3.txt
На папку должны быть права для запись от системы компьютера
Скрипт для анализа фрагментации диска
$name = hostname $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 | add-member -membertype noteproperty vname $_.vname -passThru} | out-file \\имя сервера\test\$name3.txt
Запуск скрита через vbs что бы не было черного окна
Set objShell = WScript.CreateObject("WScript.Shell") Set FSO = CreateObject("Scripting.FileSystemObject") Set F = FSO.GetFile(Wscript.ScriptFullName) path = FSO.GetParentFolderName(F) objShell.Run(CHR(34) & "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "" -ExecutionPolicy Bypass & ""'" & path & "\defrag.ps1'" & CHR(34)), 0, True
Similar Posts:
- Как сделать отчет vm с тегами(tags) и записями блокнота(Note) с помощью Vmware powercli в одну строку.
- Как узнать кто давно не подключался к почтовому ящику в exchange.
- Как сделать групповую (GPO) политику для выключения пк при простои больше двух часов.
- Как сделать задание в планировщики для выключения windows 10 по простою (бездействие)
- Как собрать информацию из 1с кластера и записатть в таблицу 1с