允许 Enter-PSSession 从本地系统帐户运行

允许 Enter-PSSession 从本地系统帐户运行

我有一个 PowerShell 脚本,它通过以下方式在远程服务器上创建 Windows PowerShell 会话 (PSSession)Enter-PSSession,两台服务器均未连接到域。此脚本是从在本地系统帐户下作为服务运行的程序调用的。出于某种原因,以本地系统帐户身份运行 PowerShell 脚本会导致返回Enter-PSSession错误。

例如,从本地管理员帐户运行时,以下命令会要求输入我的密码并成功连接:

Enter-PSSession -ComputerName #### -Credential ####

但是,如果我通过 psexec 使用本地系统或网络服务帐户运行 PowerShell:

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命令在本地系统帐户下运行吗?

答案1

不能Enter-PSSession在脚本中使用,它仅用于交互式登录。请Invoke-Command改用。

相关内容