This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use.
Author Image Sunday, 21 May 2017

[BatchScript] Remove Provisioned Appx (Metro Apps) in Windows 10


Với người dùng Windows 10 chắc hẳn chẳng ai xa lạ các ứng dụng này nữa, các app metro này có từ Windows 8 và ngày càng được nâng cấp dần dần qua các version Windows 10, tuy nhiên không phải ai cũng có nhu cầu dùng hết tất cả chúng, chưa kể đến việc chúng thường xuyên update qua Windows Update.

Hiện tại có khá nhiều phần mềm có thể gỡ các app này kể đến như Ccleaner, IobitUninstaller...tuy nhiên windows cũng có tích hợp tính năng gỡ bỏ

1. Gỡ bỏ qua PowerShell


Để lấy tất cả các gói

Get-AppxPackage | Select PackageFullName

Để gỡ bỏ gói ta dùng lệnh

Get-AppxPackage PackageFullName | Remove-AppxPackage

hoặc Để lấy tên tất cả các gói

Get-AppxPackage | Select Name

Để gỡ bỏ gói ta dùng lệnh

Get-AppxPackage *Name* | Remove-AppxPackage

2. Tiếp tục gỡ bỏ bằng dism /online


Để lấy tất cả các gói package bạn có thể mở cmd(admin) và dán lệnh

dism /online /Get-ProvisionedAppxPackages

Để gỡ bỏ gói ta dùng lệnh

dism /online /Remove-ProvisionedAppxPackage /PackageName:<PackageName>

Để thuận tiện hơn tôi đã viết ra 1 tập tin batch giúp bạn nhanh chóng gỡ bỏ đi các gói mình không mong muốn thông qua thao tác nhập phím


Trước tiên bạn phải tạo 1 tập tin .bat hoặc .cmd bằng cách tham khảo bài viết THÊM "NEW SCRIPT FILE" VÀO CONTEXT MENU CHUỘT PHẢI.

@echo off
color 0f
mode con cols=140 lines=30
 
Title Remove Provisioned Appx in Windows 10
 
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if "%errorlevel%" NEQ "0" (
 echo: Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
 echo: UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
 "%temp%\getadmin.vbs" & exit 
)
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
 
for /f "tokens=2*" %%c in ('"reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName" 2^>nul') do set ProductName=%%d
for /f "tokens=2*" %%a in ('"reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuild" 2^>nul') do set CurrentBuild=%%b
for /f "tokens=1-9" %%e in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "UBR" ^| find "REG_DWORD"') do set /a UBR=%%g
 
set packxbox=(XboxApp,XboxGameOverlay,XboxIdentityProvider,XboxSpeechToTextOverlay)
set packexceptstore=(3DBuilder,BingWeather,BingNews,DesktopAppInstaller,Getstarted,Messaging,Microsoft3DViewer,MicrosoftOfficeHub,MicrosoftSolitaireCollection,MicrosoftStickyNotes,MSPaint,Office.OneNote,OneConnect,People,SkypeApp,Wallet,Windows.Photos,WindowsAlarms,WindowsCalculator,WindowsCamera,windowscommunicationsapps,WindowsFeedbackHub,WindowsMaps,WindowsSoundRecorder,XboxApp,XboxGameOverlay,XboxIdentityProvider,XboxSpeechToTextOverlay,ZuneMusic,ZuneVideo)
set packincludestore=(3DBuilder,BingWeather,BingNews,DesktopAppInstaller,Getstarted,Messaging,Microsoft3DViewer,MicrosoftOfficeHub,MicrosoftSolitaireCollection,MicrosoftStickyNotes,MSPaint,Office.OneNote,OneConnect,People,SkypeApp,Wallet,Windows.Photos,WindowsAlarms,WindowsCalculator,WindowsCamera,windowscommunicationsapps,WindowsFeedbackHub,WindowsMaps,WindowsSoundRecorder,XboxApp,XboxGameOverlay,XboxIdentityProvider,XboxSpeechToTextOverlay,ZuneMusic,ZuneVideo,WindowsStore,StorePurchaseApp)
 
