Microsoft TechEd Yokohama 2007 総括(6) Windows PowerShell 編 BearCatのモバイルと音楽のある生活

Microsoft TechEd Yokohama 2007 総括(6) Windows PowerShell 編のページです。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--年--月--日 トラックバック(-) コメント(-)

Microsoft TechEd Yokohama 2007 総括(6) Windows PowerShell 編

Microsoft Tech・Ed Yokohama 2007

今回の TechEd で唯一、既存技術について受けたセッションが PowerShell です。
といっても、Windows Server 2008 から実装される技術だと思って聴きにいったのですが...
勉強不足を痛感しました。

PowerShell は一見すると、コマンドプロンプトとあまり変わりありません。
違いといえば、プロンプトに『PS』のプリフィクスがついているところでしょうか。

■コマンド プロンプトとの違い

これまでコマンド プロンプトで利用していたコマンドがそのまま利用できるのはもちろんですが、COMコンポーネントを利用することもできます。
デモで見せていただきましたが、コマンドの結果をメモ帳や IE に出力することもできます。その気になれば、EXCEL コンポーネントを利用して EXCEL に出力することも可能でしょう。

PowerShell は .NET Framework 上で動作しており、コマンドの戻り値は常にオブジェクトになるそうです。
つまり、.NET Framework クラス ライブラリを呼び出すことにより、その強力な機能を利用することができます。

また、PowerShell は強力なパイプライン機能を持っています。
セッションでは、フォーマット コマンドにより、出力書式をリスト形式やテーブル形式で出力するデモを見せていただきました。

■シェル スクリプト

UNIX では bash をはじめとした強力なシェルが用意されており、さらにそのシェルを用いたスクリプトを利用することができました。

Windows 系 OS ではMS-DOS の時代から代わり映えしない BAT ファイルによるスクリプトと、WindowsNT 4.0 と同時期に発表された Windows Scripting Host( WSH )が主流です。
BAT ファイルによるスクリプトは、言語機能というにはあまりにショボい条件分岐が実装されている程度で、複雑な処理を行うには向いていません。
VBScript が利用できる WSH ではバッチ処理を行うのに十分な機能を持っていますが、シェルとの互換性はありません。
コマンド プロンプトで入力していた処理を、思い立って自動化しようとした場合は、BAT ファイルを作成するしか方法がなかったのです。

PowerShell では、入力した処理をそのままスクリプトとして実行することができます。
入力内容を記録してスクリプトを作成する機能も実装されているそうなので、手間もかなり省けます。
強力な言語機能を持っていますので、制御に困る局面は少ないでしょう。

■拡張性

PowerShell では、コマンド プロンプトのコマンドにあたるものを『コマンドレット』と呼ぶそうです。

元々用意されているコマンドレットも強力ですが、ユーザが自ら拡張することも可能だそうです。.NET Framework ベースなので、開発もそれほど敷居が高くないでしょう。
自ら開発しなくても、codeplex などのサイトにコマンドレットが公開されているそうなので、要件があえばそれらを利用する手もあるでしょう。

また、今後は Microsoft の Server 製品の管理モジュールとして、コマンドレットが提供されるそうです。
このセッションで面白いデモを見せていただきました。
Exchange Server 2007 の 管理ツール(GUI ベース)の処理がコマンドレットを呼び出す形で実装されており、ウィザードでメールアカウントを追加した作業を PowerShell のスクリプトに落とし、多少修正してメール アカウントを登録するスクリプトに仕上げていました。

このデモを見ただけでも、今後、作業の自動化を行うには非常に強力な手段になることは理解できました

■セキュリティ

PowerShell のセキュリティは以下の4段階に分かれているそうです。
・対話形式のみ、スクリプトは実行不可(デフォルト)
・スクリプトの実行には、信頼された発行元による署名が必要
・"インターネット ゾーン"のスクリプトの実行には、信頼された発行元による署名が必要
・全てのスクリプトが実行可能(ただしリモートの場合は警告を表示)

セッションでは、以下のような運用がより安全性が高いことを説明していました。
(1) 開発機では署名が不要な設定にしておく
(2) 本番機では署名が必要なように設定しておく
(2) 開発機でのテストが終わったら署名し、本番機へリリースする
おっしゃるとおりです。
まあ、社内のサーバ運用では"インターネット ゾーン"のみ署名が必要な設定にしておけばいいかなぁ。



TechEd から戻って、速攻で会社と自宅の開発環境に PowerShell を入れてみました。
ダウンロード サイズは1.7MBと非常にコンパクトです。
一緒にインストールされる『ユーザ ガイド』に詳しい使い方が書かれているので、これから首っ引きで使ってみる予定です。

一通りの使い方は是非覚えたいですね。
万が一、覚えられなくても、コマンド プロンプト代わりに使えますしね。
スポンサーサイト

2007年08月31日 トラックバック(0) コメント(0)












管理者にだけ公開する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。