ユーザーが[自動接続]のチェックを外すと、プロファイルは接続しなくなります。数か月後、展開チームは同じ名前の更新プロファイルを配布し、トリガーが戻ると期待しますが、戻りません。理由は、選択がプロファイルだけにあったわけではないからです:Windows はそのプロファイル名に対するユーザーの決定を独自の状態に記録しており、再インストールでも消えません。プロファイル ファイルは構成の半分にすぎません。

チェックボックスが実際に書き込むもの

自動接続オプションを外すことは、プロファイルの XML の外に保存されるデバイスごとの決定です。Microsoft はこれを、自動トリガーが無効になっているプロファイル名のリストとして文書化しており、そのためプロファイルを削除して再追加しても設定は残ります。

この設計はユーザーの立場からは理にかなっています。従量制接続で自動接続をオフにした人が、次のポリシー更新で黙って再びオンにされるとは期待しません。

また、プロファイル名はラベルではなく識別子でもあります。同じ名前の二つのプロファイルはそのリストにとって同じエントリであり、名前を変えると、保存された設定がまったくない新しい識別子が作られます。

プロファイルを再インストールしてもリセットされない理由

VPN 接続を削除し、更新されたファイルから追加し直すと、プロファイル オブジェクトが削除されて再作成されます。しかしユーザーの決定の記録は削除されません:その記録はプロファイルの内部識別子ではなく名前をキーにしているからです。

つまり、更新が届き、プロファイルが存在して正しく構成されていても、トリガーは発火しません。プロファイルの中にはそれを説明するものが何もないため、壊れた展開としてエスカレーションされます。

同じ動作は意図的にも使えます:更新で同じ接続を維持したいときはプロファイル名を安定させ、新しく始めたいときだけ変えます。保存された設定を逃れるための名前変更は機能しますが、古いエントリも残るため、デバイスには何にも対応しない名前がたまっていきます。

XML に触る前にどちらを選ぶかを決めてください:名前がスイッチだからです。

アクティブなプロファイルは一つ、候補は複数

Windows は自動トリガーを限られたプロファイル群に適用し、複数の候補プロファイルがあっても、すべてが競合する既定として接続するわけではありません。一つがアクティブになり、ほかは待機します。

これが問題になるのは、デバイスがユーザー スコープとデバイス スコープの似た名前のプロファイルを両方受け取ったときです。これらは同じ接続ではなく、自動接続するのは選択ルールが選んだものであって、テストしたものとは限りません。ほかのプロファイルで通ったテストは、トリガーについて何も証明しません。何かを変える前に、どのプロファイルが応答したかを記録してください。

更新前に保存状態を確認する

プロファイルの変更を配布する前に、デバイスが現在保持しているものを確認します:接続オブジェクト、その状態、無効化された自動トリガーの保存リストです。

次のコマンドは VPN 接続を一覧し、レジストリで文書化された値を検索します:

Get-VpnConnection | Select-Object Name,ConnectionStatus,SplitTunneling
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Network /s /f AutoTriggerDisabledProfilesList

展開しようとしているプロファイルに一致するエントリがあれば、ユーザーの選択はすでに記録されています。これは黙って修復すべき不具合ではなく、ポリシーが考慮すべき状態です。

どのポリシーにするかを決める

擁護できるポリシーが 二つと、悪い習慣が一つあります。一つ目は、ユーザーが変えるまでそのオプトアウトを尊重し、管理されたデバイスではトリガーが助言的なものであると文書化します。二つ目は自動接続をコンプライアンス要件として扱い、その場合はオプトアウトをそもそも提供すべきではありません。

悪い習慣は、トリガーを無理に戻すために無関係な状態を書き換えることで、次の更新までは機能しますが、誰にも説明できない設定をデバイスに残します。

選択はプロファイルを保守している場所に、見直す価値のある 四つの遷移とともに書き留めてください:初回プロビジョニング、通常のトリガー、許可されたユーザー変更、同じ名前への更新です。自動化、ルーティング スコープ、切断状態の強制は別々の制御であり、Always On というラベルはそのいずれの保証でもありません。

関連記事