XP Proワークステーションで、ネイティブWindows VPNクライアントを起動し、コマンドラインから接続を開いたり閉じたりして、バッチファイルでスクリプト化できるようにする方法はありますか?
はい、VPN接続の名前が「My VPN」の場合:
rasdial "My VPN"
接続をダイヤルします。うまくいけば、接続に失敗した場合にerrorlevelをRAS=エラーコードに設定し、スクリプトが接続の失敗を検出できるようにします。保存された資格情報を使用する代わりにユーザー名とパスワードを提供する必要がある場合:
rasdial "My VPN" username password
接続を切断するには:
rasdial "My VPN" /disconnect
JR
Windows 7で動作する代替手段(XPについては不明):
rasphone -d "My VPN"
これにより、接続をダブルクリックした場合と同じように、「ダイアリング」ダイアログが表示されます。ユーザー名とパスワードが保存されている場合は、自動的にダイヤルされます。
rasdial
が機能しませんでした(Windows 7の場合):
Verifying username and password...
Remote Access error 691 - The remote connection was denied because the user name
and password combination you provided is not recognized, or the selected authen
tication protocol is not permitted on the remote access server.
Windows 7で空の文字列を追加すると、キャッシュされた資格情報で動作します:rasdial "My VPN" "" ""(2組の二重引用符で、間に何もない)
コマンドラインを実行します:Control ncpa.cpl
ネットワーク接続制御
最初の実行では、私のVPN設定を編集します
セットアップ後、My VPN設定を編集します
資格情報を保存する
宛先VPNホストの設定
サイレントVPNアップ設定
VPNネットワーク
VPN TCP高度
VPNゲートウェイ
高度なネットワーク接続
優先インターフェースを設定する
優先インターフェースの設定を適用
優先ネットワークプロバイダーを設定する
脚本 Silent-dial.cmd
:
:: - comment in cmd) - REM alternative
:: disabled command output
@echo off
:: Silent dial "My VPN"
@rasphone -d "My VPN"
:: wait 10 sec W2K3 server test
::@SET waitsec=10
::@choice /T %waitsec% /N /D y /M "wait %waitsec% sec"
:: wait 10 sec - alternative - XP .. 7
@ping 127.0.0.1 -n 10 > NUL
:: ********************************************
:: get path
:: set route table
:: run application
:: ********************************************
@ping 127.0.0.1 -n 10 > NUL
:: silent close "My VPN" connection
@rasphone -h "My VPN"
:: END Silent-dial.cmd
PowershellまたはWSHを使用します。
クライアントのコマンドラインスキームはまだ見ていません。ただし、スクリプトで自動化できないという意味ではありません。これは2段階のアプローチです。
正しく思い出せば、ウィンドウでEnterキーを押すためのコードは単純ですが、
Send ("{ENTER}")
Send コマンドを見てください。
管理マシンの1つでAutoItを設定し、スクリプトを機能させ、スクリプトを実行可能にして、ユーザーに提供できます。その後、実行可能ファイルとしてコマンドラインから起動できます。