使用Powershell在Exchange 2013中确定Exchange Server版本

时间:2013-02-14 22:13:19

标签: powershell exchange-server activesync

希望有人能帮助我理解以下内容: 在Exchange 2013环境中,当我在PowerShell会话中发出Get-ExchangeServer cmdlet时,我看到将AdminDisplayVersion属性报告为“版本15.0”的输出。这对于2013 Exchange Server来说是正确的。

但是,当我在同一个2013环境中发出Get-ActiveSyncOrganizationSettings cmdlet时,我看到ExchangeVersion属性报告为“0.10(14.0.100.0)”。 这表示2010 Exchange Server。

这是其中一个Microsoft cmdlet中的缺陷,还是这些是正确的,但是对于Exchange环境的不同组件?

2 个答案:

答案 0 :(得分:1)

我创建了一个PowerShell函数来检索Exchange 2007,2010和2013的正确版本信息。我的博客post包含代码和一些用法示例。由于功能超过200行,我不会在这里包含它。以下是该函数的一些示例用法和输出:

获取单个服务器的已安装更新(累积和更新汇总)

[PS] Get-ExchangeServerPlus -cn exch01 | select -ExpandProperty update | ft inst*,upd*,desc* -AutoSize

InstallDate UpdateBuild Description
----------- ----------- -----------
11/11/2012  8.3.279.5   Update Rollup 8-v2 for Exchange Server 2007 Service Pack 3 (KB2756497)
02/18/2013  8.3.298.3   Update Rollup 10 for Exchange Server 2007 Service Pack 3 (KB2788321)

输出具有已安装更新的所有Exchange Server对象属性

Get-ExchangeServerPlus | % {"Name`t: $($_.Name)"; "Version`t: $($_.Version)"; "Edition`t: $($_.Edition)"; "Build`t: $($_.Build)"; "Role`t: $($_.Role)"; "OSVer`t: $($_.OSVer)"; "OSSP`t: $($_.OSSP)"; "OSArch`t: $($_.OSArch)"; if ($_.Update) { $_ | select -ExpandProperty update | ft inst*,upd*,desc* -auto } else { [Environment]::NewLine }}

...
Name    : EXCH160-02
Version : 2013
Edition : Enterprise
Build   : 15.0.620.29
Role    : MB,CAS
OSVer   : Microsoft Windows Server 2012 Datacenter
OSSP    : 0
OSArch  : 64-bit

InstallDate UpdateBuild Description
----------- ----------- -----------
04/21/2013  15.0.620.29 Microsoft Exchange Server 2013 Cumulative Update 1
...

答案 1 :(得分:0)

您可以通过检查已安装位上的文件版本来获取交换版本。我没有访问2013环境,但我敢打赌,有一些文件(.exe或.dll)将具有该版本。提取它:

[System.Diagnostics.FileVersionInfo]::GetVersionInfo("somefilepath").FileVersion