为什么在使用WinRM时遇到拒绝访问?

继续从这个问题:

为什么我的PowerShell脚本在通过批处理(.cmd)文件在PSEXEC中调用时挂起?

我接受了Jim B的build议并安装了WinRM。 回顾一下,我有两台服务器:

  • HMon01 – 运行Windows 2003 Standard SP2
  • Web1928 – 运行Windows 2008 Standard SP2( 不是R2

两台服务器都是独立的。

我从这里安装了Windows 2003的WinRM,并在两台机器上如下configurationWinRM:

Client NetworkDelayms = 5000 URLPrefix = wsman AllowUnencrypted = false Auth Basic = true Digest = true Kerberos = true Negotiate = true Certificate = true DefaultPorts HTTP = 80 HTTPS = 443 TrustedHosts = * 

我的问题是,如果我使用远程机器的内置pipe理员帐户远程执行命令,那么一切都很好。

不过,我在名为remoteexec的远程计算机上有一个帐户,该远程计算机是Administrators组的成员(我们禁用了pipe理员帐户)。 如果我使用这个帐户,那么我得到Access Denied错误。 我做了所有常见的事情,如检查密码等。

为什么会这样?

尝试从2003年的这个盒子安装最新版本的winrm。 对于http,端口(默认情况下)应该是5985,对于https,端口应该是5986。 另请注意,winrm quickconfig在2003年不可用。

Winrm将根据当前正在访问机器的用户运行命令。 一旦你安装了从2.0K3盒子安装的2.0版本:

 test-wsman -computername web1928 -authentication default 

这个输出应该告诉你它是否可以正确连接。 如果你想testing其他凭证使用

 $cred = get-credential test-wsman -computername web1928 -authentication default -credential $cred