Как запланировать установку программного обеспечения с помощью PowerShell
При определенных обстоятельствах установка программного обеспечения может осуществляться только в определенное время. В этой статье описывается создание запланированной установки на локальном хосте и на удаленных хостах.
Запланировать установку на локальном хосте
Я подключен к серверу dc01. Цель — установить компонент Windows-Server-Backup в 10:30 утра. Сначала я должен предоставить триггер. Затем мне нужна запланированная задача. Поэтому я запускаю PowerShell ISE.
$trigger=New-JobTrigger -Once -At "7/28/2017 10:30 AM"
Register-ScheduledJob -Name WSBackupInstall -ScriptBlock {Install-WindowsFeature -Name Windows-Server-Backup} -Trigger $triggerЧтобы убедиться, что работа выполнялась и успешно завершилась, используйте Get-Job.
Get-Job | Select-Object *Запланировать установку для удаленного хоста
Чтобы сделать то же самое на удаленном хосте, просто добавьте команду Invoke-Command и параметр computername. Убедитесь, что оба хоста находятся в одном домене. Если они не находятся в одном домене, вам нужно настроить их как Доверенные Хосты. Более подробно о Доверенных Хостах в моей статье: Как настроить Доверенные Хосты для удаленных сеансов PowerShell.
Я вошел на сервер dc01. Я хочу запланировать задачу на сервере server02.
Invoke-Command -ComputerName server02 -ScriptBlock {Register-ScheduledJob -Name WSBackupInstall -ScriptBlock {Install-WindowsFeature -ComputerName server02 -Name Windows-Server-Backup} -Trigger (New-JobTrigger -Once -At "7/28/2017 10:30 AM")}Чтобы убедиться, что программное обеспечение было установлено на удаленном компьютере, выполните
Invoke-Command -ComputerName server02 {Get-Job | Select-Object PSComputerName,PSBeginTime,PSEndtime; Get-WindowsFeature Windows-Server-Backup | Select-Object Name,PSComputerName,Installstate}


