|
[運用] Windowsスクリプティング環境比較:PowerShell vs WSH 3.スクリプト機能の比較(1) Microsoft MVPVisual Developer - Scripting 牟田口 大介 2007/04/12 |
|
|
|
|
WSHとPowerShellの比較:スクリプトの機能面
次に、スクリプト言語の機能の側面から比較してみよう。
比較ポイント「基本的なスクリプトを書くには」
| WSH | [VBScript] 関数の組み合わせ [JScript] 内部オブジェクトの組み合わせ |
| PowerShell | コマンドレットの組み合わせ |
WSHはVBScriptとJScriptで基本的なスクリプトを書く際の方法が異なる。VBScriptでは100種ほどある関数(ある処理を行い、その結果を返すための装置)を組み合わせて基本的なスクリプトを組むことができる。JScriptではさまざまな内部オブジェクト(便利な機能を実現するための道具)のプロパティ(属性)やメソッド(動作)を組み合わせてスクリプトを組む。
それに対しPowerShellでは、コマンドレットと呼ばれる統一化された呼び出し方法を備えた120種以上のコマンドをパイプや変数を通して組み合わせて利用するのが基本的な使い方となる。
ここで、サンプルとしてそれぞれの言語で現在の時間を表示させるスクリプトを取り上げてみよう。
これらのスクリプトはそれぞれ、VBScriptでは拡張子.vbsを、JScriptでは拡張子.jsを、PowerShellでは拡張子.ps1を付けてテキスト形式で保存する。VBScriptとJScriptのスクリプト・ファイルは、エクスプローラ上でダブル・クリックすることで実行可能である。また、PowerShellのスクリプト・ファイルは、デフォルトのスクリプト実行ポリシーでは実行が許可されていないので、PowerShellを実行し、Set-ExecutionPolicyコマンドレットを使用し適切な実行ポリシーを設定する必要がある(以下の実行例を参照のこと。この作業は最初の1回のみでよい)。その後、スクリプト・ファイルのフルパスを入力するか、カレント・ディレクトリをスクリプト・ファイルのあるフォルダにし(これはSet-Locationコマンドレットを用いて行う。エイリアスのcdを使ってもよい)、そこで「.\<スクリプト・ファイル名>.ps1」のように入力し、[Enter]キーを押すと実行される。
■VBScript
|
![]() |
| VBScriptによる実行例 |
|
![]() |
| JScriptによる実行例 |
|
なお、補足となるが、VBScriptの関数で実現していた機能を、PowerShellのコマンドレットで実現するにはどのように記述するかを示したWebページが存在するので参照するのもいいだろう(「Converting VBScript Commands to Windows PowerShell Commands[英語](TechNetサイト)」)。
―――― ◆ ――――
比較ポイント「応用的なスクリプトを記述するには」
| WSH | 使用するクラス・ライブラリはCOM |
| PowerShell | 使用するクラス・ライブラリは.NET FrameworkとCOM |
スクリプト言語の機能だけではカバーできない応用的なスクリプトを書く際、WSHではVBScriptでもJScriptでも、WSHの提供する、あるいはほかのアプリケーション(Internet Explorer、Officeなど)の提供するCOM(部品化されたプログラムを作成・利用するための技術)のクラス・ライブラリ(オブジェクトのひな型となるもの(クラス)が多く含まれたファイル)が持つCOMオブジェクトを利用する。一方PowerShellでは、COMオブジェクトも使用可能なうえ、.NET Frameworkという膨大なクラスを持つクラス・ライブラリを利用し、.NETオブジェクトが使用できる。
ここで、サンプルとしてShift-JIS文字コードで書かれたテキスト・ファイル(C:\test.txt)に、「悪霊退散」という文字列を書き込む例をそれぞれのスクリプト言語で作成してみよう。
■VBScript
|
■JScript
|
■PowerShell
|
スクリプト言語によって使用するオブジェクトやクラス・ライブラリは異なるものの、同様の結果が得られる。オブジェクトの仕様によって使い方が少し異なるが、大まかな流れは同様であるといえる。
| 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」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |









