web-dev-qa-db-ja.com

WinRMがドメイン内のリモートコンピューターに接続しない

ドメイン内のユーザーに対してリモートでプログラムをインストールするスクリプトを実行しようとしています。自分のコンピューターでスクリプトを正常に実行できますが、ドメイン内の別のコンピューターでスクリプトを実行すると、次のエラーが発生します。

リモートサーバー(computername)への接続が次のエラーメッセージで失敗しました:WinRMは操作を完了できません。指定されたコンピューター名が有効であること、コンピューターがネットワーク経由でアクセス可能であること、およびWinRMサービスのファイアウォール例外が有効になっていて、このコンピューターからのアクセスが許可されていることを確認してください。既定では、パブリックプロファイルのWinRMファイアウォール例外は、同じローカルサブネット内のリモートコンピューターへのアクセスを制限します。詳細については、about_Remote_Troubleshootingヘルプトピックを参照してください

WinRMとwinRM GPOを構成しましたが、ファイアウォールをオフにしましたが、同じエラーが発生し続けます。私はすべてのオプションを使い果たしたので、いくつかの助けが欲しいと思います。

私が試したこと:

  • ファイアウォールがポートをブロックしているかどうかを確認
  • ドメインでGPO=を介してwinRMを構成し、ipv4とipv6がリッスンしている*
  • 両方のコンピューターでEnable-PSRemoting -Forceおよびwinrm/quickconfigを実行。
  • Winrm id -r:(mymachine)を実行しましたが、エラーが発生したため、リモートに接続しようとしているコンピューターでは機能しません。
WSManFault
    Message = WinRM cannot complete the operation. Verify that the specified computer name is valid, that the computer is accessible over the network, and that a firewall exception for the WinRM service is enabled and allows access from this computer. By default, the WinRM firewall exception for public profiles limits access to remote computers within the same local subnet.

Error number:  -2144108250 0x80338126
WinRM cannot complete the operation. Verify that the specified computer name is valid, that the computer is accessible over the network, and that a firewall exception for the WinRM service is enabled and allows access from this computer. By default, the WinRM firewall exception for public profiles limits access to remote computers within the same local subnet.
  • Telnet(TargetMachine)5985の実行がエラーで失敗するConnecting To(ComputerName)...ホストへの接続をポート5985で開けませんでした:接続に失敗しました
  • 「winrm get winrm/config」および「winrm get wmicimv2/Win32_Service?Name = WinRM」を実行すると、次の出力が得られます。
Config
    MaxEnvelopeSizekb = 500
    MaxTimeoutms = 60000
    MaxBatchItems = 32000
    MaxProviderRequests = 4294967295
    Client
        NetworkDelayms = 5000
        URLPrefix = wsman
        AllowUnencrypted = false
        Auth
            Basic = true
            Digest = true
            Kerberos = true
            Negotiate = true
            Certificate = true
            CredSSP = false
        DefaultPorts
            HTTP = 5985
            HTTPS = 5986
        TrustedHosts = ()ComputerName)
    Service
        RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
        MaxConcurrentOperations = 4294967295
        MaxConcurrentOperationsPerUser = 1500
        EnumerationTimeoutms = 240000
        MaxConnections = 300
        MaxPacketRetrievalTimeSeconds = 120
        AllowUnencrypted = false
        Auth
            Basic = false
            Kerberos = true
            Negotiate = true
            Certificate = false
            CredSSP = false
            CbtHardeningLevel = Relaxed
        DefaultPorts
            HTTP = 5985
            HTTPS = 5986
        IPv4Filter = * [Source="GPO"]
        IPv6Filter = * [Source="GPO"]
        EnableCompatibilityHttpListener = false
        EnableCompatibilityHttpsListener = false
        CertificateThumbprint
        AllowRemoteAccess = true [Source="GPO"]
    Winrs
        AllowRemoteShellAccess = true
        IdleTimeout = 7200000
        MaxConcurrentUsers = 2147483647
        MaxShellRunTime = 2147483647
        MaxProcessesPerShell = 2147483647
        MaxMemoryPerShellMB = 2147483647
        MaxShellsPerUser = 2147483647

