| Windows Server 2008 R2の真価 ―― 実質新世代サーバOSの真の実力を知る ―― 第3回 進化したPowerShell 2.0
Microsoft MVP |
| 「Windows Server 2008の真価」は、2009年10月に出荷が予定されている、Windows Server 2008の後継OSである、Windows Server 2008 R2の注目機能について解説するコーナーです。 |
Windows Server 2008 R2には、従来から広く利用されているコマンド・プロンプトよりも高機能なシェルである、「Windows PowerShell 2.0」が標準機能として付属している。本稿ではWindows Serverの標準機能となったPowerShell 2.0の概要を述べ、PowerShellがWindows Server管理者にとってどのような変革をもたらすのかについて解説する。なおこのPowerShell 2.0は同時期に出荷が開始されるクライアントOSであるWindows 7でも利用できる。本稿の解説は特に断らない限り、Windows Server 2008 R2でもWindows 7にも適用可能である。なおPowerShellの基本的な機能については以下の記事などを参照していただきたい。
| [参考]従来OS向けのPowerShell 2.0 |
| Windows XPやWindows 2003、Windows Vista、Windows Server 2008向けのPowerShell 2.0の正式版は、2009年10月末に公開された。以下のサポート技術情報内のリンクからダウンロードできる。PowerShell 2.0単体では配布されておらず、「Windows Management Framework Core(WinRM 2.0+Windows PowerShell 2.0)」として配布されている。インストール方法の詳細などは以下のページを参照していただきたい。 ・Description of the Windows Management Framework on Windows XP, Windows Server 2003, Windows Vista, and Windows Server 2008(サポート技術情報) ・Windows XP や Windows Server 2003、Windows Vista は、Windows Server 2008 では、Windows 管理フレームワークの説明[機械翻訳] (サポート技術情報) |
PowerShellが登場した背景
PowerShellはその名のとおり、Windows OS向けのシェルである。シェルという言葉やその機能はUNIXで広く知られるようになったが、OSの核であるカーネルを覆い隠し、ユーザーや管理者がOSを対話的に操作するためのプログラム機能のことである。Windows Serverでは従来から(クライアントOSでも同様だが)、GUI(Graphical User Interface)のシェルであるエクスプローラが主に使われている。ご存じのとおりエクスプローラを用いると、ファイル操作、デスクトップ・アイコンからのプログラムの起動、タスク・バーによるプログラムの切り替えや、コントロール・パネルでの各種設定などがマウス・オペレーションにより可能である。
一方でWindows Serverにはコマンド・プロンプトというCUI(Character User Interface)ベースのシェルも存在している。コマンド・プロンプトそのものはコンソール・アプリケーションであるため、入力も出力もすべて文字列である。つまり、マウス・オペレーションではなくユーザーや管理者はキーボードからコマンドを入力し、結果は文字列で表示される。
Windows Serverを管理する場合、エクスプローラとコマンド・プロンプトを併用するケースが多いのではないだろうか。なぜならば、両者ともメリットとデメリットがそれぞれあるからだ。エクスプローラおよびそこから起動されるGUIアプリケーション(MMCコンソールをベースに動作する管理ツールを含む)を使用した管理は、非常に直感的である。画面に表示されたテキスト・ボックスに文字を入力したり、ボタンをクリックしたりするだけで各種設定が行える。その半面、同様の操作を繰り返す場合は、何度も同じような操作を、繰り返し手作業で行わなければならない。だがコマンド・プロンプトを使えば、このデメリットを補うことができる。コマンド・プロンプトでは繰り返し(反復)処理を行うためのコマンドが用意されているし、一連の操作をテキスト・ファイルであるバッチ・ファイルに記述しておき、必要に応じて記述しておいた操作を繰り返し何度も実行することができる。
さて以上の説明だけだと、Windows Serverは何のスキもない完成された管理機能を持っていると思えるかもしれない。しかし、実際はコマンド・プロンプトにはデメリットがいろいろとある。まず、コマンド・プロンプトから呼び出す各種コマンドが非常に多く存在するうえ、そのコマンド命名規則も、コマンドに付けるオプションもまちまちである(注:コマンドにはコマンド・プロンプトそのものが持つ内部コマンドと、コマンド・プロンプトから実行するコンソール・アプリケーションである外部コマンドが存在するが、利用者側からは普通は意識しないでよい)。そのため、どのようなコマンドが存在し、どのような操作がどのコマンドで実行できるのか、あるいはどういうオプションを付ければどのような変化が現れるのか、などを把握するのが容易ではなく、習熟に時間を要する。また、コマンド・プロンプトで用いるコマンドをあらかじめ記述しておくバッチ・ファイルでは、ごく単純な制御構文しか利用できない。せいぜい、変数の使用、条件分岐、繰り返し、行ジャンプ程度である。これはC#やJavaなどといった一般的なプログラミング言語に比べるべくもなく、同じくOSのシェルであるUNIXシェル・スクリプトに比べても大きく見劣りする。この弱点をカバーするために、Windows ServerにはVBScriptやJScript(Microsoft版JavaScript)といったスクリプト言語を用いて処理を記述できるWSH(Windows Script Host)というプログラムが用意されているものの、これらの言語を用いた場合、複雑な処理は可能になる半面、簡単なことを行うにも多くの記述が必要であるという問題を抱えている。またコマンド・プロンプトのような対話的コンソールの機能もない。
このように、これまではWindows Server管理を円滑に行うためのコマンドライン・シェルには満足のいくものがなかった。そのため、Microsoftはまったく新しい、Windows Serverの管理に特化したシェルとしてPowerShell 1.0を開発した。PowerShell 1.0は2006年にリリースされ、Windows Server用としてはWindows Server 2003版がダウンロードおよびインストールが可能となった。Windows Server 2008ではOSのコンポーネントとして含まれており、サーバー・マネージャから「機能の追加」を行うことでインストールすることが可能である。さらに、いくつかのサーバ製品群(Exchange Server 2007など)にもPowerShell 1.0が同梱され、サーバOSのみならずサーバ製品をPowerShellベースで管理できるようになり始めた。
PowerShell 2.0の登場
しかしながら、PowerShell 1.0が大々的に利用されたかというと、必ずしもそうであるとはいえないのが実際のところではないだろうか。筆者はPowerShellに関する数々の講演や執筆活動を行ってきており、その際に感じたことであるが、PowerShellの認知度はそれほど高くなく、また、実際に使用しているという声もなかなか聞かれなかった。これには主に3つの理由があるためと筆者は考える。というのも、「なぜ使わないのですか?」と聞くと「興味はあるのですが……」というフレーズに続いて、だいたい次のような声が返ってくるからだ。
-
導入に手間が掛かる
PowerShell 1.0はWindows Server 2003ではダウンロードおよびインストールが必要、Windows Server 2008では有効化が必要であり、デフォルトの状態では使用が不可能である。 -
資料が乏しい
ヘルプはコマンドラインからしか取得できず、WSHのようなヘルプ・ファイルがない。 -
導入するメリットを見いだしにくい
わざわざPowerShellを用いなくても、バッチ・ファイルやWSHスクリプトで代替できる。
以上のような理由で、PowerShellを導入、学習するサーバ管理者は少なかったのではないだろうか。
そのような状況の中、PowerShell 2.0がWindows Server 2008 R2およびWindows 7とともに登場することとなる。PowerShell 2.0が1.0と大きく違うのは「OSの標準機能である」という点である。Windows Server 2008 R2をインストールすると、次のようなデスクトップを目にすることとなる。
タスク・バー上のサーバー・マネージャのアイコンとエクスプローラのアイコンの間にあるのがPowerShell(以下、バージョンの表記を指定しない場合は2.0を指すものとする)のアイコンである。このアイコンをクリックすると、PowerShellが起動する。
![]() |
| PowerShellの起動画面 |
| PowerShellアイコンをクリックするとPowerShellのコンソール・ウィンドウがすぐに起動する。 |
このように、Windows Server 2008 R2ではPowerShellはデフォルトですぐに実行可能になっている。これにより、先のデフォルトでインストールされていないという問題は解決している。
また、タスク・バーのPowerShellのアイコンを右クリックすると、これも2008 R2の新機能であるジャンプ・リストによって次のようなメニューが表示される。
![]() |
|||
| PowerShellのジャンプ・リスト | |||
| Windows Server 2008 R2/Windows 7では、タスク・バー上のアイコンを右クリックするとよく使う機能などをまとめた「ジャンプ・リスト」が表示される。 | |||
|
ここに、「Windows PowerShell ヘルプ」という項目があるので、クリックするとグラフィカルなヘルプが表示される。
![]() |
| 「Windows PowerShell のヘルプ」表示 |
| このようにPowerShellにはHTML形式の標準的なヘルプ・ファイルが付属し、いつでも表示可能である。 |
これにより、資料が乏しい(ヘルプが利用できない)という問題も解決された。
さて、一番よく聞かれる意見である「導入するメリットを見いだしにくい」に対する答えであるが、それは次のページから始めるPowerShell の機能紹介から判断していただきたい。
| 【コラム】Windows Server 2008 R2 Server CoreとPowerShell 2.0 | ||
Windows Server 2008およびWindows Server 2008 R2では、エクスプローラではなくコマンド・プロンプトがシェルとなっており、最小限の機能のみ有効化されている「Server Coreインストール」が利用できる。Windows Server 2008 Server CoreではPowerShellの1.0も2.0も利用できないが(これは後述する.NET Frameworkが利用できないため)、Windows Server 2008 R2 Server CoreではPowerShell 2.0を利用できる。ただし、デフォルトでは無効化されているので、次のコマンドをコマンド・プロンプト上で実行して.NET Framework 2.0およびPowerShellを有効化する必要がある。
PowerShellを起動するには、
とする。 |
| INDEX | ||
| Windows Server 2008 R2の真価 | ||
| 第3回 進化したPowerShell 2.0 | ||
| 1.Windows Serverの新しいシェル、PowerShell | ||
| 2.PowerShellの基本について | ||
| 3.PowerShell 2.0の新機能(1)―バックグラウンド処理、リモート機能、モジュール機能 | ||
| 4.PowerShell 2.0の新機能(2)―イベンティング機能、GUI開発環境 | ||
| 更新履歴 | |
|
| 「 Windows Server 2008 R2の真価 」 |
TechTargetジャパン
- 秀丸スタートメニューで[スタート]ボタンを追加する (2013/5/24)
Windows 8では、[スタート]メニューがなく戸惑いを感じている人も多い。そこで[スタート]メニューを追加できる「秀丸スタートメニュー」を紹介する - LLMNRを使ったローカル・セグメント上での名前解決 (2013/5/23)
IPv6のアドレスは128bitもあり、そのままでは扱いづらい。FQDNによる表記からIPv6アドレスを求める名前解決について解説 - 第365話 盛るヒトビト (2013/5/21)
「盛る」。本来よりも増した自分を演出すること。増さないと生きていけないヒトビトによる、果てしない盛り合戦がいまここに - Win 7/8のインストールUSBメモリをdiskpartで作る (2013/5/20)
DVDドライブを搭載しないPCでも、インストール・イメージを格納したUSBメモリからOSのインストールが可能だ。OS標準のdiskpartコマンドによる作成手順を解説
|
|
- TwilioとRailsで作る、電話でテキスト読み上げアプリ
- Java SE 8、Java EE 7、Java Embeddedはどうなる?
- 「Scalr」を使ったAWS管理を試す
- Google I/OでモバイルアプリUXの条件を考えた
- 秀丸スタートメニューで[スタート]ボタンを追加する
- Chrome拡張機能にpush通知をしよう
- データ分析に必要な「道具」を揃える
- 複雑なデータをバインドするには?
- LLMNRを使ったローカル・セグメント上での名前解決
- 「演算子のインジェクション」と「SSJI」
- DNSを使ってネットワークデバイスにホスト名で接続
- 「ポジションが上がる=マネージャ業務」ではない
キャリアアップ
- - PR -
イベントカレンダー
- - PR -
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
「ITmedia マーケティング」新着記事
スマホ vs. タブレット、ユーザーの行動特性から考えるマーケティング戦略
これまで「PC対モバイルデバイス(スマートフォン/タブレット)」という図式で語られる...
リアルワールド、34万人のクラウドソーシングによるソーシャルリスニングサービスを開始
リアルワールドは5月23日、同社が提供する国内最大級のクラウドソーシングサービス「CROW...
Googleアナリティクスでテラバイト級のビッグデータ解析機能を提供――プレミアムユーザー限定
Google BigQueryは、2010年のGoogle I/Oで発表された、大量データセットの解析を実現する...




