在本地主机上执行命令时,出现以下“访问被拒绝”错误
PS C:\Windows\System32> winrs -r:localhost dir
Winrs error:Access is denied. PS C:\Windows\System32>
以下是我的配置
PS C:\Windows\System32> winrm enumerate winrm/config/listener
Listener
Address = *
Transport = HTTP
Port = 80
Hostname
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn = 127.0.0.1, 192.168.1.3, ::1, 2001:0:4137:9e50:20d3:3b94:3f57:fefc, fe80::5efe:192.168.1.3%11, fe80::20
d3:3b94:3f57:fefc%12, fe80::adea:d512:c3d3:8b08%10
PS C:\Windows\System32> winrm get winrm/config
Config
MaxEnvelopeSizekb = 150
MaxTimeoutms = 60000
MaxBatchItems = 20
MaxProviderRequests = 25
Client
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = false
Auth
Basic = true
Digest = true
Kerberos = true
Negotiate = true
Certificate = true
DefaultPorts
HTTP = 80
HTTPS = 443
TrustedHosts = *
Service
RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;ER)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)
MaxConcurrentOperations = 100
EnumerationTimeoutms = 60000
MaxConnections = 25
AllowUnencrypted = false
Auth
Basic = true
Kerberos = true
Negotiate = true
Certificate = false
DefaultPorts
HTTP = 80
HTTPS = 443
IPv4Filter = *
IPv6Filter = *
Winrs
AllowRemoteShellAccess = true
IdleTimeout = 900000
MaxConcurrentUsers = 5
MaxShellRunTime = 2147483647
MaxProcessesPerShell = 5
MaxMemoryPerShellMB = 80
MaxShellsPerUser = 2
我应该怎么做才能让它发挥作用?
我有 Windows Vist Starter Edition,我正在使用 PowerShell CTP 3
答案1
由于您运行的是 Vista Starter Edition,因此您的系统无法成为域的一部分。这对 WinRM(和 PowerShell Remoting)有影响 - 以下内容来自 Powershell 的内部帮助:
ps> get-help about_remote_faq | more
最后有以下说法:
我可以在单台计算机(不在域中)上测试远程处理吗?
是的。即使本地计算机不在域中,Windows PowerShell 远程处理也可用。您可以使用远程处理功能
连接到会话并在同一台计算机上创建会话。这些
功能的工作方式与连接到远程计算机时的工作方式相同。要在工作组中的计算机上运行远程命令,请更改
计算机上的以下 Windows 设置。-- Windows Vista:
Create the following registry entry, and then set its value to 1: LocalAccountTokenFilterPolicy in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System You can use the following Windows PowerShell command to add this entry: new-itemproperty ` -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System ` -name LocalAccountTokenFilterPolicy -propertyType DWord -value 1
答案2
什么操作系统?什么版本的 WinRM?我看到默认端口是 80 和 443,这意味着您可能正在使用 WinRM 1.1 或 WinRM 2.0 CTP1 或 CTP2。
如果您使用的是 XP 并且启用了 IIS,则 WinRM 存在问题。我不确定这个问题是否已经修复。解决方法是简单地停止 IIS 服务,然后 WinRM 就会开始工作。更持久的解决方法是将 WinRM 服务器端口从 80 更改为其他端口。
编辑:好的,可能是在 RC 中端口从 80 和 443 更改了。CTP3 仍然使用这些公共端口。