※当サイトは、アフィリエイト広告を利用しPRを含みます。

技術系

Powershellでリモート実行コマンドログイン・batを動かす

WindowsOSに対してリモートでPowerShellを使用しアクセスする方法・batを実行する方法をご紹介します。ほぼ自分メモなので見づらいこともあるかもしれません。

 

Powershellのリモート接続準備

WinRMを有効にする

接続先で実施

接続先で次のコマンドを実行します。

 

次のメッセージが出ればOK!

WinRM サービスは、既にこのコンピューターで実行されています。
このコンピューター上でのリモート管理には、WinRM が既に設定されています。

 

環境によって有効にするかのメッセージが出る場合もあります。

WinRM は、管理用にこのコンピュータへのリモート アクセスを許可するように設定されていません。
次の変更を行う必要があります。

このコンピュータ上のあらゆる IP への WS-Man 要求を受け付けるため、HTTP://* 上にWinRM リスナを作成します。
WinRM ファイアウォールの例外を有効にします。

変更しますか [y / n]?  y

WinRM はリモート管理用に更新されました。

 

WinRMが実行されていなければ、接続先で次のコマンドを実行します。

 

*エラーが発生した場合、ネットワーク設定が「プライベート」でないか確認してください。
ネットワークの設定を変更するか、次のコマンドを実行します。

 

 

接続で実施

接続元で次のコマンドを実行します。

 

次のメッセージが出ればOK!

WinRM サービスは、既にこのコンピューターで実行されています。
このコンピューター上でのリモート管理には、WinRM が既に設定されています。

 

環境によって有効にするかのメッセージが出る場合もあります。

WinRM は、管理用にこのコンピュータへのリモート アクセスを許可するように設定されていません。
次の変更を行う必要があります。

このコンピュータ上のあらゆる IP への WS-Man 要求を受け付けるため、HTTP://* 上にWinRM リスナを作成します。
WinRM ファイアウォールの例外を有効にします。

変更しますか [y / n]?  y

WinRM はリモート管理用に更新されました。

 

接続元でも先ほどのコマンドを実行してWinRMを有効にします。

 

WinRMを有効にすると、ファイアウォールの5985番ポートがオープンします。

 

TrustedHostsを設定する

WinRMでは接続元から見て、接続先が「信頼できるホストである」ことが必要です。
Active Directory配下にどちらのホストも存在する場合は問題ないのですがワークグループ環境などでは次のコマンドを用いて個別に接続先のホストを信頼してあげる必要があります。

接続元のホストから次のコマンドを実行してください。

 

実行すると次のようなメッセージが表示されますから,Yを入力して続行します。

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

 

複数のホスト名やIPアドレスを設定する場合

 

すべてのホストを信頼する場合

 

★おすすめのコマンド(-Forceを付けて強制実行)

 

 

現在設定されているTrustedHostsを確認

 

 

設定されているTrustedHostsをすべて消去

 

これで接続前の準備は完了です(2回目以降は行う必要はありません)。

 

セッションを開始する

次のコマンドにより,リモートマシンへの接続を開始します。コマンド実行後にパスワードを入力するダイアログが開きます。

 

以降ローカルマシンと同様にリモートコンピュータ上でPowerShellによる操作を行うことができます.

 

セッションを終了する

セッションを終了する場合は次のコマンドを実行します。

 

 

リモートでbatを実行する

パスワードを変数に格納し、コマンドを作り、Invokeコマンドで実行するだけ。

 

 

終わりに

本番環境のサーバだとリモートデスクトップで気軽に入れないことがあるんですよね。

現場次第ですが、Powershellなら許可されることもあるので、情報収集するようなbatを仕込んでおいてそれをリモート実行するなら許可される場合があります。

実行する際はコマンドを間違えないようにおなしゃす!


社畜系インフラエンジニアブログのTOPへ戻る

コメントもらえたら泣いて喜びます!
  • この記事を書いた人
  • 最新記事

kanade

IT関連の仕事に従事し気付けば20余年。好きな言葉は「よくわからないけど動いてる」です。どうにかして生き残りたいアラフォーのIT系エンジニア。

-技術系
-

© 2024 インフラエンジニアブログカナデ