Mit der Windows PowerShell einen einfachen Timer erstellen! Führe Befehle erst nach Ablauf einer bestimmten Zeit aus!

So kann man einen Timer mit der Windows PowerShell erstellen

Wie kann man mit der Windows PowerShell einen Timer erstellen? Genau diese Thematik soll hier kurz aufgegriffen werden. Hintergrund ist, dass z.B. eine mit Bitlocker verschlüsselte Festplatte nach einer gewissen Zeit automatisch wieder gesperrt wird. Das heißt, nachdem Entsperren der Festplatte* startet ein Timer mit einer bestimmten Zeit. Sobald diese abgelaufen ist, wird das Laufwerk automatisch wieder gesperrt. Das Beispiel ist nur eines von vielen weiteren möglichen Varianten. Ich denke Einsatzgebiete gibt es bei der Administration bestimmt genügende.

Im folgendem sollen kurz die wesentlichen Elemente erläutert werden. Zunächst liest man mit dem Cmdlet Get-Date die aktuelle Uhrzeit mit dem Datum aus. Um eine Zeitdifferenz zu erhalten gibt es das Cmdlet New-TimeSpan. Hier kann mittels dem Parameter Minutes die Zeit angegeben werden. Natürlich sind auch auch weitere Parameter wie z.B. Hours möglich. Das Ende der Zeit ist erreicht, wenn die Zeitspanne abgelaufen ist. Im Script wird dies unter der Variablen $Ende gespeichert. Im nächsten Schritt startet eine do-while Schleife, als quasi Endlosschleife. In dieser wird anschließend der Timer angezeigt und die Zeit läuft dabei runter. Die Schleife wird dabei natürlich solange durchgeführt, bis die Zeit abgelaufen ist. Am Ende wird die do-while Schleife verlassen und es können jetzt verschiedene weitere Befehle abgearbeitet werden.

# Auslesen der aktuelle Zeit sowie dem Datum
$Start = Get-Date

# Angabe der Zeitdifferenz; hier in Minuten
$Zeitspanne = New-TimeSpan -Minutes 1

# Startzeit und Zeitspanne ergeben das Ende
$Ende = $Start + $Zeitspanne

# Endlosschleife 
Do{
$Zeitanzeige = New-TimeSpan -Start $(Get-Date) -End $Ende
$Zeit = "{0:D2}:{1:D2}" -f ($Zeitanzeige.Minutes), ($Zeitanzeige.Seconds)
#Write-Progress $Zeit

}
While((Get-date) -lt $Ende)

# Zeit ist abgelaufen; Jetzt können weiter Befehle abgearbeitet werden
Write-Host "Wartezeit beendet"

Dieses kleine Beispiel Script soll zeigen, wie einfach prinzipiell die Erstellung eines Timers ist. Gerade wenn verschiedene Konfiguration nach einer gewissen Zeit beendet werden sollen eignet sich so ein Script durchaus. Wie Eingangs im Artikel bereits erwähnt, wäre das bei Bitlocker durchaus sinnvoll. Aber natürlich gibt es viele weitere Anwendungsgebiete. Z.B. das Trennen von Netzlaufwerken, das Ausloggen eines Benutzers, Anzeigen einer Warnmeldung etc.

Script downloaden