Windows VPN プロファイルを削除してもアクセスは失効しない
Windows VPN プロファイルの削除は電話帳の記録を 1 件消すだけで、クライアントやサーバーの信頼は消えません。正しいスコープを削除し、本当に消えたか確認してください。
Windows の設定から接続を削除し、一覧を開き直すと、また戻ってきます。設定から消えているのに PowerShell にはまだ応答する、ということもあります。VPN クライアントをアンインストールしたのにエントリが消えなかった、ということもあります。三つとも、Windows の VPN プロファイルが VPN ソフトウェアの一部だという一つの誤った前提から来ています。
そうではありません。プロファイルとは電話帳ファイルの接続記録です。それを削除しても、その記録は一つのスコープで、一つのストアから消えます。クライアント、その証明書、そしてゲートウェイがあなたの資格情報に寄せる信頼は、元の場所にそのまま残ります。
Remove-VpnConnection が実際に削除するもの
ネイティブ プロファイルは rasphone.pbk にあり、ユーザー プロファイルごとに一つの電話帳、ProgramData の下にマシン全体のものが一つあります。Get-VpnConnection はユーザーごとのエントリを一覧表示し、-AllUserConnection を加えるとマシン全体のエントリを一覧表示します。同じ名前が両方の一覧に存在でき、二つの記録は別々のオブジェクトです。
Remove-VpnConnection -Name "Old Office" -Force は一致するユーザーごとの記録を削除します。-AllUserConnection を付けた同じコマンドはマシン全体の記録を削除し、昇格したシェルが必要です。どちらにせよ、このコマンドレットが触れるのはその記録だけで、アンインストールも、証明書のクリーンアップも、サーバーへの通知もありません。Remove-VpnConnection のリファレンスにはパラメーターが列挙されており、どちらのコマンドレットも -WhatIf をサポートしています。
ですから、何かを実行する前の問いは、VPN プロファイルをどう削除するかではなく、二つの記録のどちらを見ているかです。プレビューが一行で答えます。
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress Remove-VpnConnection -Name "Old Office" -AllUserConnection -WhatIf
プレビューが何も一致しないと報告したら、スコープが違うので、もう一方のコマンドがエントリを見つけます。対象の名前が出たら、正しい記録です。
削除したのにエントリが戻ってくる理由
数分で再び現れるプロファイルは、そもそもあなたが削除すべきものではありませんでした。管理されたノート PC では、接続はたいてい、Intune またはグループ ポリシーの VPN 構成、ネットワーク チームが配布する CMAK パッケージ、あるいはログオン スクリプトといった展開から届きます。記録を削除しても、次のポリシーの更新で書き戻されます。
手がかりはタイミングです。管理されたプロファイルは、次の再起動ではなく更新サイクルで戻り、いま削除したのと同じサーバー アドレスと認証方法で戻ってきます。手動で追加したプロファイルは消えたままです。
根本から直すには、デバイスまたはユーザーから割り当てを外してもらい、それからローカルの記録を削除します。できない場合は、そのエントリを管理対象オブジェクトとして扱い、負け続ける削除を予定するのではなく、そのままにしておきます。
クライアントのアンインストールは別の作業
サードパーティのクライアントは独自のストアを持っています。Cisco Secure Client、GlobalProtect、OpenVPN GUI、WireGuard トンネル サービスは、いずれも接続データを Windows の電話帳の外に保持します。ネイティブのエントリを削除してもそれらは手つかずのままで、アプリをアンインストールしても、プロファイルが別にインポートされていたためネイティブのエントリが残ることがあります。
インポートがいつもの罠です。接続を .pbk、.cmpbk、またはダウンロードした構成ファイルから追加した場合、そのファイルを削除してもそれが作った記録は削除されず、ファイルを開き直すとまた作られます。先にエントリを削除し、次にファイルを削除し、それから一度接続して切断し、何も戻ってこないことを確認してください。
削除は失効ではない
ノート PC を紛失した、マシンを共有している、構成ファイルが漏れた、といった理由でプロファイルを削除する場合、ローカルでの削除はほぼ見せかけです。運用者が失効させるまで、ゲートウェイは証明書や事前共有キーを依然として信頼しています。記録を削除すると、このマシンが新しい接続を始めることは止まりますが、資格情報のコピーが別の場所で接続することは止まりません。
失効はアクセスを与える側で、証明書を信頼済みリストから外し、アカウントを無効化し、キーをローテーションしてください。それからローカルのプロファイルを片付けます。順序を逆にすると、プロファイルのないマシンと、まだ使える資格情報が残ります。
終わりと言う前の四段階確認
全体で約一分かかり、ほとんどすべての誤ったスコープの削除を捕まえます:
- 両方のスコープを一覧表示し、正確な名前とサーバー アドレスを書き留めます。
- 一致したスコープに対して
-WhatIfを付けて削除を実行します。 - 次に
-WhatIfなしで、エントリが全ユーザーのものであれば昇格して実行します。 - 両方のスコープをもう一度一覧表示し、設定を開き直して、ほかの接続がまだ機能することを確認します。
ステップ 4 でまだエントリが表示されるなら、削除は静かに別のスコープを対象にしていました。しばらくしてエントリが戻るなら展開を見ているので、両方のコマンドレットの一覧が空なのに設定にまだ表示されるなら、ページを閉じて開き直してください。設定は電話帳が記録を保持するより長く一覧をキャッシュします。
次は、そのエントリがローカルの残骸か管理対象オブジェクトかを見極めます。残骸は一度削除して忘れて構いません。管理対象オブジェクトは先に割り当てを変える必要があり、そうでなければ削除はただ負けるレースです。そして本当の目的がアクセスを断つことなら、ゲートウェイ側の変更は、プロファイルに何をするよりもはるかに重要です。