オブジェクトを出力するカスタムC#PowerShellコマンドレットを作成しました。
[Cmdlet(VerbsCommon.Get, "CustomObj")]
public class CustomObjGet : Cmdlet
{
protected override void ProcessRecord()
{
var instance = CustomObj.Get();
WriteObject(instance);
}
}
使用法:
$output = Get-CustomObj
返されるオブジェクトには次のメソッドがあります。
public class CustomObj
{
public string Name { get; set; }
public static CustomObj Get()
{
var instance = new CustomObj() { Name = "Testing" };
return instance;
}
public void RestartServices ()
{
// Want to WriteProgress here...
}
}
使用法:
$output.RestartServices()
現在のところ、そのメソッドは、Cmdlet自体のProcessRecord()メソッドの場合のように、CmdletWriteProgress関数にアクセスできません。
そのメソッド内からPowerShellWriteProgressを実行したいと思います。どうすればそれができるかについてのアイデアはありますか?