VPN プロファイルに対してコマンドを実行してもエラーは返らず、ユーザーが開始する接続はこれまでとまったく同じように動作します。壊れているものは何もありません。Windows はネイティブの VPN プロファイルを二つのストアに保持しており、あなたが編集したのは使われていないほうです。同じ表示名が両方に存在することがあり、スクリプトは成功したように見えるのにユーザーの接続が加えた変更をすべて無視するのはそのためです。

解決策はより良いスクリプトではなく、プロファイルに名前を付ける前にスコープに名前を付けることです。

症状と二つのストア

Windows はネイティブの VPN プロファイルを、ユーザーごとの電話帳と、マシン全体のすべてのユーザー向け電話帳に保持しています。Get-VpnConnection は現在のユーザーのストアを読み、Get-VpnConnection -AllUserConnection はマシンのストアを読みます。

-AllUserConnection を付けて作成したプロファイルは、マシン上のすべてのアカウントに表示され、作成や削除には昇格したセッションが必要です。付けずに作成したプロファイルはコマンドを実行したアカウントに属し、別のユーザーがサインインしても何も見えません。どちらも同じ名前を持てますが、もう一方が存在することを警告するものはありません。だからこそ、症状はエラー メッセージではなく静かな失敗に見えるのです。

スコープが実際に決めること

スコープは二つの問いに答え、三つ目には答えません:

QuestionCurrent userAll users
Who can see the profileThe account that created itEvery account on the machine
Elevation to create or removeNot requiredRequired
Where the profile livesPer-user phone bookMachine-wide phone book
Does it authenticate a deviceNoNo
Does it start before sign-inNoNo, that needs a device tunnel

人が間違えるのは最後の二行です。すべてのユーザー向けのプロファイルはマシン スコープの保存場所であり、マシンの ID ではなく、それ自体では誰かがサインインする前に接続を利用可能にしません。Windows Always On のデバイス トンネルは、独自の証明書とプロファイルの要件を持つ別の構成です。スコープは誰がプロファイルを見られるかという話であり、マシンが何であるかという話ではありません。

可視性は認証ではない

すべてのユーザー向けのプロファイルでも、サポートされた ID と資格情報の仕組みが必要です。プロファイルをすべてのアカウントから見えるようにしても、すべてのアカウントが同じ認証済みユーザーになるわけではなく、資格情報がまとめられるわけでもありません。

設計がサインイン前にトンネルを立ち上げる必要があるなら、答えはより広いプロファイル スコープではなくデバイス トンネルです。設計が各人が自分の証明書を提示することを求めるなら、ユーザーごとのプロファイルのほうがそのモデルに合います。マシン スコープのプロファイルは他人に属する資格情報を提示できないからです。

展開とポリシーの所有

管理されたマシンでは、EMM や構成プロファイルが変更後に保存済みの状態を再作成することがあります。

これはスクリプトのバグではなく、同じストアに書き込む二人の所有者です。スコープをポリシーの所有者と調整し、コマンドを定期的に再実行するよりもポリシーを変えることを優先してください。ポリシーと競合するローカルの修正は、次の同期までプロファイルが正しく見えるマシンを作り出します。

壊れたときに記録すること

プロファイル名、対象としたスコープ、実際の接続エラーの三つをまとめて記録してください。

もう一方のストアのプロファイルに適用したルートや証明書は、ユーザーが開始するプロファイルを直しませんし、エラーの文言はあなたの編集ではなく接続を指し続けます。承認された変更の後は、意図したエントリ ポイントから再接続し、適用されたルーティングと保存された設定の両方を確認してください。プロファイル ストアは何が利用できるかに答え、アクティブな接続はデバイスが今何をしているかに答えます。

Add-VpnConnection の Microsoft ドキュメントは、スコープのスイッチをそれが変更するパラメーターの横に並べており、スコープは作成時の決定であって後から切り替える設定ではないという有用な注意点になっています。

関連記事