首页 > 解决方案 > C# - PowerShell 对象不执行 Remove-AppxPackage

问题描述

应用程序被提升,因此 PowerShell 应该被提升并且能够执行命令。

运行类似的命令echo和其他琐碎的命令可以完美运行。

我正在尝试执行此命令:Get-AppxPackage *3DViewer* | Remove-AppxPackage

当我在具有管理员权限的 PowerShell 控制台中运行它时,它可以正常工作。

                var powerShell = PowerShell.Create();
                powerShell.AddScript(Command);
                var result = powerShell.BeginInvoke();
                if (result.IsCompleted)
                {
                    foreach (var output in powerShell.EndInvoke(result))
                    {
                        Console.WriteLine(output);
                    }

                    this.hadErrors = powerShell.HadErrors;
                }

Command是从文件中获取的字符串,它可以正确读取它。

我也尝试过这样做,认为AddScript可能是问题所在:

                var powerShell = PowerShell.Create();
                powerShell.AddCommand("Get-AppxPackage");
                powerShell.AddArgument("*3DViewer*");
                powerShell.AddCommand("Remove-AppxPackage");
                foreach (var output in powerShell.Invoke())
                    {
                        Console.WriteLine(output);
                    }

在 .NET 4.6.1 上运行

标签: c#.netpowershellc#-4.0cmdlets

解决方案


推荐阅读