SHOEISHA iD

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

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

PowerShell 2.0の新機能

PowerShell 2.0の新機能(1)
――ファーストインプレッション

PowerShell 2.0の概要

  • このエントリーをはてなブックマークに追加

 Windows 7やWindows Server 2008 R2からOSの標準機能として搭載されることになった「PowerShell 2.0」。本連載では、PowerShell 2.0で追加された新機能についてスポットを当て、その使い方について説明していきます。今回は、新しく追加された機能の概要について説明します。

  • このエントリーをはてなブックマークに追加

はじめに

 「Windows PowerShell」は、.NET Frameworkをベースとしたスクリプト&シェル環境です。2009年10月22日に発売されたWindows 7から標準でWindows PowerShell 2.0が搭載されることになりました。2006年11月に登場したPowerShell 1.0以来、約3年の歳月をかけて大幅に進歩したバージョンです。

 本連載では、PowerShell 2.0の新機能にスポットをあて、何回かに分けて紹介していきます。今回は、新機能の概要について説明します。

対象OSとインストール

 Windows PowerShell 2.0が標準搭載されているOSは、Windows 7とWindows 2008 R2です。それ以外ではWindows XP以降のOSで使用することができます。

 参考までに、ダウンロード先リンク(表1)を示しますので、必要環境に合わせてダウンロードし、インストールを行ってください。

 またWindows PowerShell 2.0はWindows PowerShell 1.0とは共存できません。最初にWindows PowerShell 1.0をアンインストールしてからインストールを行うようにしてください。

互換性

 PowerShell 2.0には下位互換性があり、PowerShell 1.0用のコマンドレット、プロバイダー、スナップイン、スクリプト、関数などを使用できます。これまでPowerShell 1.0を使用してきたユーザーは、過去の資産を活用できるため、安心して移行することができます。またこれからPowerShellを使用してみようと思っている方は、PowerShell 1.0向けに書かれた多くのリソースが役に立つことでしょう。

統合開発環境

 PowerShell 2.0では統合開発環境である「Windows PowerShell ISE」が標準で提供されています。専用の開発環境であり、スクリプトのキーワード色分け機能やデバッガも搭載しています。

 Windows PowerShell ISEの詳細については下記の別稿を参照してください。

コマンドレット

 PowerShell 1.0ではコマンドレットの数が129でしたが、PowerShell2.0では236と大幅に増えました。ここで、Get-Commandコマンドレットを使用してコマンドレットの一覧を表示してみましょう。

PS> Get-Command

 PowerShell 1.0を使用したことがある方であれば気付いたと思いますが、Get-Commandの動作が変更されました。 PowerShell 1.0では Get-Command と入力するだけで、コマンドレットの一覧を取得することができたのですが、PowerShell 2.0ではFunctionやAliasまで表示されます。

 コマンドレットのみの一覧を表示させたい場合は-CommandTypeパラメータにCmdletを指定し実行します。

PS> Get-Command -CommandType Cmdlet

 このように、コマンドレットによってはPowerShell1.0と動作が異なるものもありますので注意が必要です。

リモート処理

 PowerShell 2.0では1台または複数台のリモートコンピューターに対してコマンドを実行することができます。またTelnetのようにリモートコンピューターと対話しながらコマンドを実行することもできるようになりました。リモート処理を行うコマンドレットには表2に示すものがあります。

表2 リモート処理用コマンドレット
コマンドレット 説明
Enter-PSSession リモート コンピューターと対話型のセッションを開始する
Exit-PSSession リモート コンピューターとの対話型のセッションを終了する
Export-PSSession 別のセッションからコマンドをインポートし Windows PowerShell モジュールに保存する
Get-PSSession 現在のセッションの Windows PowerShell セッションを取得する
Import-PSSession 別のセッションのコマンドを現在のセッションにインポートする
New-PSSession ローカル コンピューターまたはリモート コンピューターへの固定接続を作成する
Remove-PSSession 1 つ以上の Windows PowerShell セッションを閉じる

 また、いくつかのコマンドレットには-ComputerNameパラメータが追加されました。これにより、コンピューター名を指定してコマンドレットを実行することができます。-ComputeNameパラメータを持つコマンドレットには表3に示すものがあります。

表3 ComputerNameパラメータを持つコマンドレット一覧
Clear-EventLog Connect-WSMan Disconnect-WSMan Enter-PSSession Get-Counter
Get-EventLog Get-HotFix Get-Process Get-PSSession Get-Service
Get-WinEvent Get-WmiObject Get-WSManInstance Invoke-Command Invoke-WmiMethod
Invoke-WSManAction Limit-EventLog New-EventLog New-PSSession New-WSManInstance
Receive-Job Register-WmiEvent Remove-EventLog Remove-PSSession Remove-WmiObject
Remove-WSManInstance Restart-Computer Set-Service Set-WmiInstance Set-WSManInstance
Show-EventLog Stop-Computer Test-Connection Test-WSMan Write-EventLog

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
バックグラウンドジョブ

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

  • このエントリーをはてなブックマークに追加
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/4624 2009/12/08 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング