Переустановите стандартные пакеты Windows Appx
Мы удаляем большинство пакетов Appx для наших пользователей при развертывании компьютеров под управлением Windows 10. Мы используем что-то вроде этого двухстрочного лайнера, чтобы избавиться от большинства приложений UWP в системах:
# remove the "provisioning" of packages for new users
Get-AppxProvisionedPackage -Online | % { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName }
# delete packages for existing users
Get-AppxPackage -AllUsers -PackageTypeFilter Bundle | % { Remove-AppxPackage -Package $_.PackageFullName -AllUsers }
Теперь, когда мы должны дать пользователям возможность вернуть их, проблема начинается.
Мне не удалось найти работающий метод для повторной регистрации "удаленных" пакетов Appx, которые, кажется, были перемещены в C:\Program Files\WindowsApps\DeletedAllUserPackages
,
Большинство решений в сети используют (Get-AppxPackage).InstallLocation
1 и использовать его для -Register
приложение с помощью Add-AppxPackage. Это не работает для нас - по крайней мере, с 1709 года, Get-AppxPackage -PackageTypeFilter Bundle -AllUsers
возвращает пустой список и звонок без -PackageTypeFilter Bundle
не содержит ни одного из удаленных приложений.
Мои попытки просто использовать C:\Program Files\WindowsApps\DeletedAllUserPackages\<PackageFullName>\AppxManifest.xml
в качестве значения для Add-AppxPackage -Register
не удалось из-за неразрешенных зависимостей.
Но даже если Add-AppxPackage
успешно, это будет только регистрация приложения для текущего пользователя, так как кажется, что отсутствует -AllUsers
параметр. Другие пользователи и потенциальные новые пользователи не смогут установить приложение.
Другие документированные подходы используют Add-AppxProvisionedPackage -Online
от DISM
модуль. Но это видимо нужно .appxpackage
файл, который, кажется, не присутствует в системе.
Для определенных приложений, таких как Microsoft Store, я, очевидно, мог бы использовать исходный образ WIM для переустановки приложения, если бы знал только зависимости, чего я не знаю. Итак, как я могу административно переустановить все приложения, которые я удалил в ходе начальной настройки системы?
1 ответ
Если я не неверно истолковал ответ MVP, который я прочитал пару дней назад на форуме Microsoft, вам придется использовать приложение Store для переустановки встроенных приложений. Вы даже можете сделать это без учетной записи Microsoft.
Но мне интересно, почему вы, кажется, слепо удаляете все подготовленные пакеты и все связанные приложения?
Я имею в виду, с этими двумя строками кода, которые вы используете...
# remove the "provisioning" of packages for new users
Get-AppxProvisionedPackage -Online | % { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName }
# delete packages for existing users
Get-AppxPackage -AllUsers -PackageTypeFilter Bundle | % { Remove-AppxPackage -Package $_.PackageFullName -AllUsers }
... вы удаляете (помимо прочего, что на самом деле не важно):
- Калькулятор
- Просмотрщик фотографий (или изображений)
- Аудиоплеер
- Видео плеер
- MS Paint
- Магазин Windows
- Заметки
- Установщик настольных приложений
Конечно, некоторые спорны, например, MSpaint или заметки. Но зачем удалять просмотрщик фотографий? Почему калькулятор? Если у вас нет альтернативы, я бы не стал их удалять и калечить ваших пользователей. Но поскольку вы хотите предложить им переустановить эти приложения, я полагаю, что вы этого не сделаете.
Другие приложения лучше отключать с помощью объектов групповой политики, например, Store Store. А установщик настольных приложений важен, если вы хотите загружать определенные приложения на вашем предприятии.
Не зная мотивов, я бы сказал, что вы доставляете себе и своим пользователям ненужные хлопоты. Почему бы просто не оставить приложения установленными и, возможно, предоставить своим пользователям возможность их деинсталлировать, а не наоборот? Технически это намного проще.