21

对远程执行 powershell 命令感到有点困惑。我有一个名为 ServerA 的测试服务器(Win 2k8-R2-SP1),它正确启用了 powershell 远程处理。从我的开发机器(Win 2k8-R2-SP1),能够正确远程执行 powershell 命令。但是,当我尝试从名为 ServerB (Win 2k8-R2) 的不同服务器执行相同的命令时,出现以下错误

[ServerA] Connecting to remote server failed with the following error message : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig". For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OpenError: (:) [], PSRemotingTransportException + FullyQualifiedErrorId : PSSessionStateBroken

所有三台机器都在同一个域中。我的困惑是,从我的开发机器上,我完全能够连接到 ServerA 并执行命令。

ServerB 没有 SP1 的事实会有所不同吗?请指教。我使用的是同一个域帐户,它在所有 3 台服务器上都具有管理员权限。

我正在尝试的命令是 Invoke-Command -ComputerName ServerA -ScriptBlock {Get-UICulture}.

请帮忙。

谢谢

4

7 回答 7

29

运行winrm quickconfigEnable-PSRemoting -force从 ServerB。

验证服务正在运行get-service winrm

http://technet.microsoft.com/en-us/magazine/ff700227.aspx

另外,从本地开发盒运行它:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force
于 2011-09-02T15:18:14.650 回答
5

在过去为远程 powershell 工作的机器上,我也遇到了同样的问题。就我而言,解决方案是清除安全日志。它已满,我相信这会阻止 powershell 建立正确的安全连接。

于 2012-12-13T14:15:12.797 回答
2

以下解决了我的问题:

您必须清空您的 iplisten 列表,可以使用以下 CMD 命令进行检查:

netsh http show iplist

或者如果有任何其他地址,则将环回地址添加到其中:

netsh http add iplisten 127.0.0.1
于 2016-12-07T18:07:31.860 回答
2

我遇到了同样的问题并通过以下方式解决。跑步

winrm quickconfig

返回以下错误。

winrm : WSManFault
At line:1 char:1
+ winrm quickconfig
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (WSManFault:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

    Message
        ProviderFault
            WSManFault
                Message = WinRM firewall exception will not work since one of the network connection types on this machine is set to Public. Change the network connection type to either Domain or Private and try again. 
Error number:  -2144108183 0x80338169
WinRM firewall exception will not work since one of the network connection types on this machine is set to Public. Change the network connection type to either Domain or Private and try again. 

就我而言,这是我在机器上运行的管理程序服务的虚拟 NIC。将其更改为 Private 后,winrm quickconfig 运行时没有错误。我仍然在连接到某些机器时遇到问题,并且遇到了与此线程中描述的相同的故障。为了解决这个问题,我检查并启动了停止的 winrm 服务。

get-service -ComputerName computer -Name winrm

Status   Name               DisplayName                           
------   ----               -----------                           
Stopped  winrm              Windows Remote Management (WS-Manag...



get-service -ComputerName computer -Name winrm | Start-Service
于 2018-10-11T08:48:53.330 回答
1

为了避免在您管理的每台服务器上启用 WinRM,您可以运行此批处理脚本:

要求:

用法:EnablePSRemoting.bat PCs.txt

@echo off
for /f %%f in (%1) do (
  psexec.exe \\%%f -accepteula -h -d -s powershell.exe "enable-psremoting -force"
  echo Enabled on %%f
)
于 2017-03-07T03:59:09.747 回答
0

几天来我一直在寻找答案,我发现了问题;

似乎未安装 IIS 7 .NET 可扩展性组件导致此问题。我们有一个 2012 R2 Exchange 2010 服务器;

https://technet.microsoft.com/en-us/library/dd421841(v=exchg.80).aspx

我通过在powershell中输入它来安装它;

请参阅此处了解 Exchange 2010 的先决条件。

https://technet.microsoft.com/en-us/library/bb691354(v=exchg.141)

我们这个Exchange服务器只有邮箱角色,其他的还是CAS和HUB传输;

所以我们需要这个命令;

Add-WindowsFeature NET-Framework-Features,RSAT-Clustering,Web-Mgmt-Console,WAS-Process-Model,Web-Basic-Auth,Web-Lgcy-Mgmt-Console,Web-Metabase,Web-Net-Ext,Web -服务器,Web-Windows-Auth -重新启动

Web-Net-Ext 部分安装了 IIS 7.NET Extensibility 组件。无需重新启动。

只是我的 2 美分,也许这对其他人有帮助:-)

于 2017-07-19T07:39:23.610 回答
0

就我而言,WinRM配置正确。这是我用来远程启用它的:

$x=Get-WmiObject -ComputerName "<computer name>" -Namespace "root\cimv2" -Class "Win32_Process" -List
$x.Create('C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "& C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command {Enable-PSRemoting}"',$null,$null)
于 2020-05-22T18:43:42.327 回答