如何测试安装了哪个版本的 Service Fabric Runtime
How to test which version of Service Fabric Runtime is installed
任何人都知道如何测试是否安装了正确版本的服务结构。
我想在我的构建服务器配置中添加一个部分,以确保服务结构 cmdlet 已安装并可供我们的构建进程使用。
我想安装这个exe
https://download.microsoft.com/dow
nload/1/A/A/1AA062F9-0E1D-40E9-
BD4F6F12ABB71083/MicrosoftServiceFabri
c.6.3.176.9494.exe 在 windows 2016 盒子上,如果它还不存在的话。
我看过
get-wmiObject -class Win32_Product
但它似乎没有出现在那里,是 windows 更新还是什么?
以下内容不正确,请参阅 Diego 评论
所以似乎有一个作为运行时的一部分安装的 powershell 命令可以回答这个问题。
(Get-Module -ListAvailable ServiceFabric) -ne $null -and (Get-ServiceFabricRuntimeSupportedVersion -Latest).Version -eq "6.3.176.9494"
这会让我暂时离开,但如果有人有任何更好的建议,请告诉我。干杯。
到目前为止最好的解决方案感谢 Diego
(Test-Path 'HKLM:\SOFTWARE\Microsoft\Service Fabric\') -and (Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Service Fabric\' -Name FabricVersion) -eq "6.3.176.9494"
有几种方法可以识别当前安装的版本:
注册表项
- 打开注册表编辑器 (regedit)
- 导航至:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Service Fabric
- 找到钥匙:
FabricVersion
- 您也可以通过 powershell 来完成:
Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Service Fabric\' -Name FabricVersion
二进制版本
- 转到运行时安装文件夹,如下所示:
C:\Program Files\Microsoft Service Fabric\bin\
- 找到应用程序
FabricHost.exe
并单击属性,转到选项卡详细信息,版本将列在那里
已安装的应用程序
- 转到控制面板 > 程序 > 程序和功能
- 在列表中搜索 'Fabric' 和 select 'Microsoft Azure Service Fabric'
- 详情中会显示应用版本
Service Fabric Explorer
- 打开服务结构资源管理器
- 转到节点列表和select一个
- 导航到选项卡
Details
- 查找属性
Code Version
- 您也可以通过以下方式使用此方法:
- 系统 > fabric:/System/ClusterManagerService > 详情 >
Manifest Version
通过(现代)C# API (QueryManager):
using FabricClient fabClient = new FabricClient();
var x = await fabClient.QueryManager.GetNodeListAsync("SFRole0_0");
string version = x[0].CodeVersion;
通过 Powershell:
Get-ServiceFabricNode -NodeName SFRole0_0 | Select CodeVersion
任何人都知道如何测试是否安装了正确版本的服务结构。
我想在我的构建服务器配置中添加一个部分,以确保服务结构 cmdlet 已安装并可供我们的构建进程使用。
我想安装这个exe https://download.microsoft.com/dow nload/1/A/A/1AA062F9-0E1D-40E9- BD4F6F12ABB71083/MicrosoftServiceFabri c.6.3.176.9494.exe 在 windows 2016 盒子上,如果它还不存在的话。
我看过
get-wmiObject -class Win32_Product
但它似乎没有出现在那里,是 windows 更新还是什么?
以下内容不正确,请参阅 Diego 评论
所以似乎有一个作为运行时的一部分安装的 powershell 命令可以回答这个问题。
(Get-Module -ListAvailable ServiceFabric) -ne $null -and (Get-ServiceFabricRuntimeSupportedVersion -Latest).Version -eq "6.3.176.9494"
这会让我暂时离开,但如果有人有任何更好的建议,请告诉我。干杯。
到目前为止最好的解决方案感谢 Diego
(Test-Path 'HKLM:\SOFTWARE\Microsoft\Service Fabric\') -and (Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Service Fabric\' -Name FabricVersion) -eq "6.3.176.9494"
有几种方法可以识别当前安装的版本:
注册表项
- 打开注册表编辑器 (regedit)
- 导航至:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Service Fabric
- 找到钥匙:
FabricVersion
- 您也可以通过 powershell 来完成:
Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Service Fabric\' -Name FabricVersion
二进制版本
- 转到运行时安装文件夹,如下所示:
C:\Program Files\Microsoft Service Fabric\bin\
- 找到应用程序
FabricHost.exe
并单击属性,转到选项卡详细信息,版本将列在那里
- 转到运行时安装文件夹,如下所示:
已安装的应用程序
- 转到控制面板 > 程序 > 程序和功能
- 在列表中搜索 'Fabric' 和 select 'Microsoft Azure Service Fabric'
- 详情中会显示应用版本
Service Fabric Explorer
- 打开服务结构资源管理器
- 转到节点列表和select一个
- 导航到选项卡
Details
- 查找属性
Code Version
- 您也可以通过以下方式使用此方法:
- 系统 > fabric:/System/ClusterManagerService > 详情 >
Manifest Version
- 系统 > fabric:/System/ClusterManagerService > 详情 >
通过(现代)C# API (QueryManager):
using FabricClient fabClient = new FabricClient();
var x = await fabClient.QueryManager.GetNodeListAsync("SFRole0_0");
string version = x[0].CodeVersion;
通过 Powershell:
Get-ServiceFabricNode -NodeName SFRole0_0 | Select CodeVersion