[運用] 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) | ||
運用 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|