PowerShellをリモートからコマンドを実行する。

更新日 2017-04-09 (日) 18:25:17
  • 接続先Windows、接続元Windows両方で、WinRM (Windows Remote Management)サービスを有効にする。
  • 接続先OS:Windows2016Std
  • 接続元OS:Windows10Pro 64Bit

条件:接続先Windows、接続元Windows両方同一ドメインのメンバ

接続先Windows

接続先Windowsで以下をPowerShell(管理者権限)実行

  • ネットワーク設定条件:ドメイン
PS C:\Windows\system32> Enable-PSRemoting

ネットワーク設定でエラーの時はネットワークプロファイルを以下のコマンドでスキップさせる

Enable-PSRemoting -SkipNetworkProfileCheck

  • 使用ポートの確認
PS C:\Windows\system32> Get-Item WSMan:\localhost\Listener\*\Port


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Listener\Listener_1084132640

Type            Name                           SourceOfValue   Value
----            ----                           -------------   -----
System.String   Port                                           5985
  • ファイアウォール確認

FW_確認.png

接続元Windows

このWindowsからPowerShellを実行する準備(ドメイン参加時は特になし)

Active Directory配下にどちらのホストも存在する場合は信頼できるホストであるためは「TrustedHostsを設定」は不要不要

セッションを開始

このWindowsからセッションを開始しPowerShellを実行する

PS C:\WINDOWS\system32>  Enter-PSSession -ComputerName win2016std
[win2016std]: PS C:\Users\JE2ISM\Documents>

セッションを終了

[win2016std]: PS C:\Users\JE2ISM\Documents> Exit-PSSession
PS C:\WINDOWS\system32>

条件:接続先Windows、接続元Windows両方同一ドメインのメンバでないとき

接続先Windows

接続先Windowsで以下をPowerShell(管理者権限)実行

  • ネットワーク設定:ドメイン
  • WinRM (Windows Remote Management)サービスを有効
PS C:\Windows\system32> Enable-PSRemoting

接続元Windows

WinRMでは,接続元のホストから見て,接続先のホストが「信頼できるホストである」ことが必要(ドメインに参加していないときは必要)

  • TrustedHostsを設定する(ドメインメンバの時は不要)
Set-Item WSMan:\localhost\Client\TrustedHosts -Value (ホスト名 or IPアドレス or *)

接続元Windowsで信頼する接続先を指定"*"はすべて

PS C:\Windows\system32> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*"
WinRM セキュリティの構成。
このコマンドは WinRM クライアントの TrustedHosts の一覧を変更します。\
TrustedHostsの一覧内にあるコンピューターは認証されない可能性があります。\
クライアントはこれらのコンピューターに資格情報を送信する可
能性があります。この一覧を変更しますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"):
PS C:\Windows\system32>
  • 複数のホスト名やIPアドレスを設定する場合
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "host1, host2"
  • TrustedHostsを表示
PS C:\WINDOWS\system32> Get-Item WSMan:\localhost\Client\TrustedHosts


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client

Type            Name                           SourceOfValue   Value
----            ----                           -------------   -----
System.String   TrustedHosts                                   *
  • 設定されているTrustedHostsをすべて消去
PS C:\Windows\system32> Clear-Item WSMan:\localhost\Client\Trustedhosts

WinRM セキュリティの構成。 
このコマンドは WinRM クライアントの TrustedHosts の一覧を変更します。TrustedHosts\
の一覧内にあるコンピューターは認証されない可能性があります。クライアントは\
これらのコンピューターに資格情報を送信する可\
能性があります。この一覧を変更しますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"):

セッションを開始

  • 接続先(win2016std)のユーザにAdministratorを指定
PS C:\WINDOWS\system32> Enter-PSSession -ComputerName win2016std -Credential Administrator
[win2016std]: PS C:\Users\Administrator\Documents> Exit-PSSession

参考


添付ファイル: fileFW_確認.png 59件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-04-09 (日) 18:25:17 (589d)