Я хотел бы создать небольшое приложение на 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, но, похоже, он просто игнорирует этот параметр.