LockWorkStation не работает в Powershell через планировщик задач
455
Explisam
Я пишу сценарий, который получает команды от Amazon Echo через IFTTT.
Процесс идет следующим образом:
- Я прошу Алексу, чтобы вызвать "X"
- IFTTT отправляет это в апплет Dropbox
- Dropbox записывает текстовый файл с именем «X» в каталог
- Сценарий запланированного задания Powershell зацикливается каждые 5 секунд, чтобы обнаружить любые файлы в этом каталоге
- Скрипт выполняет команды на основе имени файла
Вот короткий пример скрипта:
$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" }
Все вышеперечисленные команды работают нормально, за исключением того, rundll32.exe user32.dll,LockWorkStation
что они работают нормально в консоли, но не через скрипт в планировщике задач.
Я не вижу проблемы, так почему она не работает?
Сценарий планировщика заданий работает от имени текущего пользователя? 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 6 лет назад
0
Да, это так, и он также работает с наивысшими привилегиями в неограниченной политике выполнения.
Explisam 6 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
2
.profile в Mac OS X?
-
6
Какие функции Zsh вы используете?
-
5
Прозрачная командная строка в Vista?
-
-
4
Используйте портфель Windows из командной строки
-
4
Почему некоторые команды не существуют?
-
11
Есть ли простой способ разделить mp3 файлы?
-
2
Как я могу получить OSX Terminal.app для открытия полноэкранного режима, а не каскадного?
-
4
Синхронизация удаленных папок в Linux
-
6
Полноэкранная командная строка или замена Vista
-
6
Хорошее руководство по PowerShell, начало работы с более продвинутым использованием