LockWorkStation funktioniert nicht in Powershell über Taskplaner
504
Explisam
Ich schreibe ein Skript, das von IFTTT gebrückte Befehle von Amazon Echo empfängt.
Der Prozess läuft wie folgt ab:
- Ich bitte Alexa, "X" auszulösen
- IFTTT sendet dies an das Dropbox-Applet
- Dropbox schreibt eine Textdatei mit dem Namen "X" in ein Verzeichnis
- Ein Task Scheduled Powershell-Skript durchläuft alle 5 Sekunden eine Schleife, um alle Dateien in diesem Verzeichnis zu ermitteln
- Das Skript führt Befehle basierend auf dem Dateinamen aus
Hier ist ein kurzes Beispiel für das Skript:
$SearchDirectory = "C:\Users\Username\Dropbox\IFTTT" $SleepTime = 5 $Status = "none" Remove-Item -Path "$SearchDirectory\shutdown.txt" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$SearchDirectory\restart.txt" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$SearchDirectory\sleep.txt" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$SearchDirectory\lock.txt" -Force -ErrorAction SilentlyContinue While ($True) { Do { Start-Sleep -Seconds $SleepTime if (Test-Path -Path "$SearchDirectory\shutdown.txt") { $Status = "shutdown" } if (Test-Path -Path "$SearchDirectory\restart.txt") { $Status = "restart" } if (Test-Path -Path "$SearchDirectory\sleep.txt") { $Status = "sleep" } if (Test-Path -Path "$SearchDirectory\lock.txt") { $Status = "lock" } } Until ($Status -ne "none") switch ($Status) { "shutdown" { Remove-Item -Path "$SearchDirectory\shutdown.txt"; Stop-Computer -Force; break } "restart" { Remove-Item -Path "$SearchDirectory\restart.txt"; Restart-Computer -Force; break } "sleep" { Remove-Item -Path "$SearchDirectory\sleep.txt"; Suspend-Computer; break} "lock" { Remove-Item -Path "$SearchDirectory\lock.txt"; Invoke-Command ; break} "none" { break } } $Status = "none" }
Alle oben genannten Befehle funktionieren gut, mit Ausnahme rundll32.exe user32.dll,LockWorkStation
derer, für die in der Konsole OK zu funktionieren scheint, jedoch nicht durch ein Skript im Taskplaner.
Ich kann das Problem nicht sehen. Warum funktioniert es nicht?
Läuft das Taskplaner-Skript als aktueller Benutzer? https://social.technet.microsoft.com/Forums/windowsserver/en-US/3f0ade25-acb1-4821-8a78-9384716850ff/creating-scheduled-task-for-currently -logged-on-user?forum=winserverGP
Tyson vor 6 Jahren
0
Ja, und es wird auch mit den höchsten Berechtigungen für eine uneingeschränkte Ausführungsrichtlinie ausgeführt.
Explisam vor 6 Jahren
0
0 Antworten auf die Frage
Verwandte Probleme
-
6
Welche zsh-Funktionen verwenden Sie?
-
5
Transparente Eingabeaufforderung in Vista?
-
4
Verwenden Sie den Windows-Aktenkoffer von der Befehlszeile aus
-
4
Warum sind einige Befehle nicht vorhanden?
-
11
Gibt es eine einfache Möglichkeit, MP3-Dateien zu teilen?
-
2
Wie kann ich OSX Terminal.app dazu bringen, den Vollbildmodus zu öffnen und nicht zu kaskadieren?
-
4
Remote-Ordner unter Linux synchronisieren
-
6
Vollbild-Vista-Eingabeaufforderung oder Ersatz
-
6
Guter PowerShell-Leitfaden, der durch fortgeschrittene Verwendung Einstieg leistet
-
3
Planen Sie einen Job von der Windows-Befehlszeile aus?