Я разрабатываю программу удаления приложений с помощью Powershell.
Я использую 2 команды:
Удаление для всех пользователей (используя -AllUser): Get-AppxPackage -AllUsers <PackageName> | Remove-AppxPackage-AllUsers
Удалить указанного пользователя: Remove-AppxPackage <PackageName> -User <User SID>
Обе команды я запускаю с помощью пользователя администратор.
Команда 1. работает отлично. Команда 2. не работает, как ожидалось.
Подробности о команде 2.
После запуска 2/ я использую команду Get-AppxPackage <PackageName> -AllUsers
чтобы проверить статус установки приложения. "PackageUserInformation" указанного пользователя [Установлено (ожидает удаления)]. Как на картинке ниже. (Из-за некоторых соображений безопасности я не могу загрузить подробные изображения. Я добавлю изображения позже.)
Я тестировал в 2 средах:
- А) Windows 10 Pro 1909 => Удаление успешно только при входе в систему
этот указанный пользователь
- Б) Windows 10 Pro 2004 => Удаление успешно
когда я запускаю команду 2. и подождите около 15 минут (успех включает
метод А)
У меня есть следующие вопросы:
В случае А. Почему мне нужно снова входить в систему, чтобы иметь возможность удалить?
В случае B, почему я должен ждать 15 минут, пока удаление не будет завершено?
В чем разница между двумя версиями Windows? Есть ли обновление по этой проблеме?
Я думаю, что эта проблема связана с состоянием пользователя (активен или отключен) и разрешением пользователя на доступ C:\Program Files\WindowsApps
. Но я до сих пор не могу найти никаких документов, связанных с этим вопросом.
Потому что при использовании команды 1. (Удалить для всех пользователей) этой проблемы не возникает.
Если возможно, пожалуйста, помогите мне.
Я очень ценю вашу поддержку.
Спасибо.