本文档概述了使用Microsoft Intune部署思科安全终端或安全客户端的过程。
本文档介绍从安全终端/安全客户端安装程序创建Microsoft Intune支持的应用,然后使用Microsoft Intune管理中心进行部署的步骤。具体来说,该过程包括通过Intune Win32内容准备工具将思科安全终端安装程序打包为Win32应用程序,以及通过Intune配置和部署该应用程序。
根据地区登录您各自的安全终端门户。
2.定位至管理标签,然后选择下载连接器。
3.选择希望连接器注册到的安全终端组。

4.选择download并在本地下载EXE安装程序:

Win32内容准备工具是Microsoft Intune提供的实用程序,可帮助IT管理员准备Win32应用程序(适用于传统Windows桌面应用),以便通过Microsoft Intune进行部署。该工具将Win32应用程序安装程序(如.exe、.msi和相关文件)转换为.intunewin文件格式,这是通过Intune部署这些应用程序所必需的。
准备Intune文件:
2.执行IntuneWinAppUtil.exe。
3.在下一步中,将目录更改为包含第1步中下载的Cisco安全终端可执行文件的文件夹和安装powershell脚本(Install-CiscoSecureEndpoint.ps1)。
4.指定安装文件的脚本文件名Install-CiscoSecureEndpoint.ps1。
5.在下一步中,指定必须生成Intunewin文件的文件夹。
6.当系统提示指定目录时,输入N。
7. Intunewin文件生成如屏幕截图所示:

2.导航到Microsoft Intune管理中心中的Windows应用并选择应用类型 — Win32,然后选择屏幕截图中所示的以下两个操作:

3.在下一步中,上传在第2步中创建的安全终端Intunewin文件,然后选择确定。

4.选择确定后,输入屏幕截图中显示的信息。每个选项卡上的可选字段可留空,然后单击Next。

5.运行Install命令:
%windir%\SysNative\WindowsPowershell\v1.0\powershell.exe -noprofile -executionpolicy Bypass -file .\Install-CiscoSecureEndpoint.ps1
注意:提供的代码是一个示例,任何代码都可以用作此安装程序的安装命令。
6.输入Uninstall作为n/a,将所需的安装时间设置为60(可选)。 将Allow available uninstall设置为No,然后选择Install behavior as System。在选择Next之前,添加任何其他可选详细信息。

7.在“要求”选项卡上,选中否。允许在所有系统上安装此应用,并选择最低操作系统。根据需要填写可选字段,然后选择下一步。

8.在Detection Rules选项卡上,rules format下拉菜单提供两个选项;Manually configure detection rules和Use a custom detection script。可以根据部署要求选择任一选项。
9.选择“手动配置检测规则”时,您可以定义规则类型(如MSI、文件或注册表)以检测应用的存在。在本文档中,已选择备用选项Use a custom detection script。
10.名为Confirm-CSEInstall.ps1的PowerShell脚本用于验证思科安全终端的安装是否成功(该脚本列于本文档底部)。

11.选择下一步继续。
注意:可以专门为此部署过程创建自定义检测脚本,以满足您的环境和检测条件。
12.(接下来的几个选项卡是可选的)无需配置依赖关系;将应用程序分配到所需的组,然后选择Review + create。

2.创建新部署,然后根据部署类型选择完整安装程序或网络安装程序。

3.下载csc-deploy-full-Intune Test.exe,如屏幕截图所示:



使用Intune部署思科安全终端的流程由此完成。
警告:此安装脚本必须使用Intune转换器与安装程序结合使用,并且使用本指南的步骤3中提到的命令行中引用的PS脚本的确切名称以及放置在Intune中的以下位置:
添加App > Program > Install Command。
注意:下一部分中的脚本是用于创建本指南的实验室环境中演示的示例。经过适当的测试后,您可以按原样使用它们,也可以根据需要进行修改。
[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日志。
| 版本 | 发布日期 | 备注 |
|---|---|---|
2.0 |
25-Aug-2026
|
已更新标题、拼写、语法、插入水平线以分隔各部分的可读性、已更新的可选文本和CCW警报。 |
1.0 |
12-Aug-2025
|
初始版本 |