Войти

Показать полную графическую версию : [решено] Перезагрузка компьютеров домена по расписанию


IVa_
19-12-2014, 16:09
Здравствуйте, не могли бы Вы мне помочь с wps?
Написать скрипт, выполняющий перезагрузку компьютеров домена по расписанию, при этом список компьютеров и время перезагрузки каждого скрипт получает из текстового файла, указанного в качестве аргумента.
Есть часть скрипта, которая отправляет компьютеры домена на перезагрузку, не знаю как время считывать.

$servers = Get-Content C:\Laba4\servers.txt
foreach ($server in $servers) {
write-Host "Старт перезагрузки "$server" -fore "Green"
Restart-Computer $server -whatif }

Iska
19-12-2014, 16:34
IVa_, отделите время от имени машины, например, запятой или точкой с запятой:
MachineName01;01:02:03
MachineName02;10:10:00

После считывания разбивайте каждую строку оператором «-split» или используйте метод «.Split()» самого объекта string и доступ по индексу полученного массива. Например:
$sMachineList = "C:\Песочница\058\servers.txt"

if(Test-Path -Path $sMachineList -PathType Leaf) {
Get-Content $sMachineList | ForEach-Object -Process {
$sMachineName = $_.Split(";")[0]
$dTime = [datetime]($_.Split(";")[1])

$sMachineName
$dTime
}
}

IVa_
23-01-2015, 00:43
Благодарен вам.




© OSzone.net 2001-2012