こんにちは
Microsoft Store アプリケーションなどをインストールする Powershell スクリプトを作りました(Add-Package.ps1
)1。
使用方法
各サイト内から目的のパッケージファイルの uri を見つけて指定して使います2。
Windows Package Manager (a.k.a., winget)
「Windows Package Manager (latest release)」 (github.com/microsoft)
PS> .\Add-Package.ps1 -Uri https://github.com/microsoft/winget-cli/releases/download/v1.9.25180/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
Microsoft Windows Terminal
「Windows Windows Terminal (latest release)」 (github.com/microsoft)
PS> .\Add-Package.ps1 -Uri https://github.com/microsoft/terminal/releases/download/v1.21.3231.0/Microsoft.WindowsTerminal_1.21.3231.0_8wekyb3d8bbwe.msixbundle
Ubuntu 22.04
「Linux 用 Windows サブシステム ディストリビューション パッケージを手動でダウンロードする」 (docs.microsoft.com)
PS> .\Add-Package.ps1 -Uri https://aka.ms/wslubuntu2204
Ubuntu 24.04
PS> .\Add-Package.ps1 -Uri https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu2404-240425.AppxBundle
Linux kernel update package
「Install Linux on Windows with WSL」 (docs.microsoft.com)
PS> .\Add-Package.ps1 -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
QL-Win/QuickLook
「QL-Win/QuickLook Latest release」 (GitHub)
PS> .\Add-Package.ps1 -Uri https://github.com/QL-Win/QuickLook/releases/download/3.7.3/QuickLook-3.7.3.msi
ソース
# Encoding::Shift-JIS
Param($Uri)
$ext = [IO.Path]::GetExtension($Uri)
If ($ext -eq "") {$ext = ".appx"}
$file_downloaded = "temporary_"+$ext
Invoke-WebRequest -Uri $Uri -OutFile $file_downloaded -UseBasicParsing
If ($ext -eq ".msi") {msiexec /i $file_downloaded}
else {Add-AppxPackage -Path $file_downloaded}
Remove-Item $file_downloaded
winget 利用によるインストール(別方法)
もしくは、Windows Package Manager (a.k.a., winget) をインストールしたならば、それを利用して各種パッケージをより簡素にインストール可能です:
PS> winget install Ubuntu
PS> winget install -e --id Microsoft.PowerShell
PS> winget install -e --id Microsoft.WindowsTerminal
PS> winget install -e --id Git.Git
PS> winget install -e --id QL-Win.QuickLook
PS> winget install -e --id 7zip.7zip
PS> winget install mpv.net
- 参考: winget.run (Finding winget packages made simple)
-
参考:「WSL2 をすべてコマンドでインストールしたときのメモ」、「Microsoft純正パッケージマネージャ"winget"を使おう」、「winget (Windows Package Manager) 本体をコマンドラインからインストール」。 ↩
-
前もって、PowerShell コマンドライン(管理者権限)上で ExecutionPolicy を設定し、スクリプトを実行可能とする必要があります:
PS> Set-ExecutionPolicy RemoteSigned
↩ -
参考:「テキストファイルを「メモ帳」で開く(powershell スクリプト)」。なお
Invoke-Item
コマンドを使って、ソーステキストファイル(txt や ps1 ファイル)を「メモ帳」で開くことができます3:PS> Invoke-Item Add-Package.ps1
↩ ↩2