:main
cls
echo.&echo                                            You are running: %ProductName%
echo                                            Current Build: %CurrentBuild%.%UBR%&echo.
echo ---------------------------------------------------------------------------------------------------------------------------------------
echo                                                      Remove Provisioned Appx
echo ---------------------------------------------------------------------------------------------------------------------------------------
echo               [1] : 3DBuilder                        [2] : BingWeather                      [3] : DesktopAppInstaller
echo               [4] : Getstarted                       [5] : Messaging                        [6] : Microsoft3DViewer
echo               [7] : MicrosoftOfficeHub               [8] : SolitaireCollection              [9] : StickyNotes
echo               [10]: MSPaint 3D                       [11]: OneNote                          [12]: OneConnect
echo               [13]: People                           [14]: SkypeApp                         [15]: StorePurchaseApp
echo               [16]: Wallet                           [17]: Photos                           [18]: Alarms
echo               [19]: Calculator                       [20]: Camera                           [21]: Communicationsapps
echo               [22]: FeedbackHub                      [23]: Maps                             [24]: SoundRecorder
echo               [25]: Store                            [26]: Xbox                             [27]: ZuneMusic
echo               [28]: ZuneVideo                        [29]: News                             [30]: ALL Except Store
echo                                                      [31]: ALL
echo                                                      [X] : EXIT
echo ---------------------------------------------------------------------------------------------------------------------------------------
set /p select="Your choice is: "
if "%select%" EQU "1" (call:removepowershell "3DBuilder" & call:removeapp "3DBuilder")
if "%select%" EQU "2" (call:removepowershell "BingWeather" & call:removeapp "BingWeather")
if "%select%" EQU "3" (call:removepowershell "DesktopAppInstaller" & call:removeapp "DesktopAppInstaller")
if "%select%" EQU "4" (call:removepowershell "Getstarted" & call:removeapp "Getstarted")
if "%select%" EQU "5" (call:removepowershell "Messaging" & call:removeapp "Messaging")
if "%select%" EQU "6" (call:removepowershell "Microsoft3DViewer" & call:removeapp "Microsoft3DViewer")
if "%select%" EQU "7" (call:removepowershell "MicrosoftOfficeHub" & call:removeapp "MicrosoftOfficeHub")
if "%select%" EQU "8" (call:removepowershell "MicrosoftSolitaireCollection" & call:removeapp "MicrosoftSolitaireCollection")
if "%select%" EQU "9" (call:removepowershell "MicrosoftStickyNotes" & call:removeapp "MicrosoftStickyNotes")
if "%select%" EQU "10" (call:removepowershell "MSPaint" & call:removeapp "MSPaint")
if "%select%" EQU "11" (call:removepowershell "Office.OneNote" & call:removeapp "Office.OneNote")
if "%select%" EQU "12" (call:removepowershell "OneConnect" & call:removeapp "OneConnect")
if "%select%" EQU "13" (call:removepowershell "People" & call:removeapp "People")
if "%select%" EQU "14" (call:removepowershell "SkypeApp" & call:removeapp "SkypeApp")
if "%select%" EQU "15" (call:removepowershell "StorePurchaseApp" & call:removeapp "StorePurchaseApp")
if "%select%" EQU "16" (call:removepowershell "Wallet" & call:removeapp "Wallet")
if "%select%" EQU "17" (call:removepowershell "Windows.Photos" & call:removeapp "Windows.Photos")
if "%select%" EQU "18" (call:removepowershell "WindowsAlarms" & call:removeapp "WindowsAlarms")
if "%select%" EQU "19" (call:removepowershell "WindowsCalculator" & call:removeapp "WindowsCalculator")
if "%select%" EQU "20" (call:removepowershell "WindowsCamera" & call:removeapp "WindowsCamera")
if "%select%" EQU "21" (call:removepowershell "windowscommunicationsapps" & call:removeapp "windowscommunicationsapps")
if "%select%" EQU "22" (call:removepowershell "WindowsFeedbackHub" & call:removeapp "WindowsFeedbackHub")
if "%select%" EQU "23" (call:removepowershell "WindowsMaps" & call:removeapp "WindowsMaps")
if "%select%" EQU "24" (call:removepowershell "WindowsSoundRecorder" & call:removeapp "WindowsSoundRecorder")
if "%select%" EQU "25" (call:removepowershell "WindowsStore" & call:removeapp "WindowsStore")
if "%select%" EQU "26" (
 for /d %%b in %packxbox% do (
  call:removepowershell "%%b"
  call:removeapp2 "%%b"
 )
 echo.&echo -----------------------------------------------------------------------------------
 echo Press any key to back !
 pause >nul
 goto:main
)
if "%select%" EQU "27" (call:removepowershell "ZuneMusic" & call:removeapp "ZuneMusic")
if "%select%" EQU "28" (call:removepowershell "ZuneVideo" & call:removeapp "ZuneVideo")
if "%select%" EQU "29" (call:removepowershell "BingNews" & call:removeapp "BingNews")
if "%select%" EQU "30" (
 for /d %%b in %packexceptstore% do (
  call:removepowershell "%%b"
  call:removeapp2 "%%b"
 )
 echo.&echo Press any key to back !
 pause >nul
 goto:main
)
if "%select%" EQU "31" (
 for /d %%b in %packincludestore% do call:removepowershell "%%b"
 for /f "tokens=2 delims=: " %%a in ('dism /online /Get-ProvisionedAppxPackages ^| find "PackageName"') do (
  echo -----------------------------------------------------------------------------------
  echo Removing %%a...
  dism /online /Remove-ProvisionedAppxPackage /PackageName:%%a
 )
 echo.&echo -----------------------------------------------------------------------------------
 echo Press any key to back !
 pause >nul
 goto:main
)
if "%select%" EQU "x" EXIT
if "%select%" EQU "X" EXIT
goto:eof
 
