どうもミツシマです。
前回「(Windows10)プロビジョニングされたストアアプリを一括削除する方法を検証してみた 〜Remove-AppxProvisionedPackage〜」にてプロビジョニングされたストアアプリの一括削除を検証してみた。
前回のケースだとコマンド実行後に新規で作成されたプロファイルでは、ストアアプリのインストールを抑制出来るが、既にプロファイルが出来ているもののストアアプリはそのままである。
その為、今回は既にストアアプリがインストールされた環境にて指定されたストアアプリ以外を一括削除する方法を検証してみました。
検証環境は以下の通り
PC:Windows10 Pro 1809
完成したスクリプトがこちら↓↓↓
↓実行前↓

↓実行後↓

「Microsoft.NET.Native~」というのは恐らくアンインストール出来ないのかな~~!?!?
ストアアプリがある隠しフォルダのアクセス権とか変更すればいけるのか~~!?!?
ま、でも直接スタートメニューに出てくるようなストアアプリは一括削除出来たようなので今回OKとしようかな(^^♪
前回「(Windows10)プロビジョニングされたストアアプリを一括削除する方法を検証してみた 〜Remove-AppxProvisionedPackage〜」にてプロビジョニングされたストアアプリの一括削除を検証してみた。
前回のケースだとコマンド実行後に新規で作成されたプロファイルでは、ストアアプリのインストールを抑制出来るが、既にプロファイルが出来ているもののストアアプリはそのままである。
その為、今回は既にストアアプリがインストールされた環境にて指定されたストアアプリ以外を一括削除する方法を検証してみました。
検証環境は以下の通り
PC:Windows10 Pro 1809
完成したスクリプトがこちら↓↓↓
~RemoveStoreApps.ps1~
#削除したくない(残したい)ストアアプリのリストを定義 (注)Name!!
#ここでは「ストア」・「付箋」・「電卓」・「スクリーンスケッチ」を残すように指定している
$LeaveAppsList = @(
"Microsoft.WindowsStore",
"Microsoft.MicrosoftStickyNotes",
"Microsoft.WindowsCalculator",
"Microsoft.ScreenSketch"
)
#ストアアプリの一覧取得(システム上動作しているものを除く)
$UserStoreAppsInfo = Get-AppxPackage | Where { $_.SignatureKind -ne "System" }
foreach($StoreAppInfo in $UserStoreAppsInfo){
#判定変数
$LeaveListJudge = $false
$StoreAppName = $StoreAppInfo.Name
$StoreAppPackageFullName = $StoreAppInfo.PackageFullName
#残すリストと照らし合わせる
foreach($List in $LeaveAppsList){
If ($List -eq $StoreAppName){
#残すリストにあった場合に「True」とする
$LeaveListJudge = $true
}
}
#ストアアプリの内、残すリストになかったストアアプリを削除する
If ($LeaveListJudge -eq $false){
Write-Output "削除するストアアプリ名:$StoreAppName"
Write-Output "削除するパッケージ名:$StoreAppPackageFullName"
Remove-AppxPackage -Package $StoreAppPackageFullName
}
}
~解説~
今回もPowershellコマンドを使用している。
実際にストアアプリを削除するコマンドは「Remove-AppxPackage」。
そして前回同様スクリプト自体の構成としては、まず変数「$LeaveAppsList」に残しておきたいストアアプリの一覧を定義している。
ここでは、「ストア」・「付箋」・「電卓」・「スクリーンスケッチ」を残すように定義している。
(なぜこの4つかというと個人的に使用しそうなストアアプリかな〜〜と思われるからである。)
このリストを変更する際にストアアプリの名前を確認したい時には
「Get-AppxPackage | Where { $_.SignatureKind -ne "System" } | Select-Object Name,PackageFullName」
コマンドで確認することが出来る。
ここではシステムで動作しているものはアンインストール出来ない為、除外するようにしている。
※単純に「Get-AppxPackage | Where { $_.SignatureKind -ne "System" }」でも確認出来るが、見やすくするために上記のようにしている
注意点としてはこのリストには「Name」を記述するようにすること!!
後は実際にストアアプリの一覧を取得した後、残しておきたいストアアプリの一覧と照らし合わせて、リスト以外のストアアプリを一括削除する流れになる。
実際に使用する際には一旦「Remove-AppxPackage」の行をコメントアウトして、残しておきたいストアアプリが削除対象になっていないかを確認した方がいいかも!!!
実際にコマンド実行前後のストアアプリの一覧はこんな感じ
↓実行前↓

↓実行後↓

「Microsoft.NET.Native~」というのは恐らくアンインストール出来ないのかな~~!?!?
ストアアプリがある隠しフォルダのアクセス権とか変更すればいけるのか~~!?!?
ま、でも直接スタートメニューに出てくるようなストアアプリは一括削除出来たようなので今回OKとしようかな(^^♪
スポンサードリンク
コメント