SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Power Shellを拡張するコマンドレットの作成

Windows PowerShell 独自コマンドレットの開発

スナップインの開発とPowerShellへの登録

  • X ポスト
  • このエントリーをはてなブックマークに追加

 Windows PowerShellは.NET Frameworkをベースとした非常に強力なシェルです。ただし、独自のコマンドレットを作成し、Windows PowerShellを拡張できることについてあまり知られていないかと思います。今回から数回にわたり、コマンドレットの開発手法について説明します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 Windows PowerShellは.NET Frameworkをベースとした非常に強力なシェルです。ただし、独自のコマンドレットを作成し、Windows PowerShellを拡張できることについてあまり知られていないかと思います。今回から数回にわたり、コマンドレットの開発手法について説明します。

開発環境について

 開発環境はVisual Studio 2005以降(説明はVisual Studio 2008 Professional Edition、言語はVB.NET)を想定しています。

 Microsoft Windows SDKをダウンロードし、インストールしてください。

 また、Windows PowerShellがインストールされていることを前提としています。インストール方法は『Windows PowerShell入門(1) - 基本操作編』を参照ください。

PSスナップイン

 PowerShell用の独自コマンドレットを作成するには、.NET Frameworkを用いてPSスナップインを作成する必要があります。「PSスナップイン」とはPowerShellのプロバイダやコマンドレットを含むファイルのことで、Visual Studioでクラスライブラリとして開発を行います。

 PowerShellにはあらかじめ下記のPSスナップインが登録されており、Get-PSSnapinコマンドレットで確認できます。

PSスナップイン 説明
Microsoft.PowerShell.Core Windows PowerShell のコンポーネントを管理するコマンドレット
Microsoft.PowerShell.Host Windows PowerShell ホストで使用するコマンドレット
Microsoft.PowerShell.Management Windows コンポーネントの管理に使用する管理コマンドレット
Microsoft.PowerShell.Security Windows PowerShell のセキュリティを管理するためのコマンドレット
Microsoft.PowerShell.Utility データの操作に使用できるユーティリティ コマンドレット

新規プロジェクトの作成と初期設定

 はじめにVisual Studioを起動し、新しいプロジェクトの作成で、言語にVisual Basic、テンプレートにクラスライブラリを選択します。ファイル名と場所を入力して[OK]ボタンを押してください(ここではファイル名を「My.PowerShell.Cmdlets」、場所を「C:\Work」とします)。

 プロジェクトを作成すると、デフォルトで「Class1.vb」というファイルが追加されています。まずはこのファイルを削除します。

 次に、PSスナップインを開発する上で欠かせない以下のdllを参照設定に追加します。

追加するdll 参照先
System.Management.Automation.dll C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0
System.Configuration.Install.dll System.Configuration.Install.dll

 上記はWindows PowerShellおよびWindows SDKを既定通りインストールした場合です。必要に応じて適宜読み替えてください。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
コマンドレットクラスの作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Power Shellを拡張するコマンドレットの作成連載記事一覧
この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3191 2008/11/13 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング