Скрипт удаления ненужного по windows 10

Win10Debloat

Win10Debloat is a simple and lightweight powershell script that removes pre-installed windows 10/11 bloatware apps, disables telemetry and declutters the experience by disabling or removing intrusive interface elements, ads and context menu items. No need to painstakingly go through all the settings yourself, or removing apps one by one. Win10Debloat makes the process quick and simple!

You can pick and choose exactly which modifications you want the script to make, but the default settings should be fine for most people. All of the changes can be easily reverted using the registry files that are included in the ‘Regfiles’ folder, and all of the apps that are removed by default can be reinstalled from the microsoft store.

The windows 10 default settings will:

  • Remove all bloatware apps from this list.
  • Disable telemetry, diagnostic data & targeted ads.
  • Disable bing & cortana in windows search.
  • Disable tips & tricks on the lockscreen. (This may change your lockscreen wallpaper to the windows default)
  • Disable tips, tricks and suggestions in the startmenu and settings, and sync provider ads in windows explorer.
  • Hide the Chat (meet now) & Widget (news and interests) icons from the taskbar.
  • Hide the 3D objects folder under ‘This pc’ in windows explorer.
  • Disable the ‘Include in library’ from context menu.
  • Disable the ‘Give access to’ from context menu.
  • Disable the ‘Share’ from context menu. (Does not remove the onedrive share option)

The windows 11 default settings will:

  • Remove all bloatware apps from this list.
  • Disable telemetry, diagnostic data & targeted ads.
  • Disable bing & cortana in windows search.
  • Disable tips & tricks on the lockscreen. (This may change your lockscreen wallpaper to the windows default)
  • Disable tips, tricks and suggestions in the startmenu and settings, and sync provider ads in windows explorer.
  • Hide the Chat & Widget icons from the taskbar.

Or select the ‘Custom’ option in the menu to customize the script to your needs.

Donate a cup of coffee to support my work

Usage

Disclaimer: I believe this script to be completely safe to run, but use this script at your own risk!

Easy method:

  1. Download the latest version of the script, and extract the .ZIP file to your desired location.
  2. Navigate to the Win10Debloat folder
  3. Double click the ‘Run.bat’ file to start the script.
  4. Accept the windows UAC prompt to run the script as administrator, this is required for the script to function.
  5. Select either default, or custom setup depending on what changes you want to make. Custom setup will allow you to choose exactly which changes you want to make, and which changes you want to skip.

Advanced method:

This method gives you the option to run the script with certain arguments to tailor the behaviour of the script to your needs without requiring any user input during runtime, making it quicker and easier to deploy on a large number of systems.

  1. Download the latest version of the script, and extract the .ZIP file to your desired location.
  2. Open powershell as an administrator.
  3. Enable powershell execution by entering the following command: Set-ExecutionPolicy Unrestricted -Force
  4. In powershell, navigate to the directory where the files were extracted. Example: cd c:\Win10Debloat
  5. Enter this into powershell to run the script: .\Win10Debloat.ps1 To run the script without any user input you can add arguments at the end, for example: .\Win10Debloat.ps1 -RemoveApps -DisableBing
Argument Description
-RunDefaults Run the script with windows 10 default settings.
-RunWin11Defaults Run the script with windows 11 default settings.
-RemoveApps Remove all bloatware apps from this list.
-DisableTelemetry Disable telemetry, diagnostic data & targeted ads.
-DisableBing Disable bing & cortana in windows search.
-DisableLockscreenTips Disable tips & tricks on the lockscreen.
-DisableWindowsSuggestions Disable tips, tricks and suggestions in the startmenu and settings, and sync provider ads in windows explorer.
-DisableChat Hide the chat (meet now) icon on the taskbar.
-DisableWidgets Hide the widget (news and interests) icon on the taskbar.
-DisableOnedrive Hide the onedrive folder in the windows explorer sidepanel.
-Disable3dObjects Hide the 3D objects folder under ‘This pc’ in windows explorer.
-DisableMusic Hide the music folder under ‘This pc’ in windows explorer.
-DisableIncludeInLibrary Disable the ‘Include in library’ option in the context menu.
-DisableGiveAccessTo Disable the ‘Give access to’ option in the context menu.
-DisableShare Disable the ‘Share’ option in the context menu.

Debloat Windows 10/11

By default, this script only removes apps that most people are unlikely to ever need or use. You can of course customize which apps are removed by this script by editing the apps list found in the ‘Win10Debloat.ps1’ file.

These apps will be deleted by default:

  • AdobeSystemsIncorporated.AdobePhotoshopExpress
  • Clipchamp.Clipchamp
  • Dolby
  • Duolingo-LearnLanguagesforFree
  • Facebook
  • Flipboard
  • HULULLC.HULUPLUS
  • Microsoft.3DBuilder
  • Microsoft.549981C3F5F10 (Cortana)
  • Microsoft.Asphalt8Airborne
  • Microsoft.BingFinance
  • Microsoft.BingNews
  • Microsoft.BingSports
  • Microsoft.BingTranslator
  • Microsoft.BingWeather
  • Microsoft.GetHelp
  • Microsoft.Getstarted
  • Microsoft.Messaging
  • Microsoft.Microsoft3DViewer
  • Microsoft.MicrosoftOfficeHub
  • Microsoft.MicrosoftSolitaireCollection
  • Microsoft.MicrosoftStickyNotes
  • Microsoft.MixedReality.Portal
  • Microsoft.NetworkSpeedTest
  • Microsoft.News
  • Microsoft.Office.OneNote
  • Microsoft.Office.Sway
  • Microsoft.OneConnect
  • Microsoft.Print3D
  • Microsoft.RemoteDesktop
  • Microsoft.SkypeApp
  • Microsoft.Todos
  • Microsoft.WindowsAlarms
  • Microsoft.WindowsFeedbackHub
  • Microsoft.WindowsMaps
  • Microsoft.WindowsSoundRecorder
  • Microsoft.ZuneMusic
  • Microsoft.ZuneVideo
  • PandoraMediaInc
  • Picsart-Photostudio
  • Royal Revolt
  • Speed test
  • Spotify
  • Twitter
  • Wunderlist
  • king.com.BubbleWitch3Saga
  • king.com.CandyCrushSaga
  • king.com.CandyCrushSodaSaga

These apps will NOT be deleted by default:

  • Microsoft.GamingApp
  • Microsoft.MSPaint (Paint 3D)
  • Microsoft.People
  • Microsoft.PowerAutomateDesktop
  • Microsoft.ScreenSketch
  • Microsoft.Windows.Photos
  • Microsoft.WindowsCalculator
  • Microsoft.WindowsCamera
  • microsoft.windowscommunicationsapps (Mail & Calendar)
  • Microsoft.WindowsStore (NOTE: This app cannot be reinstalled!)
  • Microsoft.Xbox.TCUI
  • Microsoft.XboxApp
  • Microsoft.XboxGameOverlay
  • Microsoft.XboxGamingOverlay
  • Microsoft.XboxIdentityProvider
  • Microsoft.XboxSpeechToTextOverlay (NOTE: This app cannot be reinstalled from the microsoft store!)
  • Microsoft.YourPhone

Declutter Windows 10/11

This script can also make various changes to declutter windows 10/11, such as:

  • Disable telemetry, diagnostic data & targeted ads.
  • Disable bing & cortana in windows search.
  • Disable tips & tricks on the lockscreen. (This changes your lockscreen wallpaper to the windows default)
  • Disable tips, tricks and suggestions in the startmenu and settings, and sync provider ads in windows explorer.
  • Hide the chat (meet now) icon on the taskbar.
  • Hide the widget (news and interests) icon on the taskbar.
  • Hide the onedrive folder in the windows explorer sidepanel.
  • Hide the 3D objects folder under ‘This pc’ in windows explorer.
  • Hide the music folder under ‘This pc’ in windows explorer.
  • Disable the ‘Include in library’ option in the context menu.
  • Disable the ‘Give access to’ option in the context menu.
  • Disable the ‘Share’ from context menu. (Does not remove the onedrive share option)

All of these changes can be reverted with the registry files that are included in the ‘Regfiles’ folder.

Все способы:

  • Вариант 1: Встроенные приложения
  • Вариант 2: Сторонние приложения
  • Восстановление стандартных приложений
  • Вопросы и ответы: 2

Вариант 1: Встроенные приложения

Для того чтобы удалить предустановленное в Windows 10 приложение через консольную утилиту «PowerShell», необходимо сначала узнать наименование установочного пакета, а затем подставить его в специальную команду и выполнить ее.

  1. Запустите «PowerShell». Это можно сделать через поиск или контекстное меню «Пуск», которое вызывается нажатием правой кнопки мышки (ПКМ) по данному элементу, (потребуется выбрать там соответствующий пункт), а также несколькими другими способами, рассмотренными нами в отдельной статье.

    Подробнее: Как запустить «ПоверШел» в Виндовс 10

    Удаление ненужных программ через «PowerShell» в Windows 10_001

    Обратите внимание! Запуск в обязательном порядке необходимо осуществлять от имени Администратора, что потребуется подтвердить в отдельном окне.

  2. удаление ненужных программ через powershell в windows 10_000

  3. Скопируйте представленную ниже команду и вставьте ее в консоль, кликнув для этого ПКМ. Для подтверждения нажмите «Enter».

    Get-AppxPackage | Select Name, PackageFullName

  4. Удаление ненужных программ через «PowerShell» в Windows 10_002

  5. Практически сразу в «ПоверШел» отобразится список всех предустановленных программ.
    Удаление ненужных программ через «PowerShell» в Windows 10_003

    Нас интересует то, что указано в колонке «Name», так как именно это значение потребуется подставлять в следующего вида команду:

    Get-AppxPackage *Name* | Remove-AppxPackage

    Удаление ненужных программ через «PowerShell» в Windows 10_004

    Например, чтобы удалить Skype, следует ввести и выполнить в «PowerShell» вот такой запрос:

    Get-AppxPackage *Microsoft.SkypeApp* | Remove-AppxPackage

    Удаление ненужных программ через «PowerShell» в Windows 10_005

    Указанное внутри символов ** «Name» мы заменили на «Microsoft.SkypeApp» (без кавычек), соответствующее зарезервированному в системе названию программы.

    Команды для удаления приложений выглядят следующим образом:

    Компонент Команда для удаления
    Office Get-AppxPackage *officehub* | Remove-AppxPackage
    Карты Get-AppxPackage *WindowsMaps* | Remove-AppxPackage
    Люди Get-AppxPackage *People* | Remove-AppxPackage
    Удаление ненужных программ через «PowerShell» в Windows 10_006

    Для того чтобы убедиться в эффективности рассматриваемой процедуры, достаточно открыть меню «Пуск»

    Удаление ненужных программ через «PowerShell» в Windows 10_007

    указанные выше, уже удаленные нами приложения исчезли из списка установленных в операционной системе.

  6. Удаление ненужных программ через «PowerShell» в Windows 10_008

    Далее просто приведем список команд, с помощью которых можно деинсталлировать большинство стандартных для Windows 10 программ.

    Обратите внимание! Удалять Microsoft Store категорически не рекомендуется, это может и скорее всего негативно скажется на функционировании операционной системы и ее компонентов.

    Читайте также: Как установить Магазин приложений в Виндовс 10

    Компонент Команда для удаления
    3D Builder Get-AppxPackage *3dbuilder* | Remove-AppxPackage
    3D-просмотр Get-AppxPackage *Microsoft3DViewer* | Remove-AppxPackage
    Candy Crush Soda Saga Get-AppxPackage *CandyCrushSodaSaga* | Remove-AppxPackage
    Facebook Get-AppxPackage *Facebook* | Remove-AppxPackage
    Microsoft Solitaire Collection Get-AppxPackage *MicrosoftSolitaireCollection* | Remove-AppxPackage
    Microsoft Store (не рекомендуется удалять) Get-AppxPackage *WindowsStore* | Remove-AppxPackage
    Minecraft: Windows 10 Edition Get-AppxPackage *MinecraftUWP* | Remove-AppxPackage
    Netflix Get-AppxPackage *Netflix* | Remove-AppxPackage
    OneNote Get-AppxPackage *OneNote* | Remove-AppxPackage
    Paint 3D Get-AppxPackage *MSPaint* | Remove-AppxPackage
    Xbox Get-AppxPackage *XboxApp* | Remove-AppxPackage
    Будильник и часы Get-AppxPackage *WindowsAlarms* | Remove-AppxPackage
    Записки Get-AppxPackage *MicrosoftStickyNotes* | Remove-AppxPackage
    Запись голоса Get-AppxPackage *soundrecorder* | Remove-AppxPackage
    Калькулятор Get-AppxPackage *WindowsCalculator* | Remove-AppxPackage
    Камера Get-AppxPackage *WindowsCamera* | Remove-AppxPackage
    Кино и ТВ Get-AppxPackage *ZuneVideo* | Remove-AppxPackage
    Музыка Groove Get-AppxPackage *ZuneMusic* | Remove-AppxPackage
    Начало работы Get-AppxPackage *getstarted* | Remove-AppxPackage
    Новости Get-AppxPackage *BingNews* | Remove-AppxPackag
    Погода Get-AppxPackage *bingweather* | Remove-AppxPackage
    Почта и Календарь Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage
    Связь с телефоном Get-AppxPackage *windowsphone* | Remove-AppxPackage
    Советы Get-AppxPackage *Getstarted* | Remove-AppxPackage
    Спорт Get-AppxPackage *bingsports* | Remove-AppxPackage
    Финансы Get-AppxPackage *bingfinance* | Remove-AppxPackage
    Фотографии Get-AppxPackage *Photos* | Remove-AppxPackage
    Центр отзывов Get-AppxPackage *WindowsFeedbackHub* | Remove-AppxPackage

    Читайте также: Как удалить Cortana / Microsoft Edge / OneDrive через «PowerShell» в Windows 10

Вариант 2: Сторонние приложения

С помощью «PowerShell» также можно удалить и некоторые программы от сторонних разработчиков, однако стоит иметь в виду, что консольная утилита (по сути – служебная команда), которая будет использоваться для решения данной задачи, на сегодняшний день считается устаревшей. Windows 10, начиная с версии 21H1, поддерживает ее лишь частично. Выражается это в том, что система обнаружит и отобразит далеко не полный список установленного ПО, а значит, в нем вполне может не оказаться того, от чего вы хотите избавиться.

  1. Запустите «ПоверШел» от имени администратора.
  2. Удаление ненужных программ через «PowerShell» в Windows 10_001

  3. Поочередно введите две указанных ниже команды, оба раза нажимая «Enter» для их выполнения.

    wmic
    product get name

  4. Удаление ненужных программ через «PowerShell» в Windows 10_101

    Подождите несколько секунд, пока Виндовс обнаружит и отобразит список установленных вами приложений, которые можно удалить, после чего введите и выполните команду следующего вида:

    product where name=”название программы” call uninstall

    (в примере ниже нами удаляется приложение «Microsoft Update Health Tools»)

    Удаление ненужных программ через «PowerShell» в Windows 10_104

    После того как вы нажмете «Enter»,

    Удаление ненужных программ через «PowerShell» в Windows 10_105

    потребуется предоставить дополнительное подтверждение – ввести букву Y и еще раз нажать клавишу «Enter» (возможно, эта строка будет отображаться в окне утилиты не полностью, а потому придется пролистать ее интерфейс немного вправо).

    Удаление ненужных программ через «PowerShell» в Windows 10_106

    Примечание: Если добавить к указанной команде параметр /nointeractive, деинсталляция ПО будет выполнена сразу без какого-либо подтверждения.

    Удаление ненужных программ через «PowerShell» в Windows 10_203

    После появления уведомления об успешном завершении процедуры появится возможность ввода новой команды. Таким образом вы сможете удалить все те ненужные программы, которые были обнаружены «ПоверШел».

    Удаление ненужных программ через «PowerShell» в Windows 10_107

Восстановление стандартных приложений

Если вы по ошибке деинсталлировали нужную стандартную для Windows 10 программу или же просто хотите восстановить все их, достаточно запустить «PowerShell» от имени администратора, ввести и выполнить одну из следующих команд:

для всех учетных записей:

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}

для текущей учетной записи:

Get-AppXPackage | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}

Удаление ненужных программ через «PowerShell» в Windows 10_009

Обратите внимание! Указанные команды можно либо ввести вручную, либо скопировать и вставить в «ПоверШел», но строго с помощью правой кнопки мышки, а не клавиш «Ctrl+V» (в противном случае, по непонятным причинам, будет изменен синтаксис).

Сама же процедура восстановления займет некоторое время и даже может завершиться с некоторыми ошибками, хотя по факту это не проблема: система будет пытаться переустановить в том числе изначально отсутствующие (например, из-за региональных ограничений) в конкретной редакции Виндовс компоненты и/или те, что используются в настоящий момент, а значит, уже установлены.

Удаление ненужных программ через «PowerShell» в Windows 10_010

Наша группа в TelegramПолезные советы и помощь

В этой статье мы рассмотрим, как в Windows удалить установленные программы на локальном и удаленном компьютере с помощью PowerShell. Довольно часто в скриптах и сценариях автоматизации приходится использовать различные блоки кода для удаления установленных программ Windows. Для удаления программ из командной строки или скриптами PowerShell можно использовать несколько подходов.

Содержание:

  • Удаление установленных программ с помощью WMI
  • Удалить программу на удаленном компьютере с помощью PowerShell модуля Package Manager
  • Используем менеджер пакетов WinGet для удаления установленных программ

Удаление установленных программ с помощью WMI

Чаще всего для удаления установленных программ в Windows используют команды, обращающиеся к пространству имен WMI. Например, с помощью утилиты wmic можно вывести список установленных программ:

wmic product get name,version

удаление программ с помощью wmic через WMI

Для тихого удаления программы из этого списка можно использовать такую команду:

wmic product where name="VMware vCenter Converter Standalone" call uninstall /nointeractive

Команда вызовет WMI метод удаления программы VMware vCenter Converter Standalone через Windows Installer.

Executing (\\COMPName\ROOT\CIMV2:Win32_Product.IdentifyingNumber="{PROGRAM_GUID}",Name="VMware vCenter Converter Standalone",Version="6.2.0.8466193")->Uninstall()

Если удаление программы выполнено успешно, она вернет:

Method execution successful. Out Parameters: instance of __PARAMETERS {  

ReturnValue = 0; };

Аналогичные PowerShell команды для вывода и удаления программ через WMI:

Get-WmiObject Win32_Product | ft name,version,vendor,packagename
(Get-WmiObject Win32_Product -Filter "Name = 'XXX'").Uninstall()

Чтобы удалить программу на удаленном компьютере, нужно добавить параметр –ComputerName. Например, чтобы удалить Microsoft Office на удаленном компьютере, выполните:

$apps = Get-WmiObject -Class Win32_Product -ComputerName wks-pc11s22 |where name -Like "Office 16 Click-to-Run*"
$apps.uninstall()

Однако, такой способ удаления программы не будет универсальным. Если вы сравните список программ, который возвращается через WMI namespace и список программ в панели управления Windows 10 (команда
ms-settings:appsfeatures
), вы увидите, что они отличаются. Команда вывела список программ, установленных через Windows Installer. В списке нет большинства пользовательских программ (например, браузеров).

список установленных программ в панели управления и в WMI namespace

Также не выводятся UWP программы из Microsoft Store, установленные модули PowerShell (через PowerShellGet) и т.д.

Удалить программу на удаленном компьютере с помощью PowerShell модуля Package Manager

В современных версиях Windows 10/11 и Windows Server 2022/2019/2016 для установки и удаления программ можно использовать командлеты из модуля PowerShell Package Management. Изначально модуль использовался для установки/удаления PowerShell модулей. Однако вы можете использовать его и для удаления Win32 программ, MSU обновлений, программ установленных помощью MSI установщиков.

Чтобы вывести полный список установленных программ на локальном компьютере, выполните команду:

Get-Package

Get-Package - команда powershell выводит список установленных программ

Команда вернет несколько классов программ, установленных через разные провайдеры (ProviderName). Полный список доступных провайдеров на компьютере можно вывести так:

Get-PackageProvider

  • Programs
  • Msi
  • Msu
  • PowerShellGet
  • NuGet

список packageproveider в windows 10

Чтобы вывести список программ, установленных с помощью определенного провайдера, выполните:

Get-Package -ProviderName Programs -IncludeWindowsInstaller

Для удаления программы нужно использовать командлет Uninstall-Package:

