SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

PowerShell 2.0の新機能

PowerShell 2.0の新機能(2)
――リモート処理編

PowerShell 2.0のリモート処理

永続的なセッションの作成と削除

 永続的なセッションを作成するにはNew-PSSessionコマンドレットを使用します。このコマンドレットを使用すると、作成したセッションを変数にしまうことができ、必要なときに使用することができるようになります。

 New-PSSessionの基本構文は次の通りです。

変数 = New-PSSession -ComputerName コンピュータ名[ , コンピューター名 [,コンピュータ名]...]

 例えば、New-PSSessionコマンドレットを使用して、HIRO-WIN7というリモートコンピュータとのセッションを作成するには

$sess = New-PSSession -ComputerNamer HIRO-WIN7

とします。正常にPSSessionが作成された場合は、図6のようにセッション情報が表示されます。

 セッション情報は左から、セッションを特定するユニークなId、セッション名、セッションが作成されているコンピューター名、ステータス、コンフィギュレーション名、アベイラビリティ、です。

図6 New-PSSessionコマンドレット
図6 New-PSSessionコマンドレット

 このセッション情報は、Get-PSSessionコマンドレットでも確認することができます(図7)。

図7 Get-PSSessionコマンドレット
図7 Get-PSSessionコマンドレット

 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

とします。

図8 Remove-PSSessionコマンドレット
図8 Remove-PSSessionコマンドレット

作成したセッションでコマンドを実行する

 作成したセッションでコマンドを実行するには、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
図9 セッションの作成~削除
図9 複数セッションの作成~削除

次のページ
複数のセッションを作成する

この記事は参考になりましたか?

PowerShell 2.0の新機能連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4709 2010/01/14 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー