Windows PowerShellにおけるリモート制御を行うにはセッションについて理解しておくことをお勧めします。
ここでのセッションとは、Window PowerShell がl実行される環境のことを指します。 と言ってもなんだか理解しがたいですね。
通常 PowerShellを起動すると、コマンドを実行できる環境が自動で1つ作成されます(図1)。
普段はここで作業を行っているのですが、これがセッション(PSSessionと呼ばれます)です。
次に、前回紹介した Enter-PSSessionコマンドレットで、リモートマシンに接続してみます。
この場合は、PowerShellの起動時に作成されたセッション(コマンド実行環境)とは別に、リモートマシンと対話をする専用のセッション(リモート上のコマンド実行環境)が作成されます。
つまり、リモート接続専用のPowerShell環境が作成されます(図2)。。
このセッションで実行したコマンドは、リモートコンピュータ上で実行されることになります。
目に見えるPowerShellコンソールは1つですが、内部では2つのPowerShell環境が動いているというわけです
図2 Enter-PSSessionコマンドでリモート接続専用のセッションが作成される
ちなみに、Enter-PSSessionで作成したセッションは一時的なものなので、ExitとするかExit-PSSessionコマンドレットを実行するとリモートセッションは消えます。
*本記事はWindows XPにインストールしたWindows PowerShell 2.0 RCで検証しております。
コメント