:removeapp
echo.&echo Removing %~1...
for /f "tokens=2 delims=: " %%b in ('dism /online /Get-ProvisionedAppxPackages ^| find /I "PackageName : Microsoft.%~1"') do (set PackageName=%%b)
if "%PackageName%" EQU "" (
   echo.&echo Package doesn't exist...
) else (
   dism /online /Remove-ProvisionedAppxPackage /PackageName:%PackageName%
)
echo.&echo -----------------------------------------------------------------------------------
echo Press any key to back !
pause >nul
goto:main
 
:removeapp2
echo -----------------------------------------------------------------------------------
echo Removing %~1...
for /f "tokens=2 delims=: " %%b in ('dism /online /Get-ProvisionedAppxPackages ^| find /I "PackageName : Microsoft.%~1"') do (set PackageName2=%%b)
if "%PackageName2%" EQU "" (
   echo.&echo Package doesn't exist...
) else (
   dism /online /Remove-ProvisionedAppxPackage /PackageName:%PackageName2%
)
goto:eof
 
:removepowershell
PowerShell.exe -Command "Get-AppxPackage *%~1* | Remove-AppxPackage"
goto:eof

Lưu lại và chạy sau đó chọn các ứng dụng mà bạn muốn gỡ. Script không đóng cứng version của app nên có thể dùng cho các phiên bản của Windows 10.

Sau khi chạy xong bạn tiến hành khởi động lại máy để tận hưởng thành quả

Good Luck !
Comments:
Bạn được tự do bày tỏ quan điểm nhưng nghiêm cấm spam
  • Chèn ảnh theo mẫu [img]link[/img]
  • Chèn video Youtube theo mẫu [youtube]link[/youtube]
  • Chèn code theo mẫu [pre]code[/pre]. Lưu ý: mã hóa code trước khi bình luận

  • chung thanh 5/22/2017 09:59:00 AM
    làm cách nào để cho nó tự động chạy cái cần gỡ mà không phải chọn từng cái không?
    Please wait while i am loading Facebook SDK js