本文檔概述了使用Microsoft Intune部署思科安全終端或安全客戶端的過程。本文檔將介紹如何從安全終結點/安全客戶端安裝程式建立Microsoft Intune支援的應用,然後將其用於使用Microsoft Intune管理中心的部署。具體來說,該過程包括使用Intune Win32內容準備工具將思科安全終端安裝程式打包為Win32應用程式,然後通過Intune配置和部署該應用。我們使用了官方的Microsoft準備工具來建立應用程式。
根據區域的不同,登入到您各自的安全終端門戶:https://apps.security.cisco.com/overview


Win32內容準備工具是Microsoft Intune提供的實用工具,可幫助IT管理員準備Win32應用程式(即傳統的Windows案頭應用程式)以便通過Microsoft Intune進行部署。該工具將Win32應用程式安裝程式(如.exe、.msi和相關檔案)轉換為.intunewin檔案格式,這是通過Intune部署這些應用程式所必需的。
要準備Intune檔案,請執行以下步驟:

執行下列步驟:
以下兩個動作在螢幕截圖中顯示出來:



%windir%\SysNative\WindowsPowershell\v1.0\powershell.exe -noprofile -executionpolicy Bypass -file .\Install-CiscoSecureEndpoint.ps1請注意,此處顯示的代碼用作示例,任何代碼都可以用作此安裝程式的安裝命令


在Detection Rules頁籤上,Rules format下拉選單提供兩個選項:手動配置檢測規則和使用自定義檢測指令碼。可根據部署要求選擇任一選項。
選擇Manually configure detection rules(手動配置檢測規則)時,可以定義規則型別(如MSI、File或Registry)以檢測應用程式的存在。在本文檔中,已選擇替代選項Use a custom detection script。
名為Confirm-CSEInstall.ps1的PowerShell指令碼用於驗證思科安全終結點的安裝是否成功。本檔案底部已列出該檔案。






這將完成使用Intune部署思科安全終結點的流程。
注意:此安裝指令碼必須使用Intune轉換器與安裝程式結合使用,並且使用本指南Step3下所提及的命令列中以及放置在Intune中的以下位置中所述的PS指令碼的確切名稱:
新增應用 — >程式 — >安裝命令
附註:下面的指令碼只是用於製作演示的示例,演示在實驗室環境中用於建立本指南。經過適當的測試後,您可以按原樣使用它們,也可以根據需要進行修改。
[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
}
$exeName =
$exePath = Join-Path -Path $PSScriptRoot -ChildPath $exeName
if (-not (Test-Path $exePath)) {
Write-Error "Executable not found: $exePath"
exit 1
}
# Use silent mode – the most commonly documented switch for Cisco XDR / Secure Client installers
$arguments = "-q" # or try "--quiet" if -q fails in your specific build
try {
$process = Start-Process -FilePath $exePath -ArgumentList $arguments -NoNewWindow -Wait -PassThru
if ($process.ExitCode -eq 0) {
Write-Output "Cisco XDR installation completed successfully (exit code 0)."
exit 0
} else {
Write-Error "Installation failed with exit code: $($process.ExitCode)"
exit $process.ExitCode
}
}
catch {
Write-Error "Exception during installation: $_"
exit 1
}
提示:這是可選的,您可以始終在Intune管理門戶中使用手動配置的檢測規則。
[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
附註:上述指令碼僅用於教育目的,不受Cisco TAC支援,每個環境可能因不同的規則或策略而異,因此有必要執行適當的測試。對第三方部署工具進行故障排除將被視為最大努力,首先應檢視門戶或託管工作站上的Intune日誌。
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
1.0 |
12-Aug-2025
|
初始版本 |