更新しました。cmdlet
Visual Studio 2010でC#/。Net4.0を使用してPowerShell3.0を作成しました。正常に動作します。しかし、cmdlet
しばらく時間がかかるので、プログレスバーを追加したいと思います。
MSDNのドキュメントは、WriteProgressCommandについてあいまいです。リンクは次のとおりです:http://msdn.microsoft.com/en-us/library/microsoft.powershell.commands.writeprogresscommand.completed (v = vs.85).aspx
以下のコードは、私がやりたいことを示しています。基本的に、の下でいくつかの処理を行いProcessRecord()
ます。次に、毎秒プログレスバーを更新します。プログレスバーの表示方法がわからない。ヘルプ?
[System.Management.Automation.Cmdlet(System.Management.Automation.VerbsCommon.Get, "StatusBar")]
public class GetStatusBarCommand : System.Management.Automation.PSCmdlet
{
/// <summary>
/// Provides a record-by-record processing functionality for the cmdlet.
/// </summary>
protected override void ProcessRecord()
{
WriteProgressCommand progress = new WriteProgressCommand();
for (int i = 0; i < 60; i++)
{
System.Threading.Thread.Sleep(1000);
progress.PercentComplete = i;
}
progress.Completed = true;
this.WriteObject("Done.");
return;
}
}
// Commented out thanks to Graimer's answer
// [System.Management.Automation.CmdletAttribute("Write", "Progress")]
// public sealed class WriteProgressCommand : System.Management.Automation.PSCmdlet { }