从所有用户删除UWP应用程序无法正常工作

时间:2019-06-20 17:37:45

标签: c# powershell

我想创建一个小型的C#应用​​程序,该应用程序可以执行某些操作,包括删除Windows 8/10上的内置现代应用程序。当我尝试使用PowerShell命令时,它可以完美运行。在C#中,它也会删除图块,但仅限当前用户使用。

PS中的工作代码:

Get-AppxPackage -AllUsers | Remove-AppxPackage

并且C#中的代码无法按预期工作:

using System.Management.Automation;

namespace RemoveAppxPackages
{
    class RemoveAppxPackages
    {
        static void Main(string[] args)
        {
            PowerShell ps = PowerShell.Create();
            ps.AddCommand("Get-AppxPackage").AddParameter("AllUsers");
            ps.AddCommand("Remove-AppxPackage");
            ps.Invoke();
        }
    }
}

因此,运行PS命令即可完成此工作,即使用户配置文件是在运行命令后创建的,它也会从所有用户中删除这些应用。如果我尝试使用C#,它将正常运行。奇怪的是,由于AllUsers参数,它必须以管理员身份运行,但是看起来它只是忽略了该参数。

0 个答案:

没有答案