前回はインストールについて説明を行ったので、今回は実際にコマンドレットの開発について説明をしたいと思います。
とはいっても全部説明すると長くなるので、今回はプロジェクトの作成方法とPSSnapinクラスについて説明します、
1.Visual Studio 2005を起動し、プロジェクトの作成を行います。
1-1)「新しいプロジェクト」のプロジェクトの種類で、Visual C#(VB.NETでもよい)の中の[Windows PowerShell]を選択
1-2)マイテンプレートで[Windows PowerShell]を選択
1-3)プロジェクト名を入力(ここではSampleCmdletとしました)
1-4)[OK]ボタンを押す
2.ソリューションエクスプローラを見ると、必要な参照設定が行われ、PSSnapin.csというファイルが追加されていることがわかります。
Windows PowerShell Visual Studio 2005 Templateを導入しないと自分で行う必要があります。
3.ソリューションエクスプローラでPSSnapin.csを右クリックし[コードの表示]を選択します。
(PSSnapin.csはダブルクリックでは開くことができません。ダブルクリックすると「デザイナの読み込み時に 1 つ以上のエラーが発生しました。」という画面が表示されますので注意してください)
4.PSSnapinクラスについて
自動で作成された PSSnapin.cs はPSSnapInクラスの派生クラスです。
このクラスによって、インストールとスナップインの登録が可能となります。
Nameプロパティはスナップインの名称
Vendorプロパティは制作者の名前
Descriptionプロパティは、スナップインの説明
を設定します。
NameプロパティとDescriptionプロパティは、スナップイン登録後にGet-PSSnapinコマンドレットで確認することが可能です。
using System;
using System.Collections.Generic;
using System.Text;
using System.Management.Automation;
using System.ComponentModel;
namespace SampleCmdlet
{
[RunInstaller(true)]
public class SampleCmdletSnapIn : PSSnapIn
{
public override string Name
{
get { return "SampleCmdlet"; }
}
public override string Vendor
{
get { return "HIRO's.NET"; }
}
public override string VendorResource
{
get { return "SampleCmdlet,"; }
}
public override string Description
{
get { return "サンプルコマンドレットです"; }
}
public override string DescriptionResource
{
get { return "SampleCmdlet,Registers the CmdLets and Providers in this assembly"; }
}
}
}
次回は、実際のコマンドレット開発手法について説明したいと思います。