Exchange Version and UpdateRollups
Exchange Server 2010
Product name |
Build number |
Date |
KB |
Microsoft Exchange Server 2010 RTM |
14.0.639.21 |
11/9/2009 |
|
Update Rollup 1 for Exchange Server 2010 |
14.0.682.1 |
12/9/2009 |
|
Update Rollup 2 for Exchange Server 2010 |
14.0.689.0 |
3/4/2010 |
|
Update Rollup 3 for Exchange Server 2010 |
14.0.694.0 |
4/9/2010 |
|
Update Rollup 4 for Exchange Server 2010 |
14.0.702.1 |
6/17/2010 |
|
Update Rollup 5 for Exchange Server 2010 |
14.0.726.0 |
12/13/2010 |
Exchange Server 2010 Service Pack 1
Product name |
Build number |
Date |
KB |
Microsoft Exchange Server 2010 SP1 |
14.1.218.15 |
8/24/2010 |
|
Update Rollup 1 for Exchange Server 2010 SP1 |
14.1.255.2 |
10/4/2010 |
|
Update Rollup 2 for Exchange Server 2010 SP1 |
14.1.270.1 |
12/9/2010 |
|
Update Rollup 3 for Exchange Server 2010 SP1 |
14.1.289.3 |
3/7/2011 |
|
Update Rollup 3-v3 for Exchange Server 2010 SP1 |
14.1.289.7 |
4/1/2011 |
|
Update Rollup 4 for Exchange Server 2010 SP1 |
14.1.323.1 |
6/22/2011 |
|
Update Rollup 4-v2 for Exchange Server 2010 SP1 |
14.1.323.6 |
7/27/2011 |
|
Update Rollup 5 for Exchange Server 2010 SP1 |
14.1.339.1 |
8/23/2011 |
|
Update Rollup 6 for Exchange Server 2010 SP1 |
14.1.355.2 |
10/27/2011 |
|
Update Rollup 7 for Exchange Server 2010 SP1 |
14.1.421.0 |
8/13/2012 |
|
Update Rollup 7-v2 for Exchange Server 2010 SP1 |
14.1.421.2 |
10/9/2012 |
|
Update Rollup 7-v3 for Exchange Server 2010 SP1 |
14.1.421.3 |
11/12/2012 |
|
Update Rollup 8 for Exchange Server 2010 SP1 |
14.1.438.0 |
12/10/2012 |
Exchange Server 2010 Service Pack 2
Product name |
Build number |
Date |
KB |
Microsoft Exchange Server 2010 SP2 |
14.2.247.5 |
12/4/2011 |
|
Update Rollup 1 for Exchange Server 2010 SP2 |
14.2.283.3 |
2/13/2012 |
|
Update Rollup 2 for Exchange Server 2010 SP2 |
14.2.298.4 |
4/16/2012 |
|
Update Rollup 3 for Exchange Server 2010 SP2 |
14.2.309.2 |
5/29/2012 |
|
Update Rollup 4 for Exchange Server 2010 SP2 |
14.2.318.2 |
8/13/2012 |
|
Update Rollup 4-v2 for Exchange Server 2010 SP2 |
14.2.318.4 |
10/9/2012 |
|
Update Rollup 5 for Exchange Server 2010 SP2 |
14.2.328.5 |
11/13/2012 |
KB2719800 |
Update Rollup 5-v2 for Exchange Server 2010 SP2 |
14.2.328.10 |
12/10/2012 |
|
Update Rollup 6 for Exchange Server 2010 SP2 |
14.2.342.3 |
2/11/2013 |
|
Update Rollup 7 for Exchange Server 2010 SP2 |
14.2.375.0 |
8/13/2013 |
|
Update Rollup 8 for Exchange Server 2010 SP2 |
14.2.390.3 |
12/10/2013 |
Exchange Server 2010 Service Pack 3
Product name |
Build number |
Date |
KB |
Microsoft Exchange Server 2010 SP3 |
14.3.123.4 |
2/12/2013 |
|
Update Rollup 1 for Exchange Server 2010 SP3 |
14.3.146.0 |
5/29/2013 |
|
Update Rollup 2 for Exchange Server 2010 SP3 |
14.3.158.1 |
8/13/2013 |
|
Update Rollup 3 for Exchange Server 2010 SP3 |
14.3.169.1 |
11/25/2013 |
|
Update Rollup 4 for Exchange Server 2010 SP3 |
14.3.174.1 |
12/10/2013 |
|
Update Rollup 5 for Exchange Server 2010 SP3 |
14.3.181.6 |
2/25/2014 |
|
Update Rollup 6 for Exchange Server 2010 SP3 |
14.3.195.1 |
5/23/2014 |
|
Update Rollup 7 for Exchange Server 2010 SP3 |
14.3.210.2 |
8/26/2014 |
|
Update Rollup 8-v2 for Exchange Server 2010 SP3 |
14.3.224.2 |
12/12/2014 |
|
Update Rollup 9 for Exchange Server 2010 SP3 |
14.3.235.1 |
3/17/2015 |
|
Update Rollup 10 for Exchange Server 2010 SP3 |
14.3.248.2 |
6/16/2015 |
|
Update Rollup 11 for Exchange Server 2010 SP3 |
14.3.266.1 |
9/11/2015 |
|
Update Rollup 12 for Exchange Server 2010 SP3 |
14.3.279.2 |
12/10/2015 |
|
Update Rollup 13 for Exchange Server 2010 SP3 |
14.3.294.0 |
3/14/2016 |
|
Update Rollup 14 for Exchange Server 2010 SP3 |
14.3.301.0 |
6/15/2016 |
|
Update Rollup 15 for Exchange Server 2010 SP3 |
14.3.319.2 |
9/13/2016 |
Exchange Server 2013
Product name |
Build number |
Date |
KB |
Microsoft Exchange Server 2013 RTM |
15.0.516.32 |
12/03/2012 |
|
Exchange Server 2013 Cumulative Update 1 (CU1) |
15.0.620.29 |
04/02/2013 |
|
Exchange Server 2013 Cumulative Update 2 (CU2) |
15.0.712.24 |
07/09/2013 |
|
Exchange Server 2013 Cumulative Update 3 (CU3) |
15.0.775.38 |
11/25/2013 |
|
Exchange Server 2013 Service Pack 1 (SP1 aka CU4) |
15.0.847.32 |
02/25/2014 |
|
Exchange Server 2013 Cumulative Update 5 (CU5) |
15.0.913.22 |
05/27/2014 |
|
Exchange Server 2013 Cumulative Update 6 (CU6) |
15.0.995.29 |
08/26/2014 |
|
Exchange Server 2013 Cumulative Update 7 (CU7) |
15.0.1044.25 |
12/09/2014 |
|
Exchange Server 2013 Cumulative Update 8 (CU8) |
15.0.1076.9 |
03/17/2015 |
|
Exchange Server 2013 Cumulative Update 9 (CU9) |
15.0.1104.5 |
06/16/2015 |
|
Exchange Server 2013 Cumulative Update 10 (CU10) |
15.0.1130.7 |
09/14/2015 |
|
Exchange Server 2013 Cumulative Update 11 (CU11) |
15.0.1156.6 |
12/10/2015 |
|
Exchange Server 2013 Cumulative Update 12 (CU12) |
15.0.1178.4 |
3/14/2016 |
|
Exchange Server 2013 Cumulative Update 13 (CU13) |
15.0.1210.3 |
6/20/2016 |
|
Exchange Server 2013 Cumulative Update 14 (CU14) |
15.0.1236.3 |
9/20/2016 |
|
Exchange Server 2013 Cumulative Update 15 (CU15) |
15.0.1263.5 |
12/13/2016 |
|
Exchange Server 2013 Cumulative Update 16 (CU16) |
15.0.1293.2 |
3/21/2017 |
|
Exchange Server 2013 Cumulative Update 17 (CU17) |
15.0.1320.4 |
6/27/2017 |
Exchange Server 2016
Product name |
Build number |
Date |
KB |
Exchange Server 2016 Preview |
15.1.225.16 |
6/22/2015 |
|
Exchange Server 2016 RTM |
15.1.225.42 |
10/01/2015 |
|
Exchange Server 2016 Cumulative Update 1 (CU1) |
15.1.396.30 |
3/14/2016 |
|
Exchange Server 2016 Cumulative Update 2 (CU2) |
15.1.466.34 |
6/20/2016 |
|
Exchange Server 2016 Cumulative Update 3 (CU3) |
15.1.544.27 |
9/20/2016 |
|
Exchange Server 2016 Cumulative Update 4 (CU4) |
15.1.669.32 |
12/13/2016 |
|
Exchange Server 2016 Cumulative Update 5 (CU5) |
15.1.845.34 |
3/21/2017 |
|
Exchange Server 2016 Cumulative Update 6 (CU6) |
15.1.1034.26 |
6/27/2017 |
- Build number can be checked using Get-ExchangeServer cmdlet
Get-ExchangeServer | Select Name, AdminDisplayVersion
- Build number can be checked from ExSetup.exe file version information also
Get-Command Exsetup.exe | ForEach{$_.FileVersionInfo}
- The below command will be give detailed information about name, domain, edition, fqdn, server roles installed, site & admin display name.
Get-ExchangeServer | fl name, domain, edition, fqdn, serverrole, site, admindisplayversion
- To check ExSetup.exe file version information on all Exchange servers remotely, use below command.
Get-ExchangeServer | Sort-Object Name | ForEach{ Invoke-Command -ComputerName $_.Name -ScriptBlock { Get-Command ExSetup.exe | ForEach{$_.FileVersionInfo } } } | Format-Table -Auto
- In Exchange 2013 and Exchange 2016 you can also check build numbers in Exchange Admin Center (EAC).
- In EAC click on "servers" category on the left side and then click on "servers" pane.
Exchange Server and Update Rollups Build Numbers
Exchange Server 2013 and 2016 Build Numbers (with Cumulative Updates)
Exchange两种服务器版本:标准版和企业版。
企业版可支持每台服务器处理 100 个数据库;
标准版被限制在每台服务器处理 5 个数据库。
這些都是由【產品金鑰所定義的】授權版本。
當您輸入【有效的授權產品金鑰】時,便會【建立伺服器的支援版本】。
產品金鑰只能【用於相同版本金鑰的交換和升級,不能用於降級】。
您可以使用有效的產品金鑰
- 從 Exchange Server 2010 評估版 (試用版) 升級為 Standard Edition 或 Enterprise Edition。
- 從 Standard Edition 升級為 Enterprise Edition。
- 再授權一次伺服器。不需要重新安裝或重新設定任何項目,即可進行這些動作。在您輸入產品金鑰並重新啟動 Microsoft Exchange Information Store 服務之後,將會反映出對應於該產品金鑰的版本。
- 無法使用產品金鑰從 Enterprise Edition 降級為 Standard Edition,也不能用它們還原成試用版。
要進行這種類型的降級,只能解除安裝 Exchange 2010、重新安裝 Exchange 2010,並輸入正確的產品金鑰。
如需相關資訊
代码参考至:http://www.bhargavs.com/。
1 ############################################################################# 2 # Get-ExchangeUpdateRollups.ps1 3 # Gets the Exchange Server 2007, Exchange 2010 and Exchange 2013 Update Rollups 4 # installed writes output to CSV file in same folder where script is called from 5 # 6 # Exchange 2013 CU Build Numbers - http://social.technet.microsoft.com/wiki/contents/articles/15776.exchange-server-2013-and-cumulative-updates-cus-build-numbers.aspx 7 # Exchange Server Update Rollups and Build Numbers - http://social.technet.microsoft.com/wiki/contents/articles/240.exchange-server-and-update-rollups-build-numbers.aspx 8 # 9 # This script won't report RUs for Exchange Server 2013 since it uses Cummulative Updates (CU). 10 # More details on Exchange Team Blog: Servicing Exchange 2013 11 # http://blogs.technet.com/b/exchange/archive/2013/02/08/servicing-exchange-2013.aspx 12 # 13 # Created by 14 # Bhargav Shukla 15 # http://www.bhargavs.com 16 # 17 # DISCLAIMER 18 # ========== 19 # THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE 20 # RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER. 21 ############################################################################# 22 23 # Store header in variable 24 $headerLine = 25 @" 26 Exchange 2013 CU Build Numbers - http://social.technet.microsoft.com/wiki/contents/articles/15776.exchange-server-2013-and-cumulative-updates-cus-build-numbers.aspx 27 Exchange Server Update Rollups and Build Numbers - http://social.technet.microsoft.com/wiki/contents/articles/240.exchange-server-and-update-rollups-build-numbers.aspx 28 29 Server Name,Rollup Update Description,Installed Date,ExSetup File Version 30 "@ 31 32 # Write header to file 33 $headerLine | Out-File .\results.csv -Encoding ASCII -Append 34 35 function getRU([string]$Server) 36 { 37 # Set server to connect to 38 $Server = $Server.ToUpper() 39 40 # Check if server is running Exchange 2007, Exchange 2010 or Exchange 2013 41 42 $ExchVer = (Get-ExchangeServer $Server | ForEach {$_.AdminDisplayVersion}) 43 44 # Set appropriate base path to read Registry 45 # Exit function if server is not running Exchange 2007, Exchange 2010 or Exchange 2013 46 if ($ExchVer -match "Version 15") 47 { 48 $REG_KEY = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products\\AE1D439464EB1B8488741FFA028E291C\\Patches" 49 $Reg_ExSetup = "SOFTWARE\\Microsoft\\ExchangeServer\\v15\\Setup" 50 } 51 elseif ($ExchVer -match "Version 14") 52 { 53 $REG_KEY = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products\\AE1D439464EB1B8488741FFA028E291C\\Patches" 54 $Reg_ExSetup = "SOFTWARE\\Microsoft\\ExchangeServer\\v14\\Setup" 55 } 56 elseif ($ExchVer -match "Version 8") 57 { 58 $REG_KEY = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products\\461C2B4266EDEF444B864AD6D9E5B613\\Patches" 59 $Reg_ExSetup = "SOFTWARE\\Microsoft\\Exchange\\Setup" 60 } 61 else 62 { 63 return 64 } 65 66 # Read Rollup Update information from servers 67 # Set Registry constants 68 $VALUE1 = "DisplayName" 69 $VALUE2 = "Installed" 70 $VALUE3 = "MsiInstallPath" 71 72 # Open remote registry 73 $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $Server) 74 75 # Set regKey for MsiInstallPath 76 $regKey= $reg.OpenSubKey($REG_ExSetup) 77 78 # Get Install Path from Registry and replace : with $ 79 $installPath = ($regkey.getvalue($VALUE3) | foreach {$_ -replace (":","`$")}) 80 81 # Set ExSetup.exe path 82 $binFile = "Bin\ExSetup.exe" 83 84 # Get ExSetup.exe file version 85 $exSetupVer = ((Get-Command "\\$Server\$installPath$binFile").FileVersionInfo | ForEach {$_.FileVersion}) 86 87 # Create an array of patch subkeys 88 $regKey= $reg.OpenSubKey($REG_KEY).GetSubKeyNames() | ForEach {"$Reg_Key\\$_"} 89 90 # Walk through patch subkeys and store Rollup Update Description and Installed Date in array variables 91 $dispName = [array] ($regkey | %{$reg.OpenSubKey($_).getvalue($VALUE1)}) 92 $instDate = [array] ($regkey | %{$reg.OpenSubKey($_).getvalue($VALUE2)}) 93 94 # Loop Through array variables and output to a file 95 $countmembers = 0 96 97 if ($regkey -ne $null) 98 { 99 while ($countmembers -lt $dispName.Count) 100 { 101 $server+","+$dispName[$countmembers]+","+$instDate[$countmembers].substring(0,4)+"/"+$instDate[$countmembers].substring(4,2)+"/"+$instDate[$countmembers].substring(6,2)+","+$exsetupver | Out-File .\results.csv -Encoding ASCII -Append 102 $countmembers++ 103 } 104 } 105 else 106 { 107 $server+",No Rollup Updates are installed,,"+$exsetupver | Out-File .\results.csv -Encoding ASCII -Append 108 } 109 } 110 111 # Get Exchange 2007/2010 servers and write Rollup Updates to results file 112 $Servers = (Get-ExchangeServer -Identity WENDY* | Where-Object {($_.AdminDisplayVersion -match "Version 8" -OR $_.AdminDisplayVersion -match "Version 14" -OR $_.AdminDisplayVersion -match "Version 15") -AND $_.ServerRole -ne "ProvisionedServer" -and $_.ServerRole -ne "Edge"} | ForEach {$_.Name}) 113 $Servers | ForEach {getRU $_} 114 Write-Output "Results are stored in $(Get-Location)\results.csv"