PowerShell Snapインの作成と使用
=====================================================
PowerShell には、モジュール、Snapイン、およびプロファイルを通じて機能を拡張する方法が幾つあります。この記事では、PowerShell Snapインの作成と使用について説明します。
PowerShell Snapインとは?
Snapインは、PowerShell にロードされたコマンド(Cmdlet)集合で、追加の機能を提供します。モジュールとは異なり、Snapインはよりrobustで、Windows シェルとのインタラクションが可能です。
Custom PowerShell Snapインの作成
Custom PowerShell Snapインを作成するには、以下の手順に従ってください。
Step 1: 新しいディレクトリーを生成
新しいディレクトリーを作成してSnapインのroot ディレクトリーとする必要があります。
mkdir MySnapin
cd MySnapin
Step 2: マニフェストファイル(MySnapin.dll-manifest.xml)を生成
マニフェストファイルは、Snapインとその内容を定義するために使用します。手動で作成したり、PowerShell-SnapinManifest モジュールの New-SnapinManifest cmdlet を使うことができます。
以下に、マニフェストファイルの例を示します。
<?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1">
<name>MySnapin</name>
<filename>MySnapin.dll</filename>
<dll>
<class>MySnapin.Cmdlets.MyCmdlet, MySnapin</class>
</dll>
</assembly>
Step 3: DLL ファイル(MySnapin.dll)を生成
DLL ファイルには、Cmdlet が含まれる必要があります。手動で作成したり、Add-Type cmdlet を使って Cmdlet を定義することができます。
以下に、DLL ファイルの例を示します。
# MyCmdlet.cs
using System;
using System.Management.Automation;
public class MyCmdlet : PSCmdlet
{
[Parameter(Mandatory = true)]
public string InputString { get; set; }
protected override void ProcessRecord()
{
WriteObject("You entered: " + InputString);
}
}
Step 4: Snapインを登録
Snapインを登録するには、以下のコマンドを実行してください。
# Install-Snapin : The term 'Install-Snapin' is not recognized as the name of a cmdlet, function, script, or operable program.
# Check the spelling of the name, or if a file exists with that name, you can try to open it from this location.
Get-Command -Module PowerShell -Name Install-Snapin | Out-Null
Install-Snapin -Path MySnapin.dll -PassThru
Step 5: Snapインをロードと使用
Snapインをロードし、使用するには、以下のコマンドを実行してください。
# You can now use your cmdlets in PowerShell.
Get-Command -Module MySnapin | Format-Table -AutoSize
MyCmdlet -InputString "Hello, World!"
Custom PowerShell Snapインの使用
Snapインを作成し、登録した後は、以下のように使うことができます。
Step 1: Snapインをロード
Snapインをロードするには、以下のコマンドを実行してください。
# You can now use your cmdlets in PowerShell.
Get-Command -Module MySnapin | Format-Table -AutoSize
Step 2: SnapインのCmdlet を使用
SnapインのCmdlet を使用するには、以下のように実行してください。
# You can now use your cmdlets in PowerShell.
MyCmdlet -InputString "Hello, World!"
And you’ll see the output: You entered: Hello, World!
まとめ
この記事では、PowerShell Snapインの作成と使用について説明しました。Snapインを作成するには、マニフェストファイル、DLL ファイルを生成し、Snapインを登録した後、ロードして使用する必要があります。
PowerShell には、モジュール、Snapイン、およびプロファイルを通じて機能を拡張する方法が幾つあります。Snapインを作成することで、PowerShell の機能をさらに拡張することができます。