はじめに
このドキュメントでは、Microsoft Intuneを使用してCisco Secure EndpointまたはSecure Clientを導入するプロセスの概要を説明します。このドキュメントでは、Secure Endpoint/Secure ClientインストーラーからMicrosoft Intuneでサポートされるアプリを作成し、そのアプリをMicrosoft Intune管理センターを使用して展開に使用する手順を説明します。具体的には、Intune Win32コンテンツ準備ツールを使用して、Cisco Secure EndpointインストーラーをWin32アプリケーションとしてパッケージ化し、その後、Intuneを使用してアプリケーションを構成および展開します。アプリケーションの作成には、Microsoftの公式の準備ツールを使用しました。
コンフィギュレーション
セキュアなエンドポイントの導入
ステップ 1:Cisco Secure Endpoint Installerをダウンロードします。
- Managementタブに移動し、Download Connectorを選択します。
- コネクタを登録するセキュアエンドポイントグループを選択します

- downloadを選択すると、スクリーンショットに示すように、EXEインストーラがローカルにダウンロードされます

ステップ 2:Win32コンテンツ準備ツールを使用してIntuneファイルを準備します。
Win32コンテンツ準備ツールは、IT管理者がMicrosoft Intuneを介して展開用のWin32アプリケーション(従来のWindowsデスクトップアプリケーションなど)を準備するために役立つ、Microsoft Intuneによって提供されるユーティリティです。このツールは、Win32アプリケーションインストーラー(.exe、.msi、関連ファイルなど)を.intunewinファイル形式に変換します。このファイル形式は、Intuneを介してこれらのアプリを展開するために必要です。
Intuneファイルを準備するには、次の手順に従います:
- IntuneWinAppUtil.exeを実行します
- 次の手順で、ディレクトリを、手順1でダウンロードしたCisco Secure Endpointの実行可能ファイルが格納されているフォルダに変更し、PowerShellスクリプトをインストールします(Install-CiscoSecureEndpoint.ps1)
- 次に、セットアップファイルのスクリプトファイル名を指定します:Install-CiscoSecureEndpoint.ps1
- 次の手順では、Intunewinファイルを生成する必要があるフォルダを指定します
- カタログを指定するように求められたら、Nと入力します
- スクリーンショットに示すように、Intunewinファイルが生成されます。

ステップ 3: Secure Endpoint IntuneWinファイルをMicrosoft Intune管理センターにアップロードします。
次の操作を行ってください。
- Microsoft Intune Admin Centerにログインします
- Microsoft Intune管理センターでWindowsアプリに移動し、アプリの種類 – Win32を選択して選択します
次の2つのアクションがスクリーンショットに示されています。

- 次のステップでは、ステップ2で作成したSecure Endpoint Intunewinファイルをアップロードし、OKを選択します。

- OKを選択した後、スクリーンショットに示されている情報を入力します。オプションのフィールドは、各タブで空白のままにしておくことができます。Nextを選択して次のステップに進みます。

ここで示すコードは例であり、このインストーラのインストールコマンドとして任意のコードを使用できます
- 「Uninstall」に「n/a」を入力し、「installation time required」に「60」と入力します(オプション)。 [Allow available uninstall as No] (使用可能なアンインストールを許可しない)を設定し、 [Install behavior as System] (動作をシステムとしてインストール)を選択し、オプションの詳細を入力してから[Next] (次へ)を選択します

- RequirementsタブでNo. Allow this app to be installed on all systemsにチェックマークを入れて、最低限のオペレーティングシステムを選択します。 必要に応じてフィールドとオプションのフィールドに入力し、Nextを選択します。


- Nextを選択して次に進みます。注:環境と検出基準に合わせて、この導入プロセス専用のカスタム検出スクリプトを作成できます。
- 次のいくつかのタブはオプションです。依存関係を構成する必要はありません。必要なグループにアプリケーションを割り当て、「確認+作成」を選択します。

セキュアなクライアント展開
ステップ 1:Cisco Secure Client完全導入のダウンロード
- 新しい展開を作成し、展開の種類に応じてFull InstallerまたはNetwork Installerを選択します

- スクリーンショットに示すように、csc-deploy-full-Intune Test.exeがダウンロードされます。

ステップ2:ステップ2と同じ手順に従って、Intuneファイルを準備します。これにより、csc-deploy-full-Intune Test.intunewinファイルが作成されます。

- 上記の手順を実行すると、スクリーンショットに示すように、csc-deploy-full-Intune Test.intunewinファイルが作成されます。

ステップ 3: 上記の手順に従って、csc-deploy-full-intune Test.intunewinファイルをパート1からMicrosoft Intune Admin Centerにアップロードします。
これで、Intuneを使用してCisco Secure Endpointを展開するプロセスが完了しました。
Install-CiscoSecureEndpoint.ps1スクリプト
[CmdletBinding()]
param ()
$cse_exe =
$version =
if ($PSCommandPath -eq $null) {
function GetPSCommandPath() {
return $MyInvocation.PSCommandPath;
}
$PSCommandPath = GetPSCommandPath
}
$script = [pscustomobject]@{
"Path" = Split-Path $PSCommandPath -Parent
"Name" = Split-Path $PSCommandPath -Leaf
}
Set-Location -Path $script.Path
$cse_installer = [IO.Path]::Combine($script.Path, $cse_exe)
$csc_installer_args = "/R /S"
<#
Cannot use -wait for 'Cisco Secure Endpoint' and therefore cannot get the exit code to return.
Using -wait, returns varied results, instead use Get-Process and while loop to wait for installation to complete.
#>
$install = Start-Process -WorkingDirectory "$($script.Path)" -FilePath "${cse_installer}" -ArgumentList "${csc_installer_args}" -PassThru -NoNewWindow
while (Get-Process "$($cse_exe -replace '.exe', '')" -ErrorAction SilentlyContinue)
{
Start-Sleep -Seconds 10
}
Confirm-CSEInstall.ps1スクリプト
[CmdletBinding()]
param ()
$version =
<#
https://learn.microsoft.com/en-us/intune/intune-service/apps/apps-win32-add#step-4-detection-rules
The app gets detected when the script both returns a 0 value exit code and writes a string value to STDOUT
The Intune agent checks the results from the script. It reads the values written by the script to the STDOUT stream,
the standard error (STDERR) stream, and the exit code. If the script exits with a nonzero value, the script fails and
the application detection status isn't installed. If the exit code is zero and STDOUT has data, the application
detection status is installed.
#>
$cse = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* -ErrorAction SilentlyContinue | Where-Object { $_ -like "*Immunet Protect*" } | Where-Object { $_.DisplayName -like "*Cisco Secure Endpoint*" }
if ($cse | Where-Object { [System.Version] $_.DisplayVersion -ge [System.Version] "${version}" })
{
Write-Host "Installed"
exit 0
}
exit 1