我试图与另一个系统建立远程连接并执行一些基本命令。
以下是我所做的步骤:
1。Invoke-Command -ComputerName COMPUTERNAME -ScriptBlock { Get-ChildItem C:\ } -credential USERNAME
。
2。Invoke-Command -ComputerName COMPUTERNAME -ScriptBlock { Get-ChildItem C:\ } -credential $Credentials
。
3。Invoke-Command -ComputerName COMPUTERNAME -ScriptBlock { Get-ChildItem C:\ }
在所有情况下,我们都获得了拒绝访问错误:
Access is denied. For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OpenError: (:) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionStateBroken
答案 0 :(得分:3)
来自MSDN:
右键单击Windows PowerShell快捷方式并选择“以管理员身份运行”,以管理员身份启动Windows PowerShell。
默认情况下,WinRM服务配置为手动启动。您必须将启动类型更改为“自动”,并在要使用的每台计算机上启动该服务。在PowerShell提示符下,您可以使用以下命令验证WinRM服务是否正在运行: get-service winrm 输出中Status属性的值应为“Running”。
- 醇>
要配置Windows PowerShell以进行远程处理,请键入以下命令: 启用-PSRemoting -force
在许多情况下,您将能够使用其他域中的远程计算机。但是,如果远程计算机不在受信任的域中,则远程计算机可能无法验证您的凭据。要启用身份验证,您需要将远程计算机添加到WinRM中本地计算机的可信主机列表中。为此,请键入: winrm s winrm / config / client'@ {TrustedHosts =“RemoteComputer”}' 这里,RemoteComputer应该是远程计算机的名称,例如: winrm s winrm / config / client'@ {TrustedHosts =“CorpServer56”}'
您应该检查winrm
是否正在运行。还要将远程主机添加到可信主机列表(或本地计算机)。
希望有所帮助。