如何在 C# 中捕获 Powershell 终止异常?

How to catch a Powershell terminating exception in C#?

如何在我的 C# 程序中为 cmdlet New-LocalGroup

捕获 Powershell 异常 AccessDeniedExceptionGroupExistsException
        try
        {
            PowerShell ps = PowerShell.Create();
            ps.AddCommand("New-LocalGroup");
            ps.AddParameter("Name", groupName);
            ps.AddParameter("Description", description);

            ps.Invoke();
        }
        catch (Exception ex)
        {
            if (ex is ?)

            throw ex;
        }

到目前为止,我从 Microsoft 文档 here 中得到了这个 link。

New-LocalGroup cmdlet 发出的是非终止 PowerShell 错误(除非您使用无效语法),这确实 转换为 .NET 异常。

相反,它们被写入 PowerShell 的 错误输出流 ,您可以通过 ps.Streams.Error

检查

有关详细信息,请参阅