Cisco AnyConnect v3.1 AutoLogin


10

自動ログインに関して、Cisco AnyConnect v3.1で少し問題があります。私は毎日1台のサーバーに常時接続している必要があり、毎日16文字のパスワードを掘り下げる必要がなかったとしたら、それはすばらしいことです。クライアントに自動的にログオンしてもらいたいのですが、現時点では可能かどうかさえわかりません。

AnyConnectソフトウェアはホスティング会社から提供されたものであり、私も私の組織の誰も管理面にアクセスできないことに注意してください。「AnyConnectプロファイルエディタ」と呼ばれるソフトウェアがインターウェブ上にあることは確認しましたが、シスコは有効なログインなしではダウンロードを許可しませんでした。

私は%appdata%\local\cisco\cisco anyconnect secure mobility client\preferences.xml自分の設定%programdata%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\ANYCONNECT.XMLを確認したり、プロファイル設定を確認したりしました。これらのどちらも、私の資格情報を保存できる場所を示していませんでした。私は自分のパスワードを数か所で探し出そうとして、自分のプロファイルを何度か壊しさえしました。うまくいきませんでした。

最後に、クライアントとサーバーの証明書の「拇印」とSDIトークンと呼ばれるものを指定しているように見えるこのフォーラムの投稿を見つけました。

免責事項:私は毎日フロントエンドのWeb開発者であり、自分でネットワーク管理を行わなければならなかったので、かなり長い時間がかかりました。


1
これは通常、Anyconnectアクセスを管理する人々によって設定および制御されるポリシーです。構成のその部分にはアクセスできないとおっしゃっていましたが、私たちがあなたを助けるために私たちにできることがたくさんあるとは思いません。そして、これは「エンドユーザー」の質問としてトピックから外れている可能性があります。
Brett Lykins 2013年

細部まで合理的な質問... スーパーユーザーに
Mike Pennington

回答:


16

Cisco AnyConnect Mobility Client v3.1を起動して自動的にログインするためのスクリプトを次に示します。このスクリプトをFILENAME.vbsとして保存し、 PASSWORDをパスワードに置き換え、必要に応じて(おそらくそうではない)VPN Client exeへのパスを置き換えます。また、接続速度に応じて2番目のスリープ時間を調整する必要がある場合もあります(鉱山の作品)確実に5000ですが、自宅に電話をかけるのに必要な時間が少なくなる場合があります)。私は自分のタスクバーにピン留めしましたが、ホットキーでもかまいません。

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run """%PROGRAMFILES(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"""

WScript.Sleep 3000

WshShell.AppActivate "Cisco AnyConnect Secure Mobility Client"

WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{ENTER}"

WScript.Sleep 5000

WshShell.SendKeys "PASSWORD"
WshShell.SendKeys "{ENTER}"

1
かなり素晴らしいソリューションです!私はいくつかの追加のTABENTER、およびsleepを私の特定のケースに配置しましたが、それは完全に機能しました。私のマシンとインターネット接続(300Mbitダウンおよびアップ)では、すべてのスリープ時間を0.5秒(500ミリ秒)に短縮し、VPN接続を超高速で取得しました。ありがとうございました!
informatik01

1
!注:パスワードは文字%が含まれている場合(^〜+、あなたはそれらの周り{と}配置する必要があります。
jeroenk

4

私はこれらの線に沿って何かを使用します:

set FILE=%TEMP%\tmp
echo connect your.host.name> %FILE%
(echo 0)>> %FILE%
echo yourUserName>> %FILE%
echo yourPassWord>> %FILE%
"C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s < %FILE%

更新:なぜ括弧は、周りのecho 0?とは異なる選択を行うとき、これは、あなたを思い出させる必要がある0こと、1>または2>リダイレクトする、特別な意味を持っているstdoutstderr、それぞれ-しかし、エコーではない12。私たちは(と安全側に滞在するのでecho 0))。

これはもう少し簡潔です:

(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord& echo.) > %FILE%
more %FILE% | "C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

ただし、一時ファイルなしで同じことを達成したい場合、これは私にとっては機能しません-興味があります、なぜですか:

(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

更新:これは機能し、https//stackoverflow.com/a/29747723/880783で見つかります

(echo connect your.host.name^& echo 0^& echo yourUserName^&echo yourPassWord^&rem.) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

これらすべてのバリアントは、もちろんサーバーの構成(特に、選択する必要のあるVPNグループ)に依存します。入力する必要があるものを見つけるにvpncli.exeは、パラメーターを指定せずに一度呼び出し、で始めてconnect your.host.name、プロンプトが表示される内容をメモします。

更新:これには、サーバー、ユーザー名、パスワードに関して完全な自由を提供するという追加の利点があり、スリープ値に依存しません(システムが他のものでビジーになる傾向がある場合は常に困難です)。


2
-sスイッチは、クライアントのバージョン3.1では使用できません。バージョン4.1はありますか?そのバージョンはどこかで公開されていますか?シスコのWebサイトからダウンロードするための有効なライセンスがありません。
SzilardD 2015

はい、バージョン4以降を使用しました。しかし、私は法的な公的情報源を知りません(おそらく輸出規制のため)。
ビール

3

私はこの「まあ」答えで自分の質問に答えています。それは私が求めていたものではありません。元の質問によりよく答えられる別の答えを喜んで受け入れます。

自動ログインがうまくいかなかったので、次に考えられる最善の方法は、とんでもなく長いパスワードを自動的にクリップボードにコピーすることでした。Windowsでは、.batこれを本文に含むファイルを作成しました。

echo|set /p=MyPassword|clip

「MyPassword」は実際のパスワードです。

このファイルをダブルクリックすると、パスワードがクリップボードにコピーされ、すばやくログインできます。何もないよりマシ!


軽い自動化作業を行う場合は、autoitを使用してVPNアプリを起動し、パスワードをパスワードフィールドにコピーします
Mike Pennington

2
echo|set /p=MyPassword|clipちょうど、と比較しての利点は何echo MyPassword|clipですか?
2015年

3
@bersだけを使用する場合は、your_passの最後に改行文字echo your_pass| clip追加/追加します。自分で試してみてください。一部のエディターに貼り付けると、カーソルが次の行にあることがわかります(Notepad ++SciTEなどの改行文字を表示できるエディターがある場合、それを使用するとCRLFが表示されますyour_passの最後のウィンドウ)。しかし、MikeZの現在のソリューションは(パスワードをクリップボードにコピーする方法として)完全に機能します。
informatik01

1
@ informatik01説明ありがとうございます!
BERの

1
(1)@ informatik01の優れた説明はecho|、コマンドラインの最初にあるの必要性を完全には扱っていません。その理由はset /p、標準入力から値(行)を読み取るコマンドだからです。なしecho|では、set /p=MyPassword|clipコマンドは静かに座って端末から行を読みます。(2)|前後にスペースがないのが嫌です。ただし、クリップボードに(末尾にスペースを入れて)echo | set /p=MyPassword | clip書き込むことに注意してくださいMyPassword 。あなたは引用符を追加することでそれを防ぐことができます:echo | set /p="MyPassword" | clip
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.