Моя проблема заключается в следующем:
- У меня есть два пользователя на сервере Windows (Windows Server 2016). Один мой обычный пользователь (с правами администратора), а другой технический пользователь.
- Я хотел бы проверить заданную запланированную задачу на удаленном компьютере (который также является Windows Server 2016). Для этого я использую «Invoke-Command» и передаю сеанс следующим образом:
Invoke-Command -Session $session -ScriptBlock { Get-ScheduledTask -TaskName <task_name>}
- Для моего обычного пользователя это работает (я использую localhost для тестирования, но также проверил это на другом сервере)
- Для технического пользователя это не так. Однако команда
Get-ScheduledTask -TaskName <task_name>
выполнено в PowerShell технических пользователей.
- Далее (выполняется в качестве технического пользователя), также выполняются следующие действия
Invoke-Command -Session $session -ScriptBlock { Get-ChildItem C:\ }
Итак, что я понял из этого, так это то, что для технического пользователя в целом работает удаленное взаимодействие, а также доступ к запланированным задачам. Тем не менее, как-то комбинация не делает.
Исключение составляет
Access denied
+ CategoryInfo : PermissionDenied: (MSFT_ScheduledTask:Root/Microsoft/...T_ScheduledTask) [Get-ScheduledTask], CimException
+ FullyQualifiedErrorId : HRESULT 0x80041003,Get-ScheduledTask
+ PSComputerName : <hostname>
Так что, очевидно, это проблема с разрешениями. Но я не понимаю, что мне нужно изменить, чтобы это исправить. Я пытался сравнить разные разрешения между моим обычным пользователем и техническим пользователем, однако я не заметил ничего сразу очевидного.
Кто-нибудь знает, что нужно изменить?