如何获取D365中已安装的ISV(本地化/合作伙伴)包列表并导出至Excel/TXT?
既然你已经有LCS和环境机器的访问权限,那有好几种高效的方法可以导出D365里的ISV/本地化包列表,不用再手动复制About页面的内容了,下面给你整理几个实用方案:
方法一:通过LCS直接导出(最省心)
这是最不需要技术基础的方式,直接在LCS里操作:
- 登录LCS,进入你的目标项目和对应的环境
- 打开Environment details页面,切换到Software deployable packages标签页
- 这里会列出所有已部署的包,包括ISV/本地化/合作伙伴包
- 点击页面右上角的Export to Excel按钮,就能一键把列表导出成Excel文件,直接用于后续管理
方法二:PowerShell脚本提取(类似AX2012的操作逻辑)
如果你习惯用脚本批量处理,在环境的AOS服务器上运行以下PowerShell命令:
# 加载D365管理模块 Import-Module "C:\Program Files\Microsoft Dynamics 365\7.0\Server\bin\Microsoft.Dynamics.AX.Management.dll" # 筛选ISV和Partner层的模型包 $isvPacks = Get-AxModel -All | Where-Object { $_.Layer -in ('ISV', 'Partner') } # 导出为CSV格式(可直接用Excel打开编辑) $isvPacks | Select-Object Name, Publisher, Version, Layer | Export-Csv -Path "C:\D365_ISVPackages.csv" -NoTypeInformation
脚本会自动筛选出目标层的包,导出包含核心信息的CSV文件,完全满足你批量管理的需求。
方法三:X++ Job查询(开发人员友好)
如果你有D365的开发权限,也可以通过X++代码生成列表:
static void ExportISVPackages(Args _args) { ModelManifest modelManifest; System.IO.StreamWriter streamWriter; str exportPath = @"C:\D365_ISVPackages.txt"; streamWriter = new System.IO.StreamWriter(exportPath); // 写入表头 streamWriter.WriteLine("Package Name,Publisher,Version,Layer"); // 查询ISV和Partner层的模型 while select modelManifest where modelManifest.Layer == ModelLayer::ISV || modelManifest.Layer == ModelLayer::Partner { streamWriter.WriteLine(strFmt("%1,%2,%3,%4", modelManifest.Name, modelManifest.Publisher, modelManifest.Version, enum2Str(modelManifest.Layer))); } streamWriter.Close(); info(strFmt("导出完成,文件路径:%1", exportPath)); }
运行这个Job后,会在指定路径生成TXT文件,内容可直接导入Excel进行排序、筛选等操作。
方法四:Dataverse(Common Data Service)导出
如果你的环境集成了Dataverse,也可以通过Power Apps门户操作:
- 登录Power Apps Maker门户,选择对应的D365环境
- 使用高级查找功能,选择「Solution」实体,筛选条件设为「类型等于ISV」或「类型等于Partner」
- 点击导出到Excel,就能得到包含解决方案详细信息的Excel文件
这些方法各有侧重,你可以根据自己的操作习惯和权限选择最适合的方式。
内容的提问来源于stack exchange,提问作者ulisses
相关产品推荐
相关产品推荐

