web-dev-qa-db-ja.com

混乱するPowershellの動作

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

3つのマシンはすべて同じドメインにあります。私の混乱は、私の開発マシンから、ServerAに完全に接続してコマンドを実行できることです。

ServerBにSP1がないという事実は違いをもたらしますか?お知らせ下さい。 3つのサーバーすべてで管理者権限を持つ同じドメインアカウントを使用しています。

そして、私が試みているコマンドはInvoke-Command -ComputerName ServerA -ScriptBlock {Get-UICulture}

助けてください。

ありがとう

21
Prasanna K Rao

ServerBからwinrm quickconfigまたはEnable-PSRemoting -forceを実行します。

get-service winrmでサービスが実行されていることを確認します

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

また、これをローカルの開発ボックスから実行します。

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force
28
manojlds

過去にリモートPowerShellで動作していたマシンでも、同じ問題が発生しました。私の場合、解決策はセキュリティログをクリアすることでした。それはいっぱいで、これが原因でpowershellが適切な安全な接続を確立できなかったと思います。

5
Aerankas

以下は私の問題を修正しました:

次のCMDコマンドを使用して確認できるiplistenリストを空にする必要があります。

netsh http show iplist

または、他にアドレスがある場合にループバックアドレスを追加します。

netsh http add iplisten 127.0.0.1
2
Shadi Namrouti

私はこれと同じ問題を抱えていて、次の方法で解決しました。ランニング

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
2

管理するすべてのサーバーで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
)
1
Carl Bennett

私は何日も答えを探していて、問題を見つけました。

IIS 7 .NET拡張機能コンポーネントがインストールされていないため、この問題が発生しているようです。2012R2 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サーバーにはメールボックスの役割しかありませんが、もう1つは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 -Server、Web-Windows-Auth -Restart

Web-Net-Extの一部はIIS 7.NET Extensibilityコンポーネントをインストールしました。再起動する必要はありません。

ちょうど私の2セント、多分これは誰かを助ける:-)

0
Roël Ramjiawan