web-dev-qa-db-ja.com

XP

XP Proワークステーションで、ネイティブWindows VPNクライアントを起動し、コマンドラインから接続を開いたり閉じたりして、バッチファイルでスクリプト化できるようにする方法はありますか?

22
nedm

はい、VPN接続の名前が「My VPN」の場合:

rasdial "My VPN"

接続をダイヤルします。うまくいけば、接続に失敗した場合にerrorlevelをRAS=エラーコードに設定し、スクリプトが接続の失敗を検出できるようにします。保存された資格情報を使用する代わりにユーザー名とパスワードを提供する必要がある場合:

rasdial "My VPN" username password

接続を切断するには:

rasdial "My VPN" /disconnect

JR

31
John Rennie

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組の二重引用符で、間に何もない)

5
EM0

コマンドラインを実行します:Control ncpa.cpl

enter image description here

ネットワーク接続制御

Network Connections control

最初の実行では、私のVPN設定を編集します

enter image description here

セットアップ後、My VPN設定を編集します

enter image description here

資格情報を保存する

enter image description here

宛先VPNホストの設定

enter image description here

サイレントVPNアップ設定

enter image description here

VPNネットワーク

enter image description here

VPN TCP高度

enter image description here

VPNゲートウェイ

enter image description here

高度なネットワーク接続

enter image description here

優先インターフェースを設定する

enter image description here

優先インターフェースの設定を適用

enter image description here

優先ネットワークプロバイダーを設定する

enter image description here

脚本 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を使用します。

3
STTR

クライアントのコマンドラインスキームはまだ見ていません。ただし、スクリプトで自動化できないという意味ではありません。これは2段階のアプローチです。

  • VPNユーザーの通常どおりにVPNのショートカットリンクを作成します
    • ユーザー名とパスワードで構成されたままにします
  • スクリプトのみに AutoIt を使用します。
    • ショートカットを起動し、
    • vPNログインウィンドウでEnterキーを押す(すべてが構成されているときにユーザーが行うこと)

正しく思い出せば、ウィンドウでEnterキーを押すためのコードは単純ですが、

Send ("{ENTER}")

Send コマンドを見てください。

管理マシンの1つでAutoItを設定し、スクリプトを機能させ、スクリプトを実行可能にして、ユーザーに提供できます。その後、実行可能ファイルとしてコマンドラインから起動できます。

0
nik