Windows PowerShell コマンドレットの作成
WEB キャスト
このデモの内容
ここでは、稼働中のプロセス情報の一覧を取得する簡単な Windows PowerShell のコマンドレットを作成することで、その手順をご紹介していきます。
このデモで使用している Windows PowerShell Visual Studio 2005 Templates は、以下のサイトから入手可能です。
(デモでは Visual Studio 2005 を使用していますが、Visual Studio 2008 でも作成/動作させることができます)
Channel9 Forums 「Windows PowerShell Visual Studio 2005 Templates (C# and VB.NET)」 (英語)
デモでご紹介しているソースコード
【カスタムのスナップインクラスの実装 (C#)】
using System;
using System.Collections.Generic;
using System.Text;
using System.Management.Automation;
using System.ComponentModel;
namespace MyShell1
{
[RunInstaller(true)]
public class MyShell1SnapIn : PSSnapIn
{
public override string Name
{
get { return "MyShell1"; }
}
public override string Vendor
{
get { return "Microsoft"; }
}
public override string VendorResource
{
get { return "MyShell1,Microsoft"; }
}
public override string Description
{
get { return "Registers the CmdLets and Providers in this assembly"; }
}
public override string DescriptionResource
{
get { return "MyShell1,Registers the CmdLets and Providers in this assembly"; }
}
}
}
【カスタムのPowerShellコマンドレットクラスの実装 (C#)】
using System;
using System.Collections.Generic;
using System.Text;
using System.Management.Automation;
using System.Collections;
namespace MyShell1
{
[Cmdlet(VerbsCommon.Get, "MyGetProc", SupportsShouldProcess = true)]
public class MyGetProc : PSCmdlet
{
#region Parameters
/*
[Parameter(Position = 0,
Mandatory = false,
ValueFromPipelineByPropertyName = true,
HelpMessage = "Help Text")]
[ValidateNotNullOrEmpty]
public string Name
{
}
*/
#endregion
protected override void ProcessRecord()
{
try
{
WriteObject(System.Diagnostics.Process.GetProcesses(), true);
}
catch (Exception)
{
}
}
}
}
|