Get-Package -Name "Notepad++*" | Uninstall-Package

Можно удалить установленный PowerShell модуль. Например, чтобы удалить все модули VMware.PowerCLI:

Get-Package -ProviderName PowerShellGet -Name "VMware.*" | Uninstall-Package

Для удаления программы на удаленном компьютер, воспользуйтесь командлетом Invoke-Command:

Invoke-Command -ComputerName Msk-Ser01 -ScriptBlock { Get-Package -Name "Notepad++*" | Uninstall-Package}

WinRM PowerShell Remoting можно включить на компьютерах с помощью GPO (ссылка).

Данный модуль можно использовать только для удаления программ Win32 и модулей. Для удаления UWP программ Microsoft Store нужно использовать PowerShell командлеты
Remove-AppxPackage
и
Remove-AppxProvisionedPackage
(см. Пример в статье).

Используем менеджер пакетов WinGet для удаления установленных программ

Для установки и удаления программ в Windows можно использовать новый менеджер пакетов winget (встроен в современные версии Windows 10 и 11). Чтобы вывести список программ на компьютере, выполните:

Winget list

Команда вернет список программ, в том числе установленных не через winget, а также список UWP приложений.

winget удаление программ в Windows 10

Для удаления программ, установленной через WinGet нужно выполнить команду:

winget uninstall --name 7zip.7zip

Для удаление MSI приложения Windows нужно указать его GUID:

winget uninstall --id "{332C1E78-1D2F-4A64-B718-68095DC6254B}"

Для удаления UWP приложения:

winget uninstall --id "Microsoft.ZuneVideo_8wekyb3d8bbwe"

winget uninstall команда удаления программы

Однако, winget не позволяет удалить программы на удаленном компьютере. Для запуска команд winget на удаленном компьютере нужно использовать возможности PowerShell Remoting (командлеты Invoke-Command и Enter-PSSession). Например:

Invoke-Command -ComputerName pc2122sd1 -ScriptBlock {winget uninstall --name 7zip.7zip}

Вы можете использовать рассмотренные здесь PowerShell скрипты для удаленного удаления программ, или в сценариях запуска команд на компьютерах в сети через SCCM или logon скрипты GPO.

Время на прочтение5 мин

Количество просмотров29K

Пришло время выложить из закромов очередной скрипт для системных администраторов. Заготовки для работы с пакетами обновлений и компонентами системы выкладывались в предыдущих статьях. Сегодня Я поделюсь готовым решением, которое можно без доработок применять в работе. Как известно, компания Microsoft решила последовать примеру Google и открыла свой маркет приложений, под названием Магазин Windows. В дистрибутивах ОС начиная c Windows 8 появились приложения нового типа (формат файлов распространения — AppX), которые являются универсальными и должны запускаться на всех устройствах под Windows. Среди предустановленных универсальных приложений лично Я не нашел ничего полезного, поэтому и написал скрипт, который удаляет их все.

Представленное здесь решение предназначено для обслуживания образов Windows 8, 8.1, 10. Может применяться как к автономным файлам образов в формате *.wim, так и к развёрнутой (установленной) системе. Как и в предыдущих моих скриптах использую средства системы DISM. Однако в ходе разработки выяснилось, что с помощью команды dism нет возможности удалить универсальные приложения из установленной системы (обслуживание онлайн) — только средствами PowerShell. Пришлось делать выбор: либо писать скрипт полностью на PS, либо использую возможности командного интерпретатора (CMD), осуществить вызов отдельных операций из PS. Я выбрал второй вариант, в связи с чем, представленное решение состоит из двух файлов: основного скрипта (сохранить с любым именем *.cmd) и дополнительного (сохранить с именем RemoveAppxes.ps1).

Основной скрипт

@echo off
title Deleting Appxes in Windows image

set _file=install.wim
set _img=Online
set _mnt=mount

dism /English /LogLevel:1 /Get-Help | find "Version: 6.1" > nul && exit

:pre_menu
cls
if not exist %_file% goto :version
dism /English /LogLevel:1 /Get-ImageInfo /ImageFile:%_file%
echo -------------------------------------------------------------------------------
if %ERRORLEVEL% NEQ 0 pause & exit
set /p _ind=Input index or press [Enter] for quit: || exit
if %_ind% EQU 0 goto :version
if %_ind% GTR 0 if %_ind% LEQ 24 goto :ind_menu
goto :pre_menu

