Skip to content

Instantly share code, notes, and snippets.

@ytez
Last active February 1, 2022 06:14
Show Gist options
  • Select an option

  • Save ytez/d540b32f67d7793b3862dd81017a4b1a to your computer and use it in GitHub Desktop.

Select an option

Save ytez/d540b32f67d7793b3862dd81017a4b1a to your computer and use it in GitHub Desktop.
不要な UWP アプリを削除する [PowerShell] [Windows10]

不要な UWP アプリを削除する PowerShell

目的

  • Win10 の初回セットアップ時にプレインストールされている不要な UWP アプリを簡単に削除する
  • 後で必要になったときに戻せるようにもしておきたい

手順

  1. uwp_app_list.txt を Excel で編集。削除せず残しておきたいアプリは Skip 列に # とか 1 とか何か文字を入れておく
  2. RemoveUnusedUWPApps.bat を実行

注意

  • Remove は標準ユーザ権限で可
  • Restore は管理者権限が必要
  • ExecutionPolicy 回避のため bat から起動している
  • ps1 は日本語を含むため UTF-8 BOM としている

ToDo / Question

  • いろんなサイトから切り貼りしたため citation できていない
  • Get-AppxProvisionedPackage -Online が何なのか理解していない
  • Set-StrictMode を加えるべき
@echo off
set EXEFILE=%~dpn0.ps1
PowerShell ^
-ExecutionPolicy ByPass ^
-WindowStyle Normal ^
-File "%EXEFILE%" %*
# 管理者権限不要
#--- ps1自体のフルパス
$scriptPath = $MyInvocation.MyCommand.Path
#--- ps1の親フォルダのフルパス
$scriptParent = Split-Path -Parent $scriptPath
#--- アプリ一覧
[string] $appListPath = Join-Path $scriptParent 'uwp_app_list.txt'
#--- アプリ一覧の読み込み
$apps = Import-Csv -Path $appListPath -Encoding Default -Delimiter "`t"
$apps | Where-Object {$_.Skip -eq ''} | Foreach-Object {
# Get-AppxPackage -AllUsers $_.AppName
Get-AppxPackage $_.AppName
} | Remove-AppxPackage
# -AllUsers で実行すると全ユーザのアプリを削除
# restore が難しくなるので通常は行わない
@echo off
set EXEFILE=%~dpn0.ps1
PowerShell ^
-ExecutionPolicy ByPass ^
-WindowStyle Normal ^
-File "%EXEFILE%" %*
# ※要管理者権限
#--- ps1自体のフルパス
$scriptPath = $MyInvocation.MyCommand.Path
#--- ps1の親フォルダのフルパス
$scriptParent = Split-Path -Parent $scriptPath
#--- アプリ一覧
[string] $appListPath = Join-Path $scriptParent 'uwp_app_list.txt'
#--- アプリ一覧の読み込み
$apps = Import-Csv -Path $appListPath -Encoding Default -Delimiter "`t"
#--- Skip 対象以外を再インストール
$apps | Where-Object {$_.Skip -eq ''} | Foreach-Object {
[string] $appName = $_.AppName
Get-AppxProvisionedPackage -Online | Where-Object {$_.Displayname -eq $appName} | Foreach-Object {
Add-AppxPackage -DisableDevelopmentMode -Register $_.InstallLocation.ToString()
}
}
# Get-AppxProvisionedPackage -Online に管理者権限が必要
# Current User に対してのみ再インストール
Skip AppName Description Restorable
4DF9E0F8.Netflix # Netflix
DolbyLaboratories.DolbyAccess # DolbyAccess
Fitbit.FitbitCoach # FitBit
king.com.CandyCrushFriends # Candy Crush Friends
king.com.CandyCrushSaga # Candy Crush Saga
king.com.FarmHeroesSaga # Farm Heroes Saga
# Microsoft.BingNews # ニュース
# Microsoft.BingWeather # 天気 TRUE
# Microsoft.DesktopAppInstaller # アプリインストーラー TRUE
Microsoft.GetHelp # 問い合わせ TRUE
Microsoft.GetStarted # ヒント TRUE
# Microsoft.HEIFImageExtension # HEIF イメージの拡張機能 TRUE
Microsoft.Messaging # Messaging
Microsoft.Microsoft3DViewer # Mixed Reality ビューアー TRUE
Microsoft.MicrosoftOfficeHub # Officeをはじめよう TRUE
Microsoft.MicrosoftSolitaireCollection # ソリティア TRUE
# Microsoft.MicrosoftStickyNotes # 付箋 TRUE
Microsoft.MixedReality.Portal # VR上でWebブラウザや写真鑑賞ができる TRUE
# Microsoft.MSPaint # ペイント3D TRUE
Microsoft.Office.OneNote # Office OneNote TRUE
Microsoft.OneConnect # 有料 Wi-fi & 携帯ネットワーク
Microsoft.People # People TRUE
# Microsoft.Print3D # プリント3D
# Microsoft.ScreenSketch # 画面切り取り TRUE
Microsoft.SkypeApp # Skype TRUE
# Microsoft.StorePurchaseApp # ストアの購入アプリ TRUE
# Microsoft.Todos # ToDo
# Microsoft.VP9VideoExtensions # VP9 ビデオ拡張 TRUE
Microsoft.Wallet # ウォレット TRUE
# Microsoft.WebMediaExtensions # Web メディア拡張機能 TRUE
# Microsoft.WebpImageExtension # Webp 画像拡張 TRUE
# Microsoft.Windows.Photos # Windows フォト TRUE
# Microsoft.WindowsAlarms # Windows のアラーム & クロック TRUE
# Microsoft.WindowsCalculator # 電卓 TRUE
# Microsoft.WindowsCamera # WindowsCamera TRUE
Microsoft.windowscommunicationsapps # メールとカレンダー TRUE
Microsoft.WindowsFeedbackHub # フィードバックHUB TRUE
Microsoft.WindowsMaps # Windows マップ TRUE
# Microsoft.WindowsSoundRecorder # サウンドレコーダー TRUE
# Microsoft.WindowsStore # Windows Store TRUE
Microsoft.Xbox.TCUI # Xbox TCUI TRUE
Microsoft.XboxApp # Xbox TRUE
Microsoft.XboxGameOverlay # Xbox TRUE
Microsoft.XboxGamingOverlay # Xbox TRUE
Microsoft.XboxIdentityProvider # Xbox TRUE
Microsoft.XboxSpeechToTextOverlay # Xbox TRUE
Microsoft.YourPhone # スマートフォンと PC の同期 TRUE
Microsoft.ZuneMusic # Groove ミュージック TRUE
Microsoft.ZuneVideo # 映画 & テレビ TRUE
NORDCURRENT.COOKINGFEVER # Cooking Fever
SpotifyAB.SpotifyMusic # Spotify
ThumbmunkeysLtd.PhototasticCollage # 画像編集
@ytez
Copy link
Copy Markdown
Author

ytez commented Feb 1, 2022

2022-02-01 Disney+ をリストに追加したい

PS> Get-AppxPackage *Disney*


Name              : Disney.37853FC22B2CE
Publisher         : CN=58DECE39-D5D0-4293-AAA0-9AF8484F12E2
Architecture      : X64
ResourceId        :
Version           : 1.22.3.0
PackageFullName   : Disney.37853FC22B2CE_1.22.3.0_x64__6rarf9sa4v8jt
InstallLocation   : C:\Program Files\WindowsApps\Disney.37853FC22B2CE_1.22.3.0_x64__6rarf9sa4v8jt
IsFramework       : False
PackageFamilyName : Disney.37853FC22B2CE_6rarf9sa4v8jt
PublisherId       : 6rarf9sa4v8jt
IsResourcePackage : False
IsBundle          : False
IsDevelopmentMode : False
NonRemovable      : False
Dependencies      : {Microsoft.UI.Xaml.2.7_7.2109.13004.0_x64__8wekyb3d8bbwe,
                    Microsoft.NET.Native.Framework.2.2_2.2.29512.0_x64__8wekyb3d8bbwe,
                    Microsoft.NET.Native.Runtime.2.2_2.2.28604.0_x64__8wekyb3d8bbwe,
                    Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe}
IsPartiallyStaged : False
SignatureKind     : Store
Status            : Ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment