Wie erstellt man einen PowerShell Timer?

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.

Dieser Artikel beinhaltet Partner-Links. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhält IT-Learner eine kleine Provision. Der Preis ändert sich für euch nicht. Danke für eure Unterstützung! Letzte Aktualisierung am 31.05.2024

56b65a62f0ac45fb9e56bd15e1290310
Der Blogbetreiber und Autor: Markus Elsberger

Über den Autor

Mein Name ist Markus Elsberger und ich beschäftige mich mit der Administration von Windows und Linux Systemen sowie mit diversen Themen bzgl. Netzwerktechnik. In meiner Lehrtätigkeit erstelle ich verschiedene Szenarien und teste auch verschiedene Konfigurationen, welche ich in diesem Blog festhalten möchte.


Kostenlose Befehlsreferenzen und E-Books
(Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.)


Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

×