24.10.2014
В рамках задачи по переходу на зимнее время возникла необходимость сбора информации с большой группы ПК о наличии на них КВ2998527 и настройках текущего часового пояса.
Эта задача в доменной среде может быть решена несколькими способами, но мы остановимся на возможностях, предоставляемых Poweshell. В этой статье мы приведем несколько методик удаленного опроса ПК и серверов домена с помощью Powershell на предмет готовности инфраструктуры к переходу на зимнее время.
Самый простой и логичный вариант при отсутствии собственного сервера обновлений WSUS – опросить каждый компьютер и узнать, установлено ли на нем обновление КВ2998527.
Простейший скрипт на Poweshell может выглядеть так:
get-content computers.txt | foreach { if ( !(Get-Hotfix -id KB2998527 -computername $_)) { add-content $_ -path Need-KB2998527.txt } }
Скрипт берет список ПК из текстового файла computers.txt и в случае, если в опрашиваемой системе не установлено обновление КВ2998527, имя такого компьютера заносится в файл Need-KB2998527.txt
Данный скрипт можно слегка модифицировать, чтобы он сам брал список компьютеров из нужной OU в Active Directory:
$GetPC = (Get-ADComputer -SearchBase "OU=Core,OU=Servers,OU=Net,dc=corp,dc=ru" -Filter {OperatingSystem -Like "*Windows *"}).name $GetPC | foreach { if ( !(Get-Hotfix -id KB2998527 -computername $_)) { add-content $_ -path Need-KB2998527.txt } }
Рассмотренные выше варианты являются наиболее универсальными, т.к. позволяют получить достоверные данные о готовности к переходу для крупных сетей, компьютеры которых расположены в различных часовых поясах.
Однако, если в вашей сети еще остались компьютеры с Windows XP, эти скрипты не смогут предоставить достоверную информацию по ним, т.к. официальный патч для XP отсутствует, а для перехода стрелок придется воспользоваться методикой, описанной в статье «Переход на зимнее время в Windows XP».
В таком случае можно опросить компьютеры и получить с них настройки текущей временной зоны. Допустим в файле comps.txt содержится список ПК, на которых нужно проверить параметры текущего часового пояс. Скрип по опросу тайм зон может выглядеть так:
Get-Content comps.txt | foreach {Get-WmiObject -class "win32_TimeZone" -ComputerName $_}| select-object –property __SERVER, Description, StandardName | Export-Csv result.csv -Delimiter ";"
В результате мы получаем csv файл, в котором содержатся список ПК и настройки часового пояса на них. Осталось загрузить этот CSV файл в Excel и с помощью фильтров найти компьютеры, часовая зона которых не изменилась (помечены желтым).
Удачного перевода стрелок.
|