PowerShell Aufgabenplanung: Rechner oder Server neustarten
Ein geplanter Task in Windows kann natürlich auch über PowerShell erstellt werden.
cmd-Befehl
Als Beispiel ein Task, der den Rechner einmalig am folgenden Tag um 3h Früh neu startet:
$action = New-ScheduledTaskAction -Execute 'c:\windows\system32\shutdown.exe' -Argument '-r -t 300'
$tomorrow = (Get-Date -Hour 3 -Minute 0 -Second 0 -Millisecond 0).AddDays(1)
$trigger = New-ScheduledTaskTrigger -Once -At $tomorrow
$settings = New-ScheduledTaskSettingsSet
$user = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest
Register-ScheduledTask -TaskName "planned Reboot" -TaskPath "\" -Action $action -Settings $settings -Trigger $trigger -Principal $user
siehe auch: www.libe.net/automatisch-herunterfahren
Neustart auf einem anderen Computer oder Server planen
Invoke-Command -ComputerName "FQDNcomputer.domain.tld" -ScriptBlock {
$action = New-ScheduledTaskAction -Execute 'c:\windows\system32\shutdown.exe' -Argument '-r -t 300'
$tomorrow = (Get-Date -Hour 0 -Minute 0 -Second 0 -Millisecond 0).AddDays(1)
$trigger = New-ScheduledTaskTrigger -Once -At $tomorrow
$settings = New-ScheduledTaskSettingsSet
$user = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest
Register-ScheduledTask -TaskName "planned Reboot" -TaskPath "\" -Action $action -Settings $settings -Trigger $trigger -Principal $user
} #-Credential get-credential
Optional: -Credential get-credential fragt nach einem alternativen Benutzer auf dem Server
PowerShell-Skript starten
Ein Powershell-Skript kann wie folgt geplant werden, im folgenden Beispiel täglich 2:45 Uhr:
$action = New-ScheduledTaskAction -Execute '"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"' -Argument '-ExecutionPolicy Bypass -File "C:\Windows\Disconnect-LoggedOnUsers.ps1"'
$tomorrow = (Get-Date -Hour 2 -Minute 45 -Second 0 -Millisecond 0).AddDays(1)
$trigger = New-ScheduledTaskTrigger -Daily -At $tomorrow
$settings = New-ScheduledTaskSettingsSet
$user = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest
Register-ScheduledTask -TaskName "UserLogoff" -TaskPath "\" -Action $action -Settings $settings -Trigger $trigger -Principal $user
siehe auch wie erstelle ich ein Windows PowerShell Skript
({{pro_count}})
Beitrag bewerten:{{percentage}} % positiv
({{con_count}})