バッチファイルを作成してVPN接続を開始してからRDPセッションを開始できることはわかっていますが、(Windows7および理想的にはWindows XPも))で可能かどうかを知りたいです。 RDPセッションステータスに関連付けられたVPN接続。
シナリオ:ユーザーがRDPを実行できるようにするには、最初にVPNを実行する必要があります。理想的には、ユーザーは1つのアイコン(バッチファイル?)をクリックしてVPN接続を開始し、RDPセッションをロードします。彼らがRDPセッションを閉じるときに、VPNを自動的に切断して、後続の非RDPブラウジング+インターネットアクティビティをVPN経由で誤ってルーティングしないようにします。
この質問は非常に古いものだと思いますが、つまずいた人のためにメソッドを追加したいと思いました。
@echo off
:: Connecting to VPN...
rasdial "VPN Name" user pass
echo Running RDP...
"Connect to Server.rdp"
echo Finished - disconnecting from VPN...
rasdial "VPN Name" /disconnect
RasdialはWindowsに組み込まれており、接続と切断に使用されます。 「VPN名」は、設定時にVPN接続と呼んだものに置き換えてください。最初の行の「user」と「pass」を実際のユーザー名とパスワードに置き換えてVPNに接続します(VPNの作成時に資格情報を保存することを選択した場合でも、Rasdialではそれらを入力する必要があります)。
バッチスクリプトは同期的に実行されるため、rasdialはRDPファイルを開く前にVPNへの接続を完了し、RDPセッションが開いている間はバッチスクリプトが待機します。 RDPセッションが閉じられるとすぐに、最後のコマンドが実行されてVPNが切断されます。シンプル!
デスクトップにバッチスクリプトへのショートカットを配置し、そのアイコンを通常のRDPスクリプト(C:\ Windows\System32\mstsc.exeから)に変更する傾向があります。ユーザーにcmdウィンドウを表示させたくない場合は、スクリプトを最小化して開始することを選択できますが、VPNに接続するときにエラーがあるかどうかを確認できるように、スクリプトを表示したままにしておきます。
次のようにrasdial
をrasphone
に変更することで、Windows10で@Gechurchの回答を使用できました。
@echo off
:: Connecting to VPN...
rasphone.exe -d "My VPN"
echo Running RDP...
"Remote Server.rdp"
echo Finished - disconnecting from VPN...
rasphone.exe -h "My VPN"
スタンドアロンのVPNクライアントプログラム(Cisco AnyConnectなど)を使用している場合は、Googleを使用してその製品のコマンドラインオプションを検索し、単一のコマンドで接続できるかどうかを確認します。次に例を示します。 AnyConnect 、 汎用Ciscoクライアント 、および Windows VPNクライアント はすべてこれをサポートします。ただし、これには、パスワードをプレーンテキストでバッチファイルまたはスクリプトに保存する必要がある場合があります。
その情報を取得したら、 バッチファイルを作成 VPNクライアントを呼び出します。おそらく スリープ 数秒でVPNリンクが正常であることを確認してから、 コマンドラインからリモートデスクトップクライアントを呼び出します 。
接続を確認するためにスリープする代わりに、本当に凝ったものにしたい場合は、VPN経由でのみアクセス可能なリソースへのpingを実行し、そのpingが成功しない場合にスクリプトがエラーを返すようにすることができます。
バッチファイルを取得し、それ(またはショートカット)をデスクトップまたは任意の場所に配置すると、ワンクリックで「VPNに接続してからリモートデスクトップを開く」アプリが表示されます。
一方、VPNクライアントがコマンドライン経由で接続できないようなものである場合は、 AutoIT または他のマウス/キーボードマクロスクリプト言語を調べて、接続できるかどうかを確認します。 VPN接続を自動化します。