永続的なセッションの作成と削除
永続的なセッションを作成するにはNew-PSSessionコマンドレットを使用します。このコマンドレットを使用すると、作成したセッションを変数にしまうことができ、必要なときに使用することができるようになります。
New-PSSessionの基本構文は次の通りです。
変数 = New-PSSession -ComputerName コンピュータ名[ , コンピューター名 [,コンピュータ名]...]
例えば、New-PSSessionコマンドレットを使用して、HIRO-WIN7というリモートコンピュータとのセッションを作成するには
$sess = New-PSSession -ComputerNamer HIRO-WIN7
とします。正常にPSSessionが作成された場合は、図6のようにセッション情報が表示されます。
セッション情報は左から、セッションを特定するユニークなId、セッション名、セッションが作成されているコンピューター名、ステータス、コンフィギュレーション名、アベイラビリティ、です。
このセッション情報は、Get-PSSessionコマンドレットでも確認することができます(図7)。
Get-PSSessionを使用して、特定のコンピューターのセッションを取得する場合は、次の構文を使用します。
Get-PSSession -ComputerName コンピューター名
作成したセッションを削除するにはRemove-PSSessionコマンドレットを使用します。構文は複数ありますが、代表的な3つを挙げておきます。
#コンピューター名によるセッション削除 Remove-PSSession -ComputerName コンピューター名 #セッションIDによるセッション削除 Remove-PSSession -Id セッションID #セッション名によるセッション削除 Remove-PSSession -Name セッション名
セッションIdが1のセッションを削除するには、図8に示すように
Remove-PSSession -Id 1
とします。
作成したセッションでコマンドを実行する
作成したセッションでコマンドを実行するには、Invoke-Commandコマンドレットを使用します。構文は次の通りです。
Invoke-Command -Session 接続するセッション -ScriptBlock {実行するコマンド}
一連の流れで、コマンドを実行してみましょう
#リモートコンピューターにセッションを作成
$sess = New-PSSession -ComputerNamer HIRO-WIN7
#セッションを使用してコマンド(Get-Date)を実行
Invoke-Command -Session $sess -ScriptBlock {Get-Date }
#セッションの削除
Remove-PSSession -Session $sess




