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
以下の記事で、上記と同様の設定を行えるスクリプトをご紹介しています。
WinRM 接続を簡単に有効化するスクリプトの紹介 - Kompira cloud Blog
ドメインアカウントを使用してアクセスする場合の注意
ドメインアカウントを使用する場合、Basic認証によるアクセスは行うことができません。
この場合はNTLM認証でアクセスするようにksocketのcredentialファイルを設定してください。