如何修改我的服务器以便在Powershell中轻松调用远程命令

时间:2012-04-04 15:43:01

标签: powershell powershell-v2.0 powershell-remoting remote-server

当我只需输入以下内容即可进入远程会话时,我有服务器(使用 Microsoft Windows Server 2003 R2 SE ;手动安装WinRM):

  

输入-PSSession * computername_here *

或(远程会话外)调用远程命令:

  

Get-Process -ComputerName * computername_here *

不幸的是另一个(使用 Microsoft Windows Server 2008 R2 SE )它不起作用(虽然我使用相同的配置)。我需要输入(根据第一个例子):

  

输入-PSSession IP address -Credential“domain \ username”

之后提供用户名和密码。 我知道可以将凭据保存到外部文件,但我不想像第一台服务器那样连接到远程服务器吗? 我应该检查防火墙还是以特殊方式配置我的服务器?

=============================================== ===================

谢谢你的回答。我说的是“Microsoft Windows Server 2008 R2 Standard”操作系统(作为“* gwmi win32_operatingsystem | select name *”命令告诉我)。

  

WSManConfig:Microsoft.WSMan.Management \ WSMan :: localhost \ Client

将属性 TrustedHosts 设置为*,所以我认为它是正确的。

虽然我在两台计算机上都拥有管理员权限,但是当我尝试检查“localhost”不是直接来自服务器而是来自我的本地计算机时,我收到错误消息:

  

PS WSMan:\ localhost> ls
    访问被拒绝。       + CategoryInfo:       + FullyQualifiedErrorId:System.InvalidOperationException,Microsoft.PowerShell.Commands.GetChildItemCommand

1 个答案:

答案 0 :(得分:0)

要检查的是,您当前的用户是否具有目标服务器的权限,服务器是否与客户端在同一个域中?

您还可以澄清一下您使用的服务器吗? AFAIK Microsoft Windows Server 2008 R2 SE不存在。是2008年还是2003年?

可能与客户端的TrustedHostsAuthentication设置有关。您可以这样设置: WinRM set winrm/config/client @{TrustedHosts="*"} 在这里阅读更多相关信息: http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2008/02/23/remotely-managing-your-server-core-using-winrm-and-winrs.aspx