У нас есть 3 запланированных задачи, которые выполняются на сервере. Случайно кто-нибудь из отдела кадров попросит нас выполнить одно из этих заданий вне графика. Чтобы сделать это проще и удобнее для сотрудников отдела кадров, я использую PowerShell для выполнения задачи. Но это работает, только если я даю пользователю права локального администратора на сервере.
Очевидно, что мы не хотим, чтобы конечные пользователи имели права локального администратора.
Итак, я некоторое время искал это в Google, нашел несколько сообщений на разных форумах с идеями, которые сработали для некоторых людей, но до сих пор ничего не помогло с моей проблемой. При тестировании я предоставил своей тестовой учетной записи доступ на чтение / запись к папке Windows \ Tasks, добавил ее в группу WinRMRemoteWMIUsers__ (пришлось создавать ее вручную), группу Performance Monitor, Опытные пользователи, Пользователи, Пользователи удаленного рабочего стола , и группы пользователей удаленного управления.
Пока ничего не помогло, продолжает выходить из строя с этой ошибкой -
Start-ScheduledTask : The WS-Management service cannot process the request. The WMI service returned an 'access denied' error.
Мой сценарий -
$server = "Test_Server"
$task = "Name_of_Task"
Start-ScheduledTask -TaskName $task -CimSession $server
Должно быть что-то простое, чего мне не хватает.
Идеи?
Поначалу это может показаться очень сложным, но возможности ролей PowerShell - это то, что вам нужно. С помощью этой технологии вы можете разрешить конкретному пользователю или группе подключаться к настраиваемому сеансу PowerShell и иметь возможность запускать очень ограниченный набор команд с ограниченным набором параметров. Вот ссылка на MS Docs, но если вам нужна дополнительная помощь, я могу помочь вам.