Win32_Service
    AcceptPause = false
    AcceptStop = true
    Caption = Windows Remote Management (WS-Management)
    CheckPoint = 0
    CreationClassName = Win32_Service
    DelayedAutoStart = null
    Description = Windows Remote Management (WinRM) service implements the WS-Management protocol for remote management. WS-Management is a standard web services protocol used for remote software and hardware management. The WinRM service listens on the network for WS-Management requests and processes them. The WinRM Service needs to be configured with a listener using winrm.cmd command line tool or through Group Policy in order for it to listen over the network. The WinRM service provides access to WMI data and enables event collection. Event collection and subscription to events require that the service is running. WinRM messages use HTTP and HTTPS as transports. The WinRM service does not depend on IIS but is preconfigured to share a port with IIS on the same machine.  The WinRM service reserves the /wsman URL prefix. To prevent conflicts with IIS, administrators should ensure that any websites hosted on IIS do not use the /wsman URL prefix.
    DesktopInteract = false
    DisplayName = Windows Remote Management (WS-Management)
    ErrorControl = Normal
    ExitCode = 0
    InstallDate = null
    Name = WinRM
    PathName = C:\WINDOWS\System32\svchost.exe -k NetworkService -p
    ProcessId = 15760
    ServiceSpecificExitCode = 0
    ServiceType = Share Process
    Started = true
    StartMode = Auto
    StartName = NT AUTHORITY\NetworkService
    State = Running
    Status = OK
    SystemCreationClassName = Win32_ComputerSystem
    SystemName = (ComputerName)
    TagId = 0
    WaitHint = 0
  • ターゲットコンピュータにフォルダを作成することなどもできます。ただし、ターゲットコンピュータでプログラムのインストールを実行すると失敗します。

私が試したすべての正確な小さなことの瞬間を思い出すことはできませんが、何か提案があれば、私が試したことを確認できます。

Remote PowerShell、WinRMの失敗を含む多くの提案をオンラインでフォローしました:WinRMは操作を完了できません

しかし、それでも..何も。

2
josh

許可されたネットワークアドレス/信頼できるホストのリストをグループポリシー/ローカルポリシーで構成していない場合、それが原因の1つである可能性があります。

管理用テンプレート> Windowsコンポーネント> Windowsリモート管理> WinRMサービス

WinRMによるリモートサーバー管理を許可する

このポリシー設定を使用すると、Windowsリモート管理(WinRM)サービスが、デフォルトのHTTPポートを介したHTTPトランスポート上の要求をネットワークで自動的に待機するかどうかを管理できます。

このポリシー設定を有効にすると、WinRMサービスは、デフォルトのHTTPポートを介したHTTPトランスポート上の要求をネットワークで自動的にリッスンします。

WinRMサービスがネットワーク経由で要求を受信できるようにするには、ポート5985(HTTPのデフォルトポート)を除いてWindowsファイアウォールポリシー設定を構成します。

このポリシー設定を無効にするか構成しない場合、WinRMリスナーが構成されているかどうかに関係なく、WinRMサービスはリモートコンピューターからの要求に応答しません。

このサービスは、IPv4およびIPv6フィルターで指定されたアドレスをリッスンします。 IPv4フィルターはIPv4アドレスの1つ以上の範囲を指定し、IPv6フィルターはIPv6アドレスの1つ以上の範囲を指定します。指定した場合、サービスはコンピューターで使用可能なIPアドレスを列挙し、フィルター範囲のいずれかに該当するアドレスのみを使用します。

アスタリスク(*)を使用して、サービスがコンピューター上で使用可能なすべてのIPアドレスで待機することを示す必要があります。 *を使用すると、フィルター内の他の範囲は無視されます。フィルターを空白のままにすると、サービスはどのアドレスもリッスンしません。

たとえば、サービスでIPv4アドレスのみをリッスンする場合は、IPv6フィルターを空のままにします。

範囲は、構文IP1-IP2を使用して指定されます。複数の範囲は、区切り文字として「、」(コンマ)を使用して区切られます。

IPv4フィルターの例:\ n2.0.0.1-2.0.0.20、24.0.0.1-24.0.0.22 IPv6フィルターの例:\ n3FFE:FFFF:7654:FEDA:1245:BA98:0000:0000-3FFE:FFFF:7654:FEDA :1245:BA98:3210:4562

WinRM Service Trusted Networks

管理用テンプレート> Windowsコンポーネント> Windowsリモート管理> WinRMクライアント

信頼できるホスト

このポリシー設定を使用すると、Windowsリモート管理(WinRM)クライアントが信頼できるホストのリストで指定されたリストを使用して、宛先ホストが信頼できるエンティティであるかどうかを判断するかどうかを管理できます。

このポリシー設定を有効にすると、WinRMクライアントは、信頼できるホストのリストで指定されたリストを使用して、宛先ホストが信頼できるエンティティであるかどうかを判断します。ホストのIDを認証するためにHTTPSもKerberosも使用されていない場合、WinRMクライアントはこのリストを使用します。

このポリシー設定を無効にするか、未構成にし、WinRMクライアントが信頼できるホストのリストを使用する必要がある場合は、信頼できるホストのリストを各コンピューターでローカルに構成する必要があります。

WinRM Client Trusted Hosts

1
Greg Askew

フォルダーの作成などはできますが、プログラムをインストールできないため、実行ポリシーの変更が必要になる場合があります。

Set-ExecutionPolicy RemoteSigned -force
0
jschmitter