IntuneのVPN構成プロファイルを利用して簡単にできないかな?と思ってテストをしてみたのですが、SAML認証を利用していると認証タイプをサポートしていないと言われてしまったので、諦めてIntunewin形式を作成して展開した記録です。
Cisco Secure Clientをダウンロードする
Meraki MXシリーズでもAnyConnetが対応したので、今回はそちらを利用している場合での手順です。
- Merakiダッシュボードにログインします
 - 「セキュリティ&SD-WAN」→【クライアントVPN】をクリックします
 - 「AnyConnect設定」タブをクリックします
 - AnyConnectクライアントダウンロードリンクから、for Windowsをクリックしファイルをダウンロードします。
 - プロファイルを作成するのに、Secure Client Profile Editorも必要なのでダウンロードします
 
Secure Client Profile Editorでプロファイルを作成する
エンドユーザーにサーバ名の入力をしてもらったりするのは、ユーザーの負担が増えてしまうのですべての設定を自動的に配布し、エンドユーザーは接続ボタンを押すだけで認証後接続できる環境を設定しておきます。
- Secure Client Profile EditorはWindows版しかないので、Windows機で作業をします。
 - Secure Client Profile Editorを実行するにはJava環境が必要なので、Javaがインストールされていない場合にはJavaをインストールします。
 - tools-cisco-secure-client-win-5.0.01242-profileeditor-k9 .msiを実行し、インストールします。
 - いくつかアイコンがデスクトップに作成されますが、今回必要なのはVPNなので、「VPN Management Tunnel Profile Editor」を起動します。
 - 最低限設定する箇所としては以下かと思います
- ServerList(接続先を事前に設定)
 - Allow Manual Host Input(AnyConnectで手動設定不可にする)
 - その他設定項目に関しては、こちらのドキュメントでご確認ください。
 
 - 設定が完了したら、設定をanyconnect_profile.xmlファイルとして保存します
 

Intunewinを作成する
以下のようなフォルダ構成を作成して、進めます。
事前に、IntuneWinAppUtil.exeをダウンロードしておいてください。

Intune_inputフォルダの中は以下のようにします。
ダウンロードした、Profilesフォルダと、core-vpnのMSIを置きます。

Profilesフォルダには、vpn/anyconnect_profile.xml を配置します。
最終的にはこうですね。
C:.
└─Intune
    │  IntuneWinAppUtil.exe
    │
    ├─Intune_input
    │  │  cisco-secure-client-win-5.0.01242-core-vpn-predeploy-k9.msi
    │  │
    │  └─Profiles
    │      └─vpn
    │              anyconnect_profile.xml
    │
    └─Intune_output
コマンドプロンプトを起動し、以下のコマンドを実行し、対話プロンプトで以下のように入力します。
IntuneWinAppUtil.exe
Please specify the source folder: Intune_input
Please specify the setup file: cisco-secure-client-win-5.0.01242-core-vpn-predeploy-k9.msi
Please specify the output folder: Intune_output
Do you want to specify catalog folder (Y/N)?N少し待つと、Intune_outputフォルダに、cisco-secure-client-win-5.0.01242-core-vpn-predeploy-k9.intunewinのような形でintunewinファイルが作成されます。
Intuneにアプリを登録する
上記で作成したIntunewinファイルをIntuneに登録しWindowsマシンに展開していきます。
- Intune管理ポータルにアクセスします
 - 「アプリ」→「Windows」→「追加」→「Windowsアプリ(Win32)」を選択し、【選択】をクリックします
 - 「アプリパッケージファイルの選択」をクリックし、作成したIntunewinファイルを選択します
 - 名前等を確認し、必要箇所を設定します
 

そのまま【次へ】をクリックします

必要条件を設定し、【次へ】をクリックします

「検出規則を手動で構成する」を選択し、」【追加】をクリックします
「規則の種類」からMSIを選択し、【OK】をクリックします
【次へ】をクリックします

割り当てを行い、【次へ】をクリックします
私は、VPNを利用したいユーザーのみがインストールできるようになっていればいいので、「登録済デバイスで利用可能」に「すべてのユーザー」を追加しました。
要件によって、割り当ては変更してください。

設定内容を確認し、【作成】をクリックします

Windows端末でインストール確認をする
- Intuneに登録されているデバイスからポータルサイトアプリを起動します
 - 「アプリ」→「Cisco Secure Client – AnyConnect VPN」を選択し、【インストール】をクリックします
 

- インストールが正常に完了したら、Cisco Secure Clientを起動します
 - サーバー選択部分に事前に設定したサーバ名が表示されていることや、接続情報を変更できないことを確認します
 - 【接続】をクリックし、認証情報を入れ、VPN接続が正常に完了するかをテストします。
 

まとめ
ユーザーに負荷をかけることなく設定情報を配布することができました。
Meraki MXシリーズも現在はAnyConnectの認証にSAMLを利用することができるようになっているので、AzureADやOktaなどのIdPの情報を利用することが可能です。
IdP連携ができるということは、IdPがもっている機能を活用することができます。(条件付きアクセスや、リスクベース認証等)
以前の記事で、「Cisco AnyConnectクライアントの認証にAzureADユーザ情報と条件付きアクセスを利用する」というのがありますので、あわせてご確認ください。
おまけ
アンインストール用のGUIDなんてわからないよ!
コマンドプロンプトで以下のようにコマンドを打つと確認することができます。
 get-wmiobject Win32_Product -Filter "name like '%google%'" | Format-Table IdentifyingNumber, Name, LocalPackage -AutoSize
結果
IdentifyingNumber                      Name                 LocalPackage
-----------------                      ----                 ------------
{EC704706-215F-3E83-98BF-028097043E27} Google Chrome        C:\WINDOWS\Installer\155c5ab.msi
{60EC980A-BDA2-4CB6-A427-B07A5498B4CA} Google Update Helper C:\WINDOWS\Installer\8bb5d32.msi


