[運用] Windowsスクリプティング環境比較:PowerShell vs WSH 4.スクリプト機能の比較(2) Microsoft MVPVisual Developer - Scripting 牟田口 大介 2007/04/12 |
|
|
比較ポイント「WMIの呼び出しは?」
WSH | × WMIの呼び出しが面倒 |
PowerShell | ○ WMIの呼び出しが容易 |
WindowsにはWMI(Windows Management Instrumentation)という、ソフトウェアやハードウェアを統一的に管理するための機能が存在する。WSHではWMIのCOMオブジェクトのコレクション(オブジェクトの集合)から構文を使ってそれぞれのオブジェクトを取り出し、必要なプロパティを取り出す、という煩雑な手順を踏むのが基本的な使い方だが、PowerShellにおいてはGet-WMIObjectというコマンドレットを使うことで、わずか数行で記述することができる。ここではシステムに含まれるディスク・ドライブ群の容量を列挙するスクリプトを組んでみよう。
■VBScript
|
VBScriptによる実行例 |
■JScript
|
JScriptによる実行例 |
■PowerShell
|
PowerShellによる実行例 |
WSHのVBScriptやJScriptのコードに比べると、PowerShellのコードがシンプルで簡潔なことがお分かりいただけると思う。
■
このほかにもWSHではCOMオブジェクトを呼び出さないとファイルシステムやレジストリにアクセスできないが、PowerShellではそれぞれファイルシステム・プロバイダ、レジストリ・プロバイダが提供するコマンドレットを組み合わせることで容易にアクセスが可能だ。
WSHとPowerShell、どちらを使うべきか?
ここまでの比較を振り返ってみると、現状ではアプリケーションの使い勝手としてはWSHが、スクリプト言語の機能面ではPowerShellが優位になると考えて差し支えないだろう。使い分けの決め手となるのは、システムにPowerShellなどを追加インストールできるか否かにかかっているといえるかもしれない。WSHならばどこででも動作するが、PowerShellはそうではないからだ。
将来性に関していうと、WSHは今後セキュリティ対策やバグフィックスなどのためのマイナー・アップグレードのみにとどまり、メインとなる機能はさほど変化しないと考えられる。ある意味「枯れた」「安定した」環境である。あくまで予想だが、WSHはWSHで今後も長く使われるのではないかと思う(コマンド・プロンプト上で動作するバッチ・ファイルすらいまだ現役のところもあるくらいなのだから)。一方、PowerShellはまだリリースされたばかりで、今後さまざまな発展が予想される。また、さまざまな製品に、カスタマイズされたPSスナップイン(PowerShellを拡張するためのファイル。PSプロバイダやコマンドレットを含む)が同梱される予定である(Exchange Server 2007など)。
また応用面に関していうと、WSHを学習することでVBScriptなら文法が似ているプログラミング開発言語であるVB.NETやマクロ言語であるOffice VBAなどへの移行もスムーズに行えるであろう。JScriptは最近のWebページで流行しているAJAXの構成言語であるJavaScriptと互換性があるので、こちらも覚えたことは無駄にならないだろう。また、VistaではWindows サイド・バーにガジェットと呼ばれる小さなプログラムを配置できるが、その記述言語はVBScript、JScript(JavaScript)である。すなわちWSHを覚えることで、最新技術に対してもさまざまな応用が利くといえる。その点に関してはPowerShellも同様で、PowerShellを学習すると、.NET系言語(VB.NET、C#など)が使用する.NET Frameworkに精通することができるという利点がある。
これらを踏まえると、これからWindowsで動作するスクリプト言語を学ぼうとする方には、WSHとPowerShell、どちらを選んでもそれぞれメリットがあるので、筆者としては「こちらがお薦め!」とはいいにくいところがある。本音をいえば「両方お薦め!」である。ぜひとも、どちらの環境にも触れてみていただきたい。また、WSHをすでに使われている方は、ぜひ新しい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をインストールしてみる
|
|