PowerShell: обновить имя пользователя и пароль для запланированной задачи? - PullRequest
1 голос
/ 28 февраля 2012

Я ищу способ обновить учетные данные для существующих запланированных задач на машинах.

  • Schtasks не работает для AT, созданных запланированных задач
  • Win32_ScheduledJob работает только дляAT создал задания
  • COM-объект Schedule.Service - не уверен

Похоже, что я могу использовать RegisterTask и RegisterTaskDefinition для СОЗДАНИЯ запланированных задач, но я не уверен, смогу ли я обновитьсуществующие учетные данные с этими методами.Пожалуйста, порекомендуйте.Thx.

1 Ответ

1 голос
/ 29 февраля 2012

Я бы рекомендовал взглянуть на управляемый API TaskScheduler, который является оболочкой .NET для COM API TaskScheduler.Это проект с открытым исходным кодом, доступный в CodePlex.

http://taskscheduler.codeplex.com/

Автор проекта может сказать об обновлении паролей:

Если вы пытаетесьСоздайте задачу, используя учетные данные текущего пользователя, и вы хотите, чтобы она выполнялась только тогда, когда этот пользователь вошел в систему, вам нужно вызвать метод RegisterTaskDefinition, как в конце примера Complex с параметром InteractiveToken.Если вам нужно создать другого пользователя, используйте тот же метод, но укажите имя пользователя, пароль и установите для параметра TaskLogonType значение InteractiveTokenOrPassword или Пароль.Существуют некоторые триггеры, характерные для пользователя, например LogonTrigger, где вы также можете указать учетные данные пользователя.

Соответствующая перегрузка для RegisterTaskDefinition определена в TaskFolder.cs.

http://taskscheduler.codeplex.com/SourceControl/changeset/view/75611#19440

public Task RegisterTaskDefinition(string Path, TaskDefinition definition
   , TaskCreation createType, string UserId, string password = null
   , TaskLogonType LogonType = TaskLogonType.S4U, string sddl = null)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...