このページの本文へ

前へ 1 2 次へ

Windows Info 第166回

Windows 10のアプリテスト用環境「Windows Sandbox」の構成ファイル

2019年03月31日 10時00分更新

文● 塩田紳二 編集● ASCII編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

Sandboxの構成ファイルであらかじめ環境を設定しておく

 Sandboxの構成ファイルは、WSBという拡張子を持ち、最初からSandboxと関連付けてあるため、構成ファイルのダブルクリックでSandboxを起動できる。複数の構成ファイルをつくっておけば、用途に合わせて環境を切り替えて使うこともできる。残念なことにSandboxは単独でしか実行できず、複数のインスタンスを同時に起動することができない。面倒でも複数環境は1つ1つ起動して利用するしかない。

 WSBファイルの中身はXML形式だが、その構造は単純で、タグで囲まれている部分のみを書き換えれば、ほとんどの用途をカバーできる。また、システム側との共有フォルダーがサポートされたたため、環境構築のスクリプトやインストールするアプリなども共有フォルダーに置いておけるようになった。

 構成ファイルには、大きく、以下の設定要素がある。

<VGpu>:vGPU利用の可否
<Networking>:ネットワーク利用の可否
<MappedFloders>:共有フォルダー(複数可)の指定
<LogonCommand>:ログオンコマンド

 構成ファイルは、以下のようなもので、タグで囲まれた部分を書き換えて設定する。

Sandboxの構成ファイル(.WSB)はxml形式だが、このようなテキストファイルを作り一部を書き換えるだけでよい。なお、ファイルを保存する場合にはかならずUTF-8形式を選択する

 「vGPU」の利用の可否では、仮想環境からGPUの仮想化を介してGPU機能を利用するか、Windows組み込みのソフトウェアレンダリングを使うかを切り替える。設定値は「Disable」と「Default」のどちらか。普通は「Default」のままでいいだろう。Disableとすると、組み込みのソフトウェアレンダリングを利用する。

 「Networking」は、ネットワーク接続の有無を切り替えるもの。ネットワーク接続を禁止することで、よりシステム側のセキュリティが高まる。ただ、よほど危険と思われる場合以外は、「Default」としてネットワークを許可しておいてもいいだろう。「Disable」を設定することでネットワークを禁止できる。

Networkingタグで、ネットワークの有無を設定できる。ネットワークを禁止することでセキュリティを高めることが可能

 「MappedFloders」は、ホスト側との共有フォルダーを指定するもの。複数のフォルダーが指定可能で、読み出しのみ可能で書き込みを禁止することもできる。このタグの下に複数の「MappedFolder」(単数形であることに注意)を書き、複数の指定をする。

 なお、指定したフォルダーは、すべてデスクトップの直下にマッピングされる。このとき,フォルダー名のみが有効となり、元のパスは使われないため注意が必要だ。たとえば、「C:\temp\SandboxTest\Script」というホスト側フォルダーをマッピングすると、Sandbox内では、「C:\users\WDAGUtilityAccount\Desktop\Script」というフォルダーが見えるようになる。このため、同名のフォルダーは、たとえパスが違っても同時に指定することができない。

 「LogonCommand」は、起動直後に実行されるコマンドを指定する。マイクロソフトは、いわゆる「ログイン」を「ログオン」といったり「サインイン」というなど、用語が乱れている感がある。Sandboxではいわゆる「サインイン」操作は不要で起動するといきなりデスクトップが表示され、サインイン状態で起動する。このときに実行されるコマンドを「LogonCommand」タグで指定する。

 ここに直接exeファイルを記述することもできるが、1行のみなので、バッチファイルを指定したほうがいいだろう。ただ、直接バッチファイル名を書くと、cmd.exeが起動したままとなり、コンソールウィンドウが残ったままになる(最初の起動なので暗黙的に常駐オプションが指定されるのだと思われる)。このため、以下のようにcmd.exeに/cオプションを使って指定したほうがいい。

<LogonCommand>
  <Command>cmd.exe /c C:\users\WDAGUtilityAccount\Desktop\Script\auto.bat</Command>
</LogonCommand>

 また、こうしたスクリプト自体も共有する可能性があるため、専用に1つフォルダーを作っておき、これをMappedFolderで指定して起動する。前述のようにSandbox内では、スクリプトへのパスが違うため、バッチファイルを記述する場合には注意が必要だ。

 XMLファイルは、文字エンコードを原則UTF-8を用いており、もし、注釈などに日本語をいれた場合には、保存時の文字コードに注意したい。メモ帳なら、初回の保存時にUTF-8を指定しておく。アルファベットのみならASCIIコード(メモ帳の表記はANSI)のままでもかまわないが、のちのち変なトラブルに巻き込まれないようにUTF-8で保存することをお勧めする。

 WSB構成ファイルを使うことで、Sandboxは環境設定が可能になった。ただ、Windowsのオプション機能やMicrosoftストアなど一部対応していない部分もある。また、「コンテナー実行エージェント」(CExecSvc.exe)など、明らかにSandboxの中で動作していることを知られてしまうようなプロセスが見えてしまう。悪意のあるソフトウェアなら、こうしたプロセスの有無から挙動を変えることもしかねない。もう少しという感じがあるのだが……。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン