Skip to content

Instantly share code, notes, and snippets.

@tenpoku1000
Last active April 3, 2025 07:17
Show Gist options
  • Save tenpoku1000/fcfdc0914d643551543f376ce9f51432 to your computer and use it in GitHub Desktop.
Save tenpoku1000/fcfdc0914d643551543f376ce9f51432 to your computer and use it in GitHub Desktop.
WSL・Windows Update・Visual Studio・Chocolatey の更新をコマンド 1 行で一括で実行

WSL・Windows Update・Visual Studio・Chocolatey の更新をコマンド 1 行で一括で実行

2025/04/03 更新

事前準備

(1) PowerShell で Chocolatey パッケージマネージャの pkg.config XML 設定ファイルの取得

mkdir "$Env:HOMEDRIVE$Env:HOMEPATH\Documents\bin\MSVC"
cd "$Env:HOMEDRIVE$Env:HOMEPATH\Documents"
git clone https://github.com/tenpoku1000/Chocolatey.pkg.config

(2) 管理者として実行する PowerShell で以下のコマンドを実行(Chocolatey の導入と、各種アプリの一括インストール)

Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install "$Env:HOMEDRIVE$Env:HOMEPATH\Documents\Chocolatey.pkg.config\pkg.config" -y

(3) 管理者として実行する PowerShell で以下のコマンドを実行(WSL の導入)後、Windows を再起動。もう一度、同じコマンドで Ubuntu がインストールされる

PS C:\Users\tenpo> wsl --install
ダウンロード中: Linux 用 Windows サブシステム 2.4.12
インストール中: Linux 用 Windows サブシステム 2.4.12
Linux 用 Windows サブシステム 2.4.12 はインストールされました。
Windows オプション コンポーネントをインストールしています: VirtualMachinePlatform

展開イメージのサービスと管理ツール
バージョン: 10.0.26100.1150

イメージのバージョン: 10.0.26100.3476

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。

PS C:\Users\tenpo> wsl --install
ダウンロード中: Ubuntu
インストール中: Ubuntu
ディストリビューションが正常にインストールされました。'wsl.exe -d Ubuntu' を使用して起動できます

WSL のインストール | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/wsl/install

アンインストール操作で状態が不正になりエラーで WSL 起動に失敗する場合は、以下のコマンドを実行することで解決する場合がある

Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName "VirtualMachinePlatform"
wslconfig /u Ubuntu

Windows Subsystem for Linux のトラブルシューティング | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/wsl/troubleshooting

(4) 必要な場合、管理者として実行する PowerShell で以下のコマンドを実行後、Windows を再起動

Enable-WindowsOptionalFeature -Online –NoRestart –FeatureName "HypervisorPlatform"
Enable-WindowsOptionalFeature -Online –NoRestart –FeatureName "Client-ProjFS"

Windows Hypervisor Platform (WHP) の使い方 #Windows - Qiita
https://qiita.com/shina/items/2339ae511774f9bd6106

Windows 投影ファイル システム - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/projfs/projected-file-system

(5) PowerShell で Visual Studio をインストール path を指定してインストール(実行可能ファイル名は、適宜修正が必要な場合がある)

.\VisualStudioSetup.exe --installPath "$Env:HOMEDRIVE$Env:HOMEPATH\Documents\bin\MSVC"

WSL・Windows Update・Visual Studio・Chocolatey の更新を一括で実行

software_update.cmd をダブルクリックして実行。

UAC による管理者権限昇格を許可し、
WSL の sudo による管理者権限昇格を許可することで、
WSL・Windows Update・Visual Studio・Chocolatey の更新を一括で実行します。

(2022/06/28 現在、Windows Update のオプションの品質更新プログラム等は更新されません。手動更新が必要です)

software_update.cmd の内容

start %HOMEPATH%\Documents\bin\msvc_update.cmd
powershell -command "Start-Process -Verb runas powershell $Home\Documents\bin\upd.ps1"

参考:

Windows で sudo なことをする。 | みむらの手記手帳
https://mimumimu.net/blog/2014/12/11/windows-%E3%81%A7-sudo-%E3%81%AA%E3%81%93%E3%81%A8%E3%82%92%E3%81%99%E3%82%8B%E3%80%82/

msvc_update.cmd の内容(Visual Studio の更新)

set VS_UPDATE="C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe"
call %VS_UPDATE% update --installPath %HOMEDRIVE%%HOMEPATH%\Documents\bin\MSVC

@echo off
setlocal
set /p ch="press enter key:"

upd.ps1 の内容(WSL・Windows Update・Chocolatey の更新)

wsl sudo '$HOME/upd.sh'
cscript $Home\Documents\bin\WUA_SearchDownloadInstall.vbs /Automate
choco upgrade all -y
$input = Read-Host "press enter key"

WUA_SearchDownloadInstall.vbs のダウンロード URL

更新プログラムの検索、ダウンロード、インストール - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/wua_sdk/searching--downloading--and-installing-updates

参考:

山市良のえぬなんとかわーるど: 新しくなった WUA_SearchDownloadInstall.vbs(自動化やオフラインスキャンに対応)
https://yamanxworld.blogspot.com/2021/02/wuasearchdownloadinstallvbs.html

WSL 上の $HOME/upd.sh の内容(chmod コマンドで実行権限を付与すること)

#!/bin/sh
apt update
apt upgrade -fy
apt autoremove -fy
apt install -fy apt-file
apt-file update

WSL で Windows のファイルの読み書きを簡単にするためのシンボリックリンクを設定

Windows のホームディレクトリが C:\Users\tenpo の場合、
WSL には /mnt/c/Users/tenpo にマウント(見えるように)されているので、
以下のコマンドを投入することで、Windows のファイルの読み書きが簡単になる。

ln -s /mnt/c/Users/tenpo/Downloads ~/Downloads
ln -s /mnt/c/Users/tenpo/Desktop ~/Desktop
ln -s /mnt/c/Users/tenpo/Documents ~/Documents

OneDrive が有効化されている環境では、デスクトップ・フォルダは以下のコマンドを投入すること。

ln -s /mnt/c/Users/tenpo/OneDrive/Desktop ~/Desktop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment