46
48

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PowerShellを使ってリモートでコマンドを実行する方法

Posted at

前提

Windowsサーバーを管理するときに、毎回リモートデスクトップでログインしてから操作をするのは大変です。
特に複数のサーバーを管理している場合は尚更です。

それを解決するためにWinRM(Windows Remote Management) という、Windowsを遠隔操作をする仕組みを使ってコマンドを実行します。

環境

使用マシン

用途 マシン
操作する側 Windows10
操作される側 Windows Server 2012 R2

使用技術

  • PowerShell
  • WinRM

設定方法

操作される側

この手順は、操作される側のサーバーに実際にログインするか、リモートデスクトップでログインして行ってください。

1. 管理者権限でPowerShellを開く

2. WinRMを有効にする

下記コマンドを実行してください。

Enable-PSRemoting

WinRMを使うにあたって必要な設定を一括で行ってくれます。
※ファイアウォールの例外TCP 5985が有効になります。TCP 5985はWinRMが使用するポート番号です。

以上で操作される側の設定は完了です。

操作する側

続いて操作する側です。

1. 管理者権限でPowerShellを開く

2. WinRMを有効にする

操作される側とは異なるコマンドを実行します

net start WinRM

3. 操作される側のIPを信頼できるホストとして登録する

TrustedHostsに登録します。

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "操作される側のIP"

以上で操作する側の設定も完了です。
一度設定をすれば次回からは不要です。

使い方

1. PowerShellを開く(管理者権限でなくてOK)

2. セッションを開始する

下記コマンドを実行します。

Enter-PSSession -ComputerName 操作される側のIP -Credential ログイン名

パスワードの入力が求められるので入力してログインします。

これでリモートでコマンドが実行できるようになりました。

3. コマンドを実行する

ここでは試しにipconfigを実行してみます。

ipconfig

接続先のipアドレスが確認できれば、問題なく実行できています。

4. セッションを終了する

使い終わったら、念のためセッションを切りましょう。

Exit-PSSession

または

exit

参考

46
48
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
48

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?