SendKeys in PowerShell Script verwenden

PowerShell ist inzwischen sehr mächtig geworden und wird wohl die Konsole der Zukunft – zumindest unter Windows. Die Funktion SendKeys kann also auch in einem PowerShell Script verwendet werden.

SendKeys mit PowerShell

Was ist SendKeys?

Mit dem Befehl Sendkeys kann man Tastenanschläge in einem Script ausführen lassen. Wir haben dazu auch schon einen Beitrag veröffentlicht, wie das in einem VBScript (VBS) funktioniert. Analog zum VBS kann man die Tastatureingabe auch in einem PowerShell Skript simulieren.

Sendkeys in PowerShell verwenden

Den Befehl SendKeys kann man auch in einem PowerShell Script verwenden. Naja, ganz ohne VBS geht es doch nicht, denn im PS Skript wird ein neues WScript-Objekt erzeugt.

#Parameter definieren
param($minutes = 180)

#Wcript objekt erzeugen
$wshell = New-Object -com "Wscript.Shell"

#schleife bis 180 minuten erreicht sind
for ($i = 0; $i -lt $minutes; $i++) {

    #nach jedem SendKeys 60 Sekunden warten
    Start-Sleep -Seconds 60

    #Sendkeys ausfuehren
    $wshell.sendkeys(".")
}

Zuerst wird im Powershell Script ein neues Wscript.shell Objekt erzeugt. Mit Hilfe einer Schleife wird dann der Sendkeys Befehl 180 Minuten lang ausgeführt. Für eine Pause sorgt ein Start-Sleep.

Beispiel

Ein gutes Beispiel wäre das Schreiben eines Wortes in Notepad. Somit müsste das PowerShell Script zuerst Notepad öffnen und danach kann mit SendKeys das gewünschte Wort geschrieben werden.

Hierzu haben wir natürlich auch ein Beispiel vorbereitet:

#Wcript objekt erzeugen
$wshell = New-Object -com "Wscript.Shell"

# Windows Notepad oeffnen
Start-Process 'C:\windows\system32\notepad.exe'

# 5 Sekunden warten, bis notepad geoeffnet ist
Start-Sleep 5

# Das Wort "HALLO" schreiben
$wshell.sendkeys("H")
$wshell.sendkeys("A")
$wshell.sendkeys("L")
$wshell.sendkeys("L")
$wshell.sendkeys("O")
Sendkeys Beispiel
Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

sidebar
>