fries3
Goto Top

Powershell Script mit Virtual Key Codes in die Aufgabenplanung integrieren

Hallo zusammen: ich benötige bei Benutzeranmeldung eines Laptop die Tasten WIN+K , danach die TAB und danach Enter als automatisierte Instanz. (Externen Monitor via HDMI verbinden)

Bei Powershell habe ich mit virtual Key Codes folgendes:

> Add-Type -MemberDefinition '[DllImport("user32.dll")] public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,UIntPtr dwExtraInfo);' -name t -namespace w32  
> [w32.t]::keybd_event(0x5b,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x4B,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x4B,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x5b,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x09,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x09,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x0D,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x0D,0,0x2,[UIntPtr]::Zero)

Dann habe ich das Script nun als verbinden.ps1 abgespeichert. (PowerShell ISE)

Die ps1 Datei auf einen Stick gepackt und möchte diese jetzt auf den besagten Laptop nach jeder Benutzeranmeldung ausführen lassen - Wenn nach dem hochfahren quasi der Desktop bereit ist.

Content-ID: 3266392572

Url: https://administrator.de/contentid/3266392572

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

Fries3
Fries3 06.07.2022 um 11:31:20 Uhr
Goto Top
Habe das ganze in der Aufgabenplanung involviert und das ganze so konfiguriert:

unbenannt

bei jeder Benutzeranmeldung / 30sek. Verzögerung.

Dann öffnet sich auch Powershell und versucht wohl das script auszuführen, aber leider funktioniert es nicht, es kommt u.a folgende erste und rote Meldung:
> : The term '>' is not recognized as the name of a cmdlet, function, script file, or operable program- Check the  
spelling of the name, or if a path was inluded, verify that path was correct and try again.
At c:\scripte\verbinden.ps1:3 char:1
> [w32.t]::keybd-event(0x4B,0,0,[UIntPtr]::Zero)

+ CategoryInfo : ObjectNotFound: (>:String) , CommandNotFoundExecption
+FullzQualifiedErrorId: CommandNotFoundExeption

Achja, Powershell ExecutionPolicy ist unrestricted.

Hat jemand Rat?

Beste Grüße
TK1987
Lösung TK1987 06.07.2022 aktualisiert um 11:47:07 Uhr
Goto Top
Moin,

Zitat von @Fries3:
> Add-Type -MemberDefinition '[DllImport("user32.dll")] public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,UIntPtr dwExtraInfo);' -name t -namespace w32  
> [w32.t]::keybd_event(0x5b,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x4B,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x4B,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x5b,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x09,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x09,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x0D,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x0D,0,0x2,[UIntPtr]::Zero)
das "> " am Anfang jeder Zeile muss weg. Eben genau das besagt ja auch schon die Fehlermeldung.

Gruß Thomas

PS, als gut gemeinter Rat: Lass die Finger von der ISE.
Fries3
Fries3 06.07.2022 um 12:13:44 Uhr
Goto Top
Es hat tatsächlich soweit geklappt das er die WIN+K beim Start umgesetzt hat, ein großer Fortschritt.

Ich denke die Tab Taste und dann die Enter Taste realisiert Powershell zu schnell hintereinander.

Wie bekomme ich einen zeitlichen "Delay" in das Script, zwischen
> Add-Type -MemberDefinition '[DllImport("user32.dll")] public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,UIntPtr dwExtraInfo);' -name t -namespace w32  
 [w32.t]::keybd_event(0x5b,0,0,[UIntPtr]::Zero)
 [w32.t]::keybd_event(0x4B,0,0,[UIntPtr]::Zero)
 [w32.t]::keybd_event(0x4B,0,0x2,[UIntPtr]::Zero)
 [w32.t]::keybd_event(0x5b,0,0x2,[UIntPtr]::Zero)
**Zeitliche Verzögerung 3 Sekunden**
 [w32.t]::keybd_event(0x09,0,0,[UIntPtr]::Zero)
 [w32.t]::keybd_event(0x09,0,0x2,[UIntPtr]::Zero)
**Zeitliche Verzögerung 3 Sekunden**
 [w32.t]::keybd_event(0x0D,0,0,[UIntPtr]::Zero)
 [w32.t]::keybd_event(0x0D,0,0x2,[UIntPtr]::Zero)
TK1987
TK1987 06.07.2022 um 12:23:41 Uhr
Goto Top
Moin,

Zitat von @Fries3:
Wie bekomme ich einen zeitlichen "Delay" in das Script
sleep -Seconds 3

Gruß Thomas
Fries3
Fries3 06.07.2022 um 12:43:52 Uhr
Goto Top
Vielen Dank! Es funktioniert alles wie gedacht