XPのコマンドラインを介したVPNクライアントの接続/切断


22

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

回答:


31

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

rasdial "My VPN"

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

rasdial "My VPN" username password

接続を切断するには:

rasdial "My VPN" /disconnect

JR


2
+1。これはまさにビルド自動化スクリプトで探しているものです。思っていたよりずっと簡単です。
ジョセフフェリス

FWIW、Vistaでも動作する(予想どおり)
スコットアイザックス

1
Windows 7を使用している場合は、EMの回答を参照してください。動作しないrasphone場合rasdialは使用する必要があるかもしれません。
ADTC

5

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つのペアです)


rasdialをWindows 8.1で動作させることはできませんでしたが、これは完全に機能しました。+1
Smalltown2k

Windows 8.1で機能させるには、明示的な資格情報を提供する必要がありました。
ジェイクエドワーズ

rasdial空の文字列の有無にかかわらず同じエラーが発生します。rasphone -d動作します。注意すべきことの1つは、コマンドラインから手動で実行すると、実行直後にコマンドラインに戻ることです(接続は並列に接続されます)。ただし、コマンドをバッチスクリプト(.bat)ファイルに配置してファイルを実行すると、コマンドは.bat連続して動作します。つまり、接続が完了するまでバッチに制御を返しません。違いは、新しいユーザーがコマンドをテストするのを混乱させる可能性があります。
ADTC

rasphoneを使用すると、接続するたびにダイアログが表示されます。それを自動化し、ポップアップ表示するためのダイアログを避けるためにどのような方法がありますか?私は、このスレッド(で参照superuser.com/questions/106506/...)と、人々は、我々は、VPN接続のプロパティのオプションタブに行くことができると述べたと「名前とパスワード、証明書などのプロンプト」のチェックを外します。ただし、Windows 10を使用しているため、このようなオプションが見つかりません。
キットNg

3

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

ここに画像の説明を入力してください

ネットワーク接続制御

ネットワーク接続制御

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

ここに画像の説明を入力してください

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

ここに画像の説明を入力してください

資格情報を保存する

ここに画像の説明を入力してください

宛先VPNホスト設定

ここに画像の説明を入力してください

サイレントVPNアップ設定

ここに画像の説明を入力してください

VPNネットワーキング

ここに画像の説明を入力してください

VPN TCP Advanced

ここに画像の説明を入力してください

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


0

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

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

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

Send ("{ENTER}")

送信コマンドを見てください

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.