Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/11/13 14:00

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

目次

はじめに

 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を既定通りインストールした場合です。必要に応じて適宜読み替えてください。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • HIRO(ヒロ)

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

バックナンバー

連載:Power Shellを拡張するコマンドレットの作成
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5