:ind_menu
cls
dism /English /LogLevel:1 /Get-ImageInfo /ImageFile:%_file% /Index:%_ind%
echo -------------------------------------------------------------------------------
if %ERRORLEVEL% NEQ 0 pause & goto :pre_menu
choice /c abcdefghijklmnopqrstuvwxyz /n /m "Mount selected image? [m] "
if %ERRORLEVEL% EQU 13 goto :mount
goto :pre_menu

:version
dism /%_img% /English /LogLevel:1 /Get-Help | find "Image Version: 6.1" > nul && goto :unmount
goto :remove

:remove
cls
echo Getting list of Appxes. Please wait...
dism /%_img% /English /LogLevel:1 /Get-ProvisionedAppxPackages > %TEMP%\appxes.txt
echo -------------------------------------------------------------------------------
set _num=1
for /f "skip=8 tokens=3" %%a in (%TEMP%\appxes.txt) do call :filter %%a
del %TEMP%\appxes.txt
echo Removes default application associations
dism /%_img% /English /LogLevel:1 /Remove-DefaultAppAssociations
echo -------------------------------------------------------------------------------
if %_img%==Online (
echo Remove current Appxes for AllUsers
powershell -Command Start-Process powershell -ArgumentList '-NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File RemoveAppxes.ps1' -Verb RunAs
)
if not exist %_file% exit
goto :unmount

:filter
echo %1 | findstr /ric:"Microsoft.*" > nul
if %ERRORLEVEL% EQU 0 call :action %1
exit /b

:action
echo %1 | findstr /ric:"Microsoft.*_" > nul
if %ERRORLEVEL% NEQ 0 (
set /a _num+=1
echo %_num% Remove: %1
) else (
dism /%_img% /English /LogLevel:1 /Remove-ProvisionedAppxPackage /PackageName:%1
echo -------------------------------------------------------------------------------
)
exit /b

:mount
cls
md %_mnt%
dism /English /LogLevel:1 /Mount-Image /ImageFile:%_file% /Index:%_ind% /MountDir:%_mnt%
if %ERRORLEVEL% NEQ 0 rd %_mnt% & pause & exit
set _img=Image:%_mnt%
goto :version

:unmount
cls
if not %_img%==Online (
dism /English /LogLevel:1 /Unmount-Image /MountDir:%_mnt% /Commit
rd %_mnt%
)
set _img=Online
goto :pre_menu

Дополнительный скрипт

Get-AppxPackage -AllUsers | Remove-AppxPackage

Использование

Два файла должны размещаться в одной папке. Если в папке запуска отсутствует файл образа — install.wim, то скрипты выполняют работу в полностью автоматическом режиме. Если в папке запуска присутствует файл образа — install.wim, то скрипт выполняет считывание из него информацию об имеющихся «индексах» и предлагает ввести номер. После этого отображается расширенная информация о выбранном «индексе» выдаётся запрос на монтирование. Нажатие любой клавиши приводит к возврату, а нажатие клавиши [m] запускает следующую цепочку действий: монтирование образа, проверка версии ОС, удаление дистрибутивов приложений (по циклу), удаление всех ассоциаций, деинсталляция установленных приложений (при запуске онлайн), размонтирование образа, возврат в меню выбора «индекса». После чего можно выбрать другой «индекс» образа для удаления приложений. Выбор «индекса» под номером 0 запускает обслуживание онлайн.

Разбор кода

Вначале командой set происходит установка переменных. Можно изменить предполагаемое имя файла образа install.wim (например, на install.esd). Можно изменить имя папки монтирования (по-умолчанию mount) или задать путь, если папка монтирования должна находится за пределами папки запуска.

:pre_menu

Предварительное меню. Получение основной информации о wim-файле с контролем ошибок. Если отсутствует файл образа, то запуск в режиме Online.

:ind_menu

Индексное меню. Получение расширенной информации о выбранном «индексе» в wim-файле с контролем ошибок. Предложение смонтировать «индекс».

:version

