2017-10-07 11:02 PM 2019-03-22 07:35 AM 更新
こんにちは
ASA5540+OS 9.1系+AnyConnect 3.1系でエンドユーザーにAnyConnectによるVPNサービスを提供している者です。
使用している機能は以下の通りです。
・AnyConnectは本体(SSL-VPN機能)+SBLプラグインを使用しています。
・Clientless SSL-VPN機能は使用していません。
クライアント機器について
・クライアントはWindows7, 8, 10のパソコンです。
・ユーザーには、AnyConnectの事前展開インストーラ(msiファイル)+数種類のClientProfile(xmlファイル)+自作のVBscriptを自己解凍型の圧縮ファイルにしたものをユーザー向けインストーラとして配布しています。
起動の時にPCの情報に基づいて、適切なClientProfileをPCにコピーするようにしています。
自作のVBscriptから、msiファイルを実行する時は、AnyConnect管理者ガイドの「AnyConnectの事前展開」を参考にして以下のコマンドを実行しています。
msiexec /package anyconnect-win-ver-pre-deploy-k9.msi /norestart /passive /lvx* [logファイル名]
再インストール/バージョンアップする時は、Windowsのコントロールパネルの「プログラムと機能」から、現状のものをアンインストールしてもらった後に、同一バージョン/新バージョンのユーザー向けインストーラを実行するようにガイドしています。
ただ、ユーザーの数が多く(日本各地と海外で1000人以上)、またPCスキルがあまり高くないため、インストール/アンインストール作業を周知・徹底することが意外に大変です。
-------------------------------------------------------------------------------
現在は、上記のような環境で運用していますが、
ASA5545X+OS 9.6系+AnyConnect 4.4系への移行を現在、計画中です。
クライアント側のバージョンアップは、現状と同じように、ユーザー向けインストーラを配布することで対応予定です。
その際に、ユーザー向けインストーラ(AnyConnect4.4対応)を実行するだけで、インストール済みのAnyConnect3.1を安全に上書きインストールできるようにしたいと思います。
msiexecは修復オプションがありますが、これはAnyConnectのインストーラ(msi)でも利用可能と考えてよいでしょうか。
修復オプションのうち、aオプションを使うと、既にインストールされているバージョンに関わらず全てのファイルをインストールするとのことなので、これで3.1系→4.4系へのバージョンアップ、4.4系での上書きインストールの両方に対応できるのではと考えています。
3.1系での上書きインストールのときに、修復のaオプションを使用したことがあるのですが、問題なく動くようでした。
3.1系→4.4系のバージョンアップでは試したことはありません。
----------------------------------------------------------
■補足1
msiexecのhelpからの抜粋
修復オプション
/f[p|e|c|m|s|o|d|a|u|v] <Product.msi | 製品コード>
製品を修復します。
p - ファイルが見つからない場合のみ
o - ファイルが見つからない、または古いバージョンがインストールされている場合 (既定)
e - ファイルが見つからない、同じバージョンまたは古いバージョンがインストールされている場合
d - ファイルが見つからない、または違うバージョンがインストールされている場合
c - ファイルが見つからない、またはチェックサムと計算された値が一致しない場合
a - すべてのファイルをインストールする
u - すべてのユーザー固有の必須レジストリ エントリ (既定)
m - すべてコンピューター固有の必須レジストリ エントリ
s - すべての既存のショートカット (既定)
v - ソースから実行して、パッケージをローカルに再キャッシュする
-------------------------------------------------------------------------------
■補足2
自作のプログラムでレジストリーをサーチして、インストール済みのバージョンのものをアンインストールするという方法もありますが、Windows7, 8.1, 10とそれぞれの32bit版と64bit版とあるため、プログラムが複雑になる/テストの手間がかかるといった問題があるため、これは避けたいです。
■補足3
クライアント側のバージョンアップとしては、上記以外に以下の方法がありますが、いずれも実現が難しいです。
1.新しいASAにAnyConnectでアクセス → サーバー側のバージョンの方が新しいときに、クライアントソフトを強制的にバージョンアップできる機能を使用
2.新しいASAにブラウザでアクセス→新しいAnyConnectをダウンロード・インストール
3.資産管理ソフトからインストールパッケージ(msiファイル)を(ユーザーに意識させずに)ダウンロードさせる
4.PCをキッティングセンターなどに一旦回収して、担当者がバージョンアップ
5.情報システム担当者がリモート接続して作業を行う
1は、1000を越えるユーザーが、朝、一気にアクセスしてきたときのASAの負荷が心配(テストも困難)
2は、PCやブラウザの環境設定に依存する部分が多く、うまくいかないことが多い
3~5は、予算や運用上の手間の問題のため不可
よろしくお願いします。
解決済! 解決策の投稿を見る。
2017-12-25 08:20 PM
こんにちは、投稿したathirano1です。
実際に試してみましたところ、
msiexecの修復オプションは、同一バージョンのみで利用可能でした。(当たり前といえば、当たり前ですが)
バージョンが異なると、「バージョンが異なり使用できません」という内容のメッセージが出ました。
結局、自作プログラムを追加することで、コントロールパネル→「アプリケーションの追加と削除」で旧バージョンをアンインストールするオペレーションと同じ動作をするようにしました。
2017-12-25 08:20 PM
こんにちは、投稿したathirano1です。
実際に試してみましたところ、
msiexecの修復オプションは、同一バージョンのみで利用可能でした。(当たり前といえば、当たり前ですが)
バージョンが異なると、「バージョンが異なり使用できません」という内容のメッセージが出ました。
結局、自作プログラムを追加することで、コントロールパネル→「アプリケーションの追加と削除」で旧バージョンをアンインストールするオペレーションと同じ動作をするようにしました。
エキスパートの回答、ステップバイステップガイド、最新のトピックなどお気に入りのアイデアを見つけたら、あとで参照できるように保存しましょう。
コミュニティは初めてですか?これらのヒントを活用してスタートしましょう。 コミュニティの活用方法 新メンバーガイド