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-Key: 3266392572

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

Printed on: May 5, 2024 at 05:05 o'clock

Member: Fries3
Fries3 Jul 06, 2022 at 09:31:20 (UTC)
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
Member: TK1987
Solution TK1987 Jul 06, 2022 updated at 09:47:07 (UTC)
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.
Member: Fries3
Fries3 Jul 06, 2022 at 10:13:44 (UTC)
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)
Member: TK1987
TK1987 Jul 06, 2022 at 10:23:41 (UTC)
Goto Top
Moin,

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

Gruß Thomas
Member: Fries3
Fries3 Jul 06, 2022 at 10:43:52 (UTC)
Goto Top
Vielen Dank! Es funktioniert alles wie gedacht