Проверка версии целевой системы. Если оказывается, что скрипт пытаются применить к образу Windows 7, то происходит размонтирование. Иначе, выполняется переход к следующей метке.

:remove (:filter, :action)

Основной блок выполнения скрипта. Вначале запрашивается список интегрированных универсальных приложений с сохранением во временный файл appxes.txt. Затем в цикле for из полученного списка последовательно выбираются строки и передаются в псевдофункцию :filter. Строки фильтруются поиском по регулярному выражению «Microsoft.*» — если найдена, то передаются в следующую псевдофункцию :action. Здесь по регулярному выражению «Microsoft.*_» отфильтровываются названия универсальных приложений, передаваемые в дальнейшем утилите dism для удаления. Чтобы лучше понять логику работы нужно взглянуть на содержимое файла appxes.txt. Так как файл удаляется по завершению работы цикла, то чтобы с ним ознакомиться нужно предварительно вручную его получить и сохранить.

Одной командой происходит удаление всех ассоциаций открытия отдельных файлов универсальными приложениями. Для распространённых типов файлов остаются ассоциации со стандартными классическими приложениями Windows.

Удаление (деинсталляция) универсальных приложений на установленной системе происходит вызовом составной команды на языке скриптов PowerShell. Файл дополнительного скрипта RemoveAppxes.ps1 вначале выполняет запрос списка всех универсальных приложений для всех пользователей, а затем «по конвейеру» передаёт их команде на удаление. Вроде бы ничего сложного, однако, чтобы выполнить эту операцию скрипт PS должен быть запущен с повышенными правами, причём работать от имени Администратора не достаточно. Для успешного запуска нужно вставить тот сложный код в команде powershell чтобы получить повышение прав. Защита которая легко обходится! Вот за этот «идиотизм» мне и не приглянулся PowerShell.

:mount

Монтирование образа. Предварительно создаётся папка монтирования. Контроль ошибок. Изменяется переменная определяющая спецификацию образа, теперь указывает на путь к автономному образу.

:unmount

Размонтирование образа. Если выполнялось интерактивное обслуживание (/Online), то размонтировать не нужно. Возвращение переменных к исходным значениям.

Заключение

Я показал простой и быстрый способ удаления приложений Магазина Windows. Считаю, что одно и тоже приложение не может быть одинаково удобным для использования на мобильном устройстве и на ПК. Прежде всего у названных платформ разное функциональное назначение, а значит и требуемые пользователям приложения должные предоставлять разный функционал. После отработки скрипта несколько универсальных приложений всё же остаются, прежде всего это сам Магазин Windows, с помощью которого можно установить то, что было удалено или что-то ещё.

Существует отличный способ удалить все приложения Windows 10, но сохранить Магазин Windows. Короткая команда для PowerShell все, что нужно для выполнения этой задачи.

Короткая команда, для удаления всех приложений в Windows 10, за исключением Магазина.

Шаг 1: Откройте PowerShell от имени Администратора — это имеет важное значение, в противном случае, скрипт  не будет выполнен. В поиске или в меню «Пуск» начните набирать PowerShell, кликните на результат правой кнопкой мыши и выберите «Запуск от имени администратора».

Шаг 2: Введите или вставьте следующую команду:

Get-AppxPackage -AllUsers | where-object {$_.name –notlike "*store*"} | Remove-AppxPackage

 Важно: Если вы скопировали строку выше, обратите внимание на двойные кавычки вокруг текста "* store *"Они могут быть преобразованы в браузере в «двойные кавычки», так что команда будет прервана и удалит магазин Windows 10 тоже! Если вы собираетесь скопировать команду, я предлагаю вам вручную ввести кавычки (см. картинку).

Удалить все приложения Windows 10 с помощью PowerShell

Шаг 3: Нажмите Enter, все приложения, за исключением Магазина (Windows Store) будут удалены.

Вот и все. При необходимости, Вы можете позже, повторно установить любое из удалённых приложений из магазина. 

Рекомендуем: Как удалить определенное предустановленное приложение в Windows 10 

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Your system administrator has disabled windows features
  • Fb2 reader for windows
  • Драйвер для видео lenovo g570 windows 10
  • Дальнобойщики 3 золотое издание не запускается на windows 10
  • Windows 7 переключение настроек сети