Как запланировать задачу, вошел ли пользователь в PowerShell или нет?
У меня проблема с тем, как сделать запланированное задание для запуска независимо от того, вошел ли пользователь в систему или нет. Это должно быть сделано в PowerShell. Что я сделал, это:
$WINDIR/system32/schtasks.exe /create /tn TaskName /sc daily /st 15:05:00 /tr "C:\cygwin\opt\IBM\tpchc\bin\tools\TheFileToRun.bat"
Но могу ли я предоставить дополнительный аргумент, заставляющий эту задачу выполняться независимо от того, вошел ли пользователь в систему или нет?
Если это невозможно сделать в Powershell, то возможно ли сделать это на другом языке сценариев?
Спасибо:)
4 ответа
Вам нужно будет указать пользователя (например, /RU system
), но это должно быть по умолчанию для запуска в системе или нет. Вы можете посмотреть по этой ссылке список всех schtasks.exe
параметры.
Если вы добавите
/RU <username> /RP <password>
на вызов schtasks.exe вы выберете "Запустить, вошел ли пользователь в систему или нет".
Вместо этого вы также можете использовать /NP, что также даст вам "Запустить, пользователь вошел в систему или нет", но также "Не хранить пароль...", что ограничит доступные ресурсы.
Если вы используете общую учетную запись:
/RU {accountName} /RP {password}
Если вы используете учетную запись gMSA:
/RU {accountName}$ /RP
У меня есть рабочее решение, просто добавьте это:
/RU "NT AUTHORITY\SYSTEM" /RP *
Будет работать как система и игнорировать пароль, проверено на XP