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

 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare