Переустановите стандартные пакеты 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).InstallLocation1 и использовать его для -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 как здесь или здесь

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 }

... вы удаляете (помимо прочего, что на самом деле не важно):

  1. Калькулятор
  2. Просмотрщик фотографий (или изображений)
  3. Аудиоплеер
  4. Видео плеер
  5. MS Paint
  6. Магазин Windows
  7. Заметки
  8. Установщик настольных приложений

Конечно, некоторые спорны, например, MSpaint или заметки. Но зачем удалять просмотрщик фотографий? Почему калькулятор? Если у вас нет альтернативы, я бы не стал их удалять и калечить ваших пользователей. Но поскольку вы хотите предложить им переустановить эти приложения, я полагаю, что вы этого не сделаете.

Другие приложения лучше отключать с помощью объектов групповой политики, например, Store Store. А установщик настольных приложений важен, если вы хотите загружать определенные приложения на вашем предприятии.

Не зная мотивов, я бы сказал, что вы доставляете себе и своим пользователям ненужные хлопоты. Почему бы просто не оставить приложения установленными и, возможно, предоставить своим пользователям возможность их деинсталлировать, а не наоборот? Технически это намного проще.

Другие вопросы по тегам