У меня есть сценарий PowerShell, который создает сеанс Windows PowerShell (PSSession) на удаленном сервере через Enter-PSSession
, оба сервера не подключены к ДОМЕНУ. Этот сценарий вызывается из программы, которая работает как служба под учетной записью локальной системы. По какой-то причине запуск сценария PowerShell в качестве учетной записи локальной системы вызывает Enter-PSSession
чтобы вернуть ошибку.
Например, при запуске из учетной записи локального администратора следующая команда запрашивает мой пароль и успешно подключается:
Enter-PSSession -ComputerName #### -Credential ####
Однако, если я запускаю PowerShell, используя учетную запись локальной системы или сетевой службы через psexec:
PsExec -i -s powershell.exe
PsExec -i -u "NT AUTHORITY\NetworkService" powershell.exe
Затем попробуйте команду еще раз, она запрашивает мой пароль и просто возвращает сообщение об ошибке:
Enter-PSSession : Connecting to remote server #### failed
with the following error message : WinRM cannot process the request. The
following error with errorcode 0x8009030d occurred while using Negotiate
authentication: A specified logon session does not exist. It may already have
been terminated.
Любая идея, как я могу получить Enter-PSSession
команда для работы под учетной записью локальной системы?
Вы не можете использовать Enter-PSSession
в сценарии он был предназначен только для интерактивного входа в систему. Использовать Invoke-Command
вместо.