这是我的场景:我有 add-data 和 add-bulkdata cmdlet,它们都是用派生自 C# 编写的pscmdlet
,add-bulkdata 需要一个 csv 文件,并且每一行都输入到 add-data cmdlet。Add-data cmdlet 可能会引发终止异常,如果它确实我不知道如何在 add-bulkdata cmdlet 中接收它,在 bulkdata cmdlet 中我得到一个commandinvocationexception
但它没有ErrorRecord
基础 add-data 设置的那个。此外,如果我查询 pipeline.errors 它没有给我任何信息。
处理这种情况的最佳方法是什么?
我的 Add-BulkdataProcessRecord()
函数看起来像这样:
InitialSessionState initial = InitialSessionState.CreateDefault();
initial.ImportPSModule(new[] { @"C:\mybinary.dll" });
Runspace runspace = RunspaceFactory.CreateRunspace(initial);
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(cmd); //cmd is add-data cmdlet
pipeline.Commands.Add("out-string"); // I have tried with and without this
Collection<PSObject> results = pipeline.Invoke();
Collection<object> errors = pipeline.Error.ReadToEnd();