Hey, Scripting kiddy! は皆様のPCを通じた悩みなどをScript kiddyのスクリプトで解決しようという企画です。

Script kiddyさんが色んな人の悩みをスクリプトで解決していく様はまさに痛快。関係のない無駄話も彼の魅力の一つです。

※注
これは、Microsoftがやっている「Hey,scripting guy!」のパクリ企画です。

公開日:2008.07.14

**とはさみは使いよう

Hey, Scripting kiddy! は皆様のPCを通じた悩みなどをScript kiddyのスクリプトで解決しようという企画です。

今朝メールボックスを開けるとたくさんのメッセージが入っていました。 「何故最近Perlでコードを書くのですか?VBSではできないということですか?」 「Pythonを使うとVBSが使いにくくて仕方ありません。助けてください。」 「Pert8まではほぼ毎日の様に記事を書いておいて、何ヶ月も次の記事を書かないのはネタが尽きたからですか?」 「XBox360は日本市場で負け犬というのは本当ですか?」 「今日は何色のパンツを履いているのですか?」 「完全無料、出会い系サイ(省略)」

Script kiddyは衝撃を受けました。こんなにもVBSに興味を持っている人が居ることに、そして何より、「ネタが尽きたのか」という正確でかつ鋭く、 Script kiddyの心に突き刺さる意見にScript kiddyは深く反省し、無料出会い系サイトに登録することを心に決めました。

さて、果たしてVBScriptは使いにくいのでしょうか。Script KiddyはMicrosoft製品を良く使いますが、これほど管理が容易なクライアントOSは他にないと思います(※1)。その中心にあるのはCOM+ です。COM+はすべてのWindowsクライアントに実装されていて、ネットワーク越しのクライアントもローカルコンピュータのように扱うことができるサービスです(※2)。 そしてVBScriptはCOM+を自然に扱えるように考えて作られていて、Windowsクライアントをスマートに、柔軟に管理するという目的に適しています。 PerlやPythonでCOM+を扱うには面倒で小難しい手続きが必要ですが、VBScriptはスマートに書くことができます。

パート5のネットワークコンピュータへのアクセスを例にすると:

Set oFS = CreateObject("WScript.Network")

この一行で、ネットワークプリンタやネットワークドライブを管理することができるのです。

いかがでしょうか。VBScriptは何であるのか、何でないのか、わかって来たと思いませんか?何も感じませんか?Atomic Fireballs Candy(※3)を舐めてもう一度考えましょう。 それだけではわかりにくいかもしれないので、表にまとめてみました。(※4)

書きやすさ 読みやすさ クールさ COM+さ
Python
perl △/×*
XBox360 ◎**
PS3 ×
VBScript

* : 2008/7/1現在、ActivePerl 5.10.xでは非サポート
** : 多分これは×を意味しています。

Script Kiddyは以前に言った事を忘れていました。権限について、少し説明しましょう。

権限にはWindows認証における権限と、COM+上での権限の2種類が存在します。

1つ目はスクリプトを実行するユーザが持っている権限です。 スクリプトを起動したとき基本的にすべてユーザの権限で動作します。WMIもユーザ権限に基づいて処理されます。

2つ目はCOM+上で定義されている権限です。 たとえ管理者がスクリプトを起動しても、COM+オブジェクトを取得した直後は最小のセキュリティで動作します。 必要な機能を得るにはCOM+上の手続きを経て特権(ロール)を取得しなくてはなりません。特権はそれぞれのユーザの権限に基づいて割り当てが許可されます。(※5) ちなみにScript kiddyがスクリプトに書くような用途では登場しないことが分かったのであまり気にすることはありません。

さて、いかがでしょうか。COM+の記事によってScript kiddyはまだWindowsの世界について少ししか知らないということを思い知りました。 この反省を胸にScript kiddyは旅に出ます。いつの日か帰ってきたときにはScript Masterとなっているでしょう。またいつかここで記事を書けることを祈りつつ・・・

※1 あなたはVBScriptの記事を書くのに「嫌い」だなんて言えますか
※2 COM+に興味がわきましたか?このあたりが参考になると思います
※3 頭がさえるキャンディーです。COSTCOで購入できます
※4 これはガートナージャパンの調査結果に基づいているとScript Kiddyは信じています
※5 ロールベースセキュリティと呼ばれます


※注 これは、Microsoftがやっている「Hey,scripting guy!」のパクリ企画です。 ご意見、ご要望はお問い合わせよりお願いします。