仅限机器的远程 powershell 权限

Wes*_*olf 9 windows powershell powershell-3.0

我无法在远程服务器上执行 powershell 脚本,但只能在我当前的机器上执行 - 请帮忙。

运行以下脚本以提供远程服务器上的临时目录列表,可以使用我的凭据从其他计算机工作到同一台服务器,但不适用于我计算机上的任何用户。

Invoke-Command -ComputerName <server_name> -Credential (Get-Credential) -ScriptBlock { Get-ChildItem "D:\temp" } 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[server_name] 连接到远程服务器 server_name 失败并显示以下错误消息:登录失败:未知用户名或密码错误。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。+ CategoryInfo : OpenError: (server_name:String) [], PSRemotingTransportException +fullyQualifiedErrorId : LogonFailure,PSSessionStateBroken

  • 是的,有广告:驱动器。
  • 是的,有一个临时目录
  • 是的,我的凭据很好 - 我可以远程桌面到服务器,并且可以在其他机器上成功执行脚本。

我正在运行 powershell 3 - 从http://www.microsoft.com/en-us/download/details.aspx?id=34595下载并成功安装。

在我的笔记本电脑上调用 $PsVersionTable 给了我这个:

名称 值
---- -----

WSManStackVersion 3.0
PSCompatibleVersions {1.0, 2.0, 3.0}
SerializationVersion 1.1.0.1
BuildVersion 6.2.9200.16398
PSVersion 3.0
CLRVersion 4.0.30319.586
PSRemotingProtocolVersion 2.2

我正在运行 Windows 7 并且服务器正在运行 Windows 2003。我知道 powershell 3 不能很好地与 Windows 2003 服务器一起运行,但是上面的命令确实在其他客户端机器上成功执行,所以不要相信这是一个问题。

有任何想法吗?

Wes*_*olf 6

因此,经过一些进一步的诊断测试(登录到另一台机器运行它,在同一台笔记本电脑上启动到另一个操作系统安装)后,它归结为需要运行以下命令:

Set-Item WSMan:\localhost\Client\TrustedHosts -value * 
Run Code Online (Sandbox Code Playgroud)

此外,在进行进一步调查时,我发现这个站点可以帮助其他人解决远程 powershell 问题(发布以供参考)。