Einen Windows PowerShell 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.
Vorgehensweise: PowerShell Timer erstellen
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 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 gewissermaßen Endlosschleife.
In dieser wird anschließend der Timer angezeigt und die Zeit läuft dabei runter. Die Schleife wird dabei natürlich so lange 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.
Für das Erstellen eines Skripts kannst du neben der bordeigenen Windows PowerShell ISE auch Visual Studio Code* verwenden. Dieses lässt sich für das Scripting mit der Windows PowerShell optimal einsetzen.
Wie eingangs im Artikel bereits erwähnt, wäre das bei BitLocker sinnvoll. Aber natürlich gibt es viele weitere Anwendungsgebiete. Z. B. das Trennen von Netzlaufwerken, das Ausloggen eines Benutzers, Anzeigen einer Warnmeldung etc.
Keine Produkte gefunden.







