WinRM 接続の有効化の方法

Ksocket にて Windows 機の詳細情報を取得するためには WinRM 接続を許可する必要があります。 これを有効化するには以下の手順を対象のWindows PowerShellコンソール(管理者権限)で実行してください。

# ExecutionPolicyがRestrictedだった場合、RemoteSignedに変更する
> Get-ExecutionPolicy
Restricted
> Set-ExecutionPolicy RemoteSigned
> Get-ExecutionPolicy
RemoteSigned

# WinRMサービスを実行できるようにする
> winrm qc

# Basic認証で接続する場合は、Basic認証での接続を許可する
> winrm set winrm/config/service/auth '@{Basic="true"}'
> winrm set winrm/config/service '@{AllowUnencrypted="true"}'

# ユーザに対して読み取り権限を付与する
# 以下コマンド実行によって表示されたウィンドウで、
# 該当するユーザに読み取り権限と実行権限を許可して適用
> winrm configSDDL default

# WMIリソースのアクセス権限設定
# 以下コマンド実行によって表示されたウィンドウで、
# [操作]>[プロパティ]>[セキュリティ] を選択
# - Root\CIMV2 から[セキュリティ]を選択し、
# 該当するユーザにメソッドの実行とリモートの有効化を許可して適用
# - Root\StandardCimv2 から[セキュリティ]を選択し、
# 該当するユーザにメソッドの実行とリモートの有効化を許可して適用
> wmimgmt.msc

上記の手順はPowerShell用のスクリプトとしても用意しています。

使い方

ファイルのダウンロード

Releasesページ より最新のファイルをダウンロードし、KsocketからのWinRMアクセスを有効にしたいWindowsに配置してください。

スクリプトの実行

Setup-WinRMConfiguration.bat

 を管理者権限で実行してください。

実行するとコンソールが開き、アカウント名の入力を求めます。
コンピュータに登録されたアカウント名を入力してください。

WinRM接続のための設定を開始します。よろしいですか (y/n)?y
アカウント名を入力してください。
アカウント名は「コンピュータ名\アカウント名」または「ドメイン名\アカウント名」で指定できます。
>

アカウント名を入力すると、そのアカウントでのWinRMアクセスに必要な設定が自動で行われます。

WinRM サービスは、既にこのコンピューターで実行されています。
このコンピューター上でのリモート管理には、WinRM が既に設定されています。
Auth
    Basic = true
    Kerberos = true
    Negotiate = true
    Certificate = false
    CredSSP = false
    CbtHardeningLevel = Relaxed

Service
    RootSDDL = O:NSG:BAD:P(A;;GR;;;IU)(A;;GA;;;BA)(A;;GXGR;;;S-1-5-21-1561492669-3598970178-1692085620-1001)(A;;GXGR;;;S-1-5-21-1561492669-3598970178-1692085620-1002)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
    MaxConcurrentOperations = 4294967295
    MaxConcurrentOperationsPerUser = 1500
    EnumerationTimeoutms = 240000
    MaxConnections = 300
    MaxPacketRetrievalTimeSeconds = 120
    AllowUnencrypted = true
    Auth
        Basic = true
        Kerberos = true
        Negotiate = true
        Certificate = false
        CredSSP = false
        CbtHardeningLevel = Relaxed
    DefaultPorts
        HTTP = 5985
        HTTPS = 5986
    IPv4Filter = *
    IPv6Filter = *
    EnableCompatibilityHttpListener = false
    EnableCompatibilityHttpsListener = false
    CertificateThumbprint
    AllowRemoteAccess = true

WinRMサービスを有効化しました
WinRM RootSDDLセキュリティ設定を更新しました
WMIセキュリティ設定を更新しました
WinRM接続の設定が完了しました。セットアップを終了します。
続行するには何かキーを押してください . . .

上記のようなメッセージが出力された場合、設定は完了となります。
ksocketにWinRMのアカウント設定を行い、スキャンをしてみましょう。

ドメインアカウントを使用してアクセスする場合の注意

ドメインアカウントを使用する場合、Basic認証によるアクセスは行うことができません。
この場合はNTLM認証でアクセスするようにKsocketのcredentialファイルを設定してください。

TOP