|
[運用] Windowsスクリプティング環境比較:PowerShell vs WSH ―― 伝統のWSH 対 先進のPowerShell、どっちを使う? ―― 1.PowerShellのインストールと動作確認 Microsoft MVPVisual Developer - Scripting 牟田口 大介 2007/04/12 |
|
|
|
|
Windowsスクリプティング環境:旧来のWSHと新しいPowerShell
Windowsを使っていて、定型作業を手動で繰り返し行うのは苦行としかいいようがない。例えば大量のファイル群から必要なファイルを探し出し、別のフォルダにドラッグ・アンド・ドロップして、そのファイルをワープロ・アプリケーションで開いて、ある文字列を置換して……、などということを複数のファイルに対して行う必要があり、しかもそれを毎日やらなければならないときたら、キーボードをたたき壊したくなるのではないだろうか?
せっかくコンピュータを使っているのだから、手作業で行ってきたこのような定型作業をコンピュータにやらせたいと思うのが人情だ。幸いにしてWindowsには古くからコマンド・プロンプト上で動作する「バッチ・ファイル」という、一連の動作(アプリケーションを起動したりファイルをコピーしたり文字列を検索したり)を自動化する仕組みが備わっている。
だがバッチ・ファイル単独ではそれほど大したことができないので、さまざまな外部コマンドを併用しないといけないのだが、これらの複雑なコマンドを使いこなすのはなかなか骨が折れる。
|
そこで、もっと習得を容易に、かつ、さまざまなことを実行可能にするために、Windows 98から「WSH(Windows Script Host)」というアプリケーション(実行環境)が搭載されるようになった。これはその名のとおり、スクリプト(Script)を実行する環境を提供するものである。ではスクリプトとは何であろうか? 英和辞書をひもとくと、Scriptという単語には「台本」「脚本」などの日本語訳がされていることが多い。すなわち、定型作業をスクリプト・ファイル(ちなみにこれはプレーンなテキスト・ファイルである)という台本に書き起こし、コンピュータに演じさせる(実行させる)わけである。スクリプトを記述するための言語がスクリプト言語だ。WSHではデフォルトでVBScriptとJScriptという2つの言語が利用可能である。スクリプト言語はプログラミング言語(C、C++、Javaなど)に比べると、文法が平易で習得が容易であるという特徴を持つ。
WSHはVer.1.0からバージョンアップが続けられ、現在Windows XP/Windows Server 2003にはVer.5.6、Windows Vistaには最新版のVer.5.7が搭載されている(OSやサービスパック、パッチの有無によってマイナーな差異は存在するが、基本的には機能は同じである)。だが少し疑問を持たれるかもしれない。Windows XPがリリースされ、先日Windows Vistaがリリースされるまで何年も経過したにもかかわらず、WSHのバージョンはVer.5.6からVer.5.7へとマイナー・バージョンアップにとどまっている。実はWSHは今後メジャー・バージョンアップされない運命にあるのだ。
では今後さまざまな進化を遂げるであろうWindowsに対して、旧来のWSHですべてをカバーしていかなければならないのかというとそうではなく、マイクロソフトは新しいスクリプト実行環境を開発し、先日それを正式リリースした。その名も「Windows PowerShell」(以下、単にPowerShellと表記)という。
PowerShellはその名のとおり、Windowsで動作するシェルの1つである。シェルとはユーザーの入力に対し、その内容を解釈し実行したのち結果を画面に表示するアプリケーションである。Windowsのシェルとしては標準でコマンド・プロンプトが存在しており、システムの管理などに用いられている。しかし、コマンド・プロンプトの内部コマンドや、コマンド・プロンプトから呼び出す外部コマンドの使用方法は、新しいOSがリリースされるたびに複雑化する一方であった。その原因の1つとして、コマンド・プロンプトでは入力も出力も、すべてテキスト(文字列)を扱うことが挙げられる。マイクロソフトはこのような複雑化するテキスト・ベースのシェルとは別に、.NET Frameworkというクラス・ライブラリを使用し、そのオブジェクトを扱うシェルとしてPowerShellを新たに開発した。
そして、コマンド・プロンプトにバッチ・ファイルという自動化の手段が用意されていたように、PowerShellにもスクリプト機能が用意されている。このPowerShellのスクリプトが、WSHの後継になると考えられている。
それならこれからはPowerShell全盛時代になり、WSHはまったく使われなくなるので、WSHを学習せずPowerShellの習得に全力を注ぐべきであると性急に結論を出してはいけない。実は、PowerShellにもいくつか問題点があり、WSHを使用した方がよりよい局面も存在するのだ。本記事では、WSHとPowerShellをさまざまな視点から対比させ、どういう場合にどちらを使えばいいのか、という点を考察してみたい。
PowerShellの入手とインストール
|
本稿ではWSHとPowerShellの対比をメインに扱うが、その前に、簡単にPowerShellのインストール方法と利用方法について解説しておく。PowerShellに関する、より詳しい解説については先のWebページや、関連記事の解説を参照していただきたい。またPowerShellをインストールすると、[スタート]メニューに「リリース ノート」や「はじめに(ファースト ステップ ガイド)」「ユーザー ガイド(PowerShell入門)」「クイック リファレンス(PowerShellランゲージ クイック リファレンス)」が用意されるので、ひととおり目を通しておくとよいだろう(Windows Vistaの場合は「Documents\ua-JP」フォルダの中を参照)。
現在のところ、PowerShellはWindows OS標準のコンポーネントではなく、ユーザーが以下の場所から自分でダウンロードしてシステムにインストールする必要がある。OS別にインストール・パッケージが用意されているので、適切なものをダウンロードしてインストールする(いずれもVer.1.0)。インストールには管理者権限が必要である。
PowerShellは以下の環境にインストールできる。
- Windows XP SP2もしくはWindows Server 2003 SP1以降、Windows Vista
- .NET Framework 2.0以上(Windows Vistaの場合は.NET Framework 3.0があらかじめインストールされているので追加インストールは不要)
必要に応じてService Packや.NET Framework 2.0、もしくは.NET Framework 3.0をインストール後、OSに応じて以下のインストール・ファイルをダウンロードしてインストールしておく。
- Windows XP 用 Windows PowerShell 1.0 インストール パッケージ (ローカライズ版) (KB926140)
- Windows XP x64 Edition 用 Windows PowerShell 1.0 インストール パッケージ (ローカライズ版) (KB926140)
- Windows Server 2003 用 Windows PowerShell 1.0 インストール パッケージ (ローカライズ版) (KB926140)
- Windows Server 2003 x64 Edition 用 Windows PowerShell 1.0 インストール パッケージ (ローカライズ版) (KB926140)
- Windows Vista 用 Windows PowerShell 1.0 インストール パッケージ (KB928439)
- Windows Vista x64 Edition 用 Windows PowerShell 1.0 インストール パッケージ (KB928439)
- Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)
- Microsoft .NET Framework 3.0 再頒布可能パッケージ
PowerShellの動作の確認
PowerShellをインストールすると、[スタート]メニューに[すべてのプログラム]−[Windows PowerShell 1.0]−[Windows PowerShell]という項目が用意されるので、これをクリックしてPowerShellを起動する。
コマンド・プロンプトを開いて作業する場合と同様に、コマンド(PowerShellでは「コマンドレット(Cmdlet)」という)とパラメータを指定して[Enter]キーを押すと実行される。例えば、現在のフォルダにあるフォルダ名とファイル名の一覧を表示するには、Get-ChildItemコマンドレットを実行する。「dir」か「ls」と入力することでも可能である(lsは、UNIX上で動作するシェルにおけるファイル名一覧の表示コマンド)。これらは、Get-ChildItemコマンドレットのエイリアス(別名)である。実際のコマンドレット名は「Get-Alias dir」などとすると確認できる。また利用できるコマンドレットの一覧はGet-Commandコマンドレットで表示できる。またコマンドレットの使い方を調べるには、Get-Helpコマンドレットを用いる。例えばGet-Commandコマンドレットのヘルプを引くには、「Get-Help Get-Command」などとする。ほかにもGet-Commandコマンドレットで引けるヘルプ・トピックスがあるが、その一覧は「Get-Help *」と入力することで得られる。
| INDEX | ||
| [運用]Windowsスクリプティング環境比較:PowerShell vs WSH | ||
| 1.PowerShellのインストールと動作確認 | ||
| 2.アプリケーションとしての比較 | ||
| 3.スクリプト機能の比較(1) | ||
| 4.スクリプト機能の比較(2) | ||
| 運用 |
ホワイトペーパー(TechTargetジャパン)
- 第207話 究極の人事システム (2010/2/9)
部長、わが人事部が開発した究極の人事評価システムがついに完成しました! これで不要な社員が一発で分かります! - WindowsTIPS (2010/2/5)
− netshコマンドでTCP/IPのパラメータを設定する
− Virtual PC 2007の共有NATで利用可能なアドレス範囲
− スタンバイ復帰でパスワード入力を要求されないように - 仮想環境でActive Directoryを利用する (2010/2/4)
仮想環境にADをインストールすれば、自由にActive Directoryドメイン・ネットワークを構築して実験できる - 第206話 バナー広告案 (2010/2/2)
いまどきWebマーケティングが不可欠なのは分かるが、強烈な競合に並べてバナーなんか出して、勝ち目はあるのか?
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |







