新しいWindowsサンドボックスではコマンドラインからの制御が可能に
ASCII.jp / 2024年9月29日 10時0分
現在プレビュー中のWindows 11 Ver.24H2(OSビルド25120.1843、9月20日公開)向けに、Windowsサンドボックスのプレビュー版が公開されている。
このプレビュー版では、コマンドラインからのサンドボックス制御やウィンドウ内のメニューによる設定変更が可能になった。ここでは、新しいプレビュー版のWindowsサンドボックス(以下、プレビュー版)について解説する。現行のWindows 11 Ver.23H2に同梱されているWindowsサンドボックスを「現行版」とする。
そもそもWindowsサンドボックスとは?
Windowsサンドボックスは、Windowsの軽量仮想マシン環境を使う、ソフトウェアなどの検証環境である。インストールされているWindowsと同じバージョン、同じアップデートが適用された、まっさらなWindows環境を起動できる。ここではソフトウェアのインストールやシステム設定などが自由にできるが、終了後は一切記録が残らず、ホスト側への影響もほとんどない。
このため、セキュリティ的に心配だったり、開発中のソフトウェアの検証に利用できる。それ以外にも、レジストリ変更などをしたらどのようになるかも試せる。逆に言えば、こうした作業が必要ない場合は、ほとんど使い道がない。主にソフトウェア開発や、企業でのシステム管理などを想定した機能と言える。
Windowsサンドボックスは、Windows 10 Ver.1903(2019年の上半期にリリースされたWindows 10)で最初に搭載された。Hyper-Vによる仮想環境と異なり、簡易な仕組みで、Windowsのライセンスは別途不要、仮想ハードディスクファイルなどを作る必要もない。
なお、従来版のWindowsサンドボックスは、Windows 11自体に含まれており、「コントロールパネル」→「プログラムと機能」→「Windowsの機能の有効化または無効化」で設定できる。
現行版Windowsサンドボックスはシステムフォルダ(C:\Windows\System32)にある
C:\WINDOWS\system32\WindowsSandbox.exe
が本体で、Windowsサンドボックスの仮想マシン環境を起動する。その表示は、おそらくWSLなどと同じRDPベースのクライアントがする。それが、同じフォルダにある
C:\WINDOWS\system32\WindowsSandboxClient.exe
と考えられる。
これに対して、プレビュー版は、Microsoftストア経由で配布されるようになった(記事冒頭画面)。wsb.exeは、アプリ実行エイリアスで、ユーザーフォルダ以下の場所に置かれている。
$env:LOCALAPPDATA\Microsoft\WindowsApps\Wsb.exe %LOCALAPPDATA%\Microsoft\WindowsApps\Wsb.exe
これは、「Windows Sandbox Command Line Interface」と呼ばれている。ここには「WindowsSandboxRemoteSession.exe」と「WindowsSandboxServer.exe」もあり、「wsb.exe start」でサンドボックスを起動すると、WindowsSandboxServer.exeが起動し、「wsb.exe connect」でサンドボックスウィンドウを開くと、WindowsSandboxRemoteSession.exeが起動する。どちらも実体は、以下のパッケージのインストール先にある。
C:\Program Files\WindowsApps\MicrosoftWindows.WindowsSandbox_0.2.24.0_x64__cw5n1h2txyewy
ただし、プレビュー版25120.1843では、「C:\WINDOWS\system32」以下に「WindowsSandbox.exe」と「WindowsSandboxClient.exe」が残っていた。
構成ファイルからコマンドライン指定に
これまでのWindowsサンドボックスは、起動時にXMLで記述された構成ファイル(.WSBファイル)を読み込んで環境を構築していた。以下の表にWSBで使われるXMLタグ定義を示す。
Windows 11 Ver.22H2では、リスタートとシャットダウンが区別できるようになり、再起動でサンドボックスが終了しなくなった。一方でこれより前のサンドボックスでは、再起動でシステムが終了してしまっていた。
このためWindows 10では、言語切り替えなど再起動が必要な設定を変更できず、日本語版Windowsであっても、サンドボックスは英語版でしか起動できなかったのだ。
また、Windows 11では、既定の言語設定がサンドボックスに取り込まれたため、日本語版Windowsでは、日本語で起動可能になった。
しかし、必要なアプリケーションの設定や、ホスト側との共有フォルダなどの設定は、単一のWSBファイルにあらかじめすべて起動しておく必要があった。部分的には同じ構成であっても、それぞれを別ファイルとして作成しなければならず、管理が面倒だった。
一方でプレビュー版サンドボックスは、コマンドラインオプションで環境構成を指定できる。また、サンドボックスウィンドウのタイトルバーに設定アイコン(3つのドットが横に並んだアイコン)が設置され、その場で設定を変更可能になった。
以下の表にwsb.exeの引数を示す。
基本的な書式は、
wsb.exe <サブコマンド> <サブコマンドオプション> wsb.exe <オプション> となる。
従来のサンドボックスでwsbファイルでしていた設定は、プレビュー版ではコマンドラインと設定メニューで可能になる。
wsbファイルの場合、一回設定したクリップボードやオーディオ入力、ビデオ入力に関しては、サンドボックスの起動中には停止できず、サンドボックス自体を終了するまで有効だった。しかし、プレビュー版では、メニューを使って、有効無効を随時設定可能になった。セキュリティという点ではより安全になったと思われる。
基本的なwsbコマンドの使い方としては、
#サンドボックスの起動 wsb.exe start #起動している<SandboxID>の取得 wsb.exe list #サンドボックスウィンドウの表示 wsb.exe connect --id <SandboxID> #サンドボックス内でコマンドを起動 wsb exec --id <SandboxID> --command "explorer.exe" --run-as ExistingLogin #サンドボックスの終了 wsb.exe stop --id <SandboxID>
という流れになる。wsb.exeで起動した場合、サンドボックスウィンドウをタイトルバーの終了ボタンから閉じても、サンドボックスのインスタンス自体は残り続ける。これを停止するには、wsb.exeのstopサブコマンドを使う必要がある。
このコマンド体系を見るに、設定関連のコマンドは、<SandboxID>を指定する必要がある。複数のサンドボックス・インスタンスを<SandboxID>で切り替えて処理できそうだが、プレビュー版は、従来と同じくインスタンスを1つしか同時に起動できない。将来的には、複数のサンドボックスを同時に起動できるようにする布石なのかもしれない。
従来のサンドボックスでは、起動前に.wsbファイルを作成する必要があり、複数設定を使う場合には、共通部分があっても、それぞれファイルを用意する必要があった。しかし、コマンドラインからの制御が可能となり、必要に応じたサンドボックス環境をコマンドラインから指定できるようになった。
ということは、その場その場でコマンドを打って環境を構築可能なだけでなく、事前に作成したスクリプトの組み合わせでも環境設定ができる。また、プレビュー版では、wsbファイルによる設定、起動にも対応しており、その後wsb.exeによる管理も可能だ。
このため、共通する基本的な設定をwsbファイルでして、その後コマンドラインやスクリプトで設定を部分的に変更できる。
従来のようにwsbファイルやスタートメニューのWindowsサンドボックスから起動した場合、サンドボックスウィンドウを閉じると自動的にサンドボックスのインスタンスが終了になる点に注意が必要だ。
人によっては、さまざまな用途に使えるWindowsサンドボックスだが、今回のコマンドラインからの制御で使い勝手が上がった。多様な環境を事前に作っておく必要がなく、コマンドラインから作成したのち、必要なコマンドを並べてスクリプトすることで、同じ環境が再開できる。
できれば、完成までには、複数のインスタンスを同時起動できるようになると、さらに便利になりそうだ。なお、今回の解説はあくまでもプレビュー版によるもので、最終製品では仕様が異なる可能性がある。24H2の配布が開始され、Windowsサンドボックスが正式版となったら再度評価したい。
この記事に関連するニュース
-
「Windows 11 2024 Update(バージョン24H2)」の既知の不具合まとめ【2024年11月27日現在】
ITmedia PC USER / 2024年11月27日 17時50分
-
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた
ASCII.jp / 2024年11月24日 10時0分
-
延期が続く「Recall」、12月のプレビュー提供はどうなる? 阿久津良和のWindows Weekly Report
マイナビニュース / 2024年11月17日 16時0分
-
Windows上でhostsファイルを活用する
ASCII.jp / 2024年11月17日 10時0分
-
Windows Subsystem for Linuxガイド 第41回 WSL GUI設定
マイナビニュース / 2024年11月7日 15時31分
ランキング
-
1NHKのネット受信契約(案)が“ダークパターン”過ぎて見過ごせない件(前編) NHKの見解は?
ITmedia NEWS / 2024年11月28日 19時9分
-
2どうする? 大学生用パソコンの選び方 「4年通しよりも2年で買い替え」がオススメな理由
ITmedia NEWS / 2024年11月28日 13時26分
-
3「ミリ波対応スマホ」の値引き規制緩和で感じた疑問 スマホ購入の決め手にはならず?
ITmedia Mobile / 2024年11月28日 18時13分
-
4松屋が“店内持ち込み”で公式見解→解釈めぐり賛否 「何と言うサービス精神」「バレなきゃいいのか……?」
ねとらぼ / 2024年11月28日 20時2分
-
5ローン・クレカ審査可否の背景が分かる 信用スコア開示サービスがきょうスタート
ITmedia NEWS / 2024年11月28日 13時59分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください