安裝 Windows Azure Pack 更新並確認版本
適用于:Windows Azure Pack
本主題描述如何更新 Windows Windows Server 的 Azure Pack,以及如何維護這些必要System Center元件的更新:
System Center 2012 R2 Virtual Machine Manager
Service Provider Foundation (System Center 2012 R2 Orchestrator 元件)
每項產品的更新會以更新 1、更新 2 等來指稱。 除了自動更新 Windows的 Azure 套件以外,所有更新都會以選擇性Windows 更新方式傳遞。 最新的更新為更新 4。 每個更新都會累積先前的更新,因此新安裝只需要最新的更新就可以了。
確認您環境中的每項產品皆已套用更新十分重要。
Microsoft Azure 套件更新
所有構成Windows Azure Pack 部署的驗證網站、入口網站、API 服務和延伸模組都會由Windows Update自動更新,且不需要使用者介入。 但請注意下列事項:
由憑證授權單位取代的 SSL 憑證 (例如 Service Provider Foundation 所使用者) 會予以保留。 系統管理員若未以自己的憑證取代預設自動產生之自我簽署 SSL 憑證,原始的 SSL 憑證可能會由自動產生的新自我簽署 SSL 憑證取代。 因為節點之間必須使用相同的 SSL 憑證,所以產生的 SSL 憑證若是不同,可能會造成負載平衡叢集中的網站發生問題。
服務所使用的 SQL 資料庫可能需要依照每個更新的知識庫文章所述手動進行更新。
下表包含知識庫文章的連結,可提供詳細資料及手動安裝指示。 若要判斷您是否有最新的更新,主控台- >Programs中的 Windows Azure Pack 版本會顯示如下:
Windows Azure Pack (KB 文章的連結) | 版本號碼 | 建置日期 |
---|---|---|
更新彙總套件 13.1 | 3.50.48.0 | 11/09/2018 |
更新彙總套件 13 | 3.50.45.0 | 05/22/2018 |
更新彙總套件 12 | 3.39.8196.0 | 09/18/2017 |
更新彙總套件 11 | 3.37.8196.0 | 11/3/2016 |
更新彙總套件 10 | 3.33.8196.14 | 7/15/2016 |
安全性更新彙總套件 9.1 | 3.32.8196.12 | 3/2/2016 |
更新彙總套件 8.1 | 3.29.8196.0 | 11/16/2015 |
更新彙總套件 8 | 3.28.8196.48 | 10/28/2015 |
更新彙總套件 7.1 | 3.27.8196.3 | 8/25/2015 |
更新彙總套件 7 | 3.25.8196.75 | 7/31/2015 |
更新彙總套件 6 | 3.24.8196.35 | 4/28/2015 |
更新彙總套件 5 | 3.22.8196.48 | 2/10/2015 |
更新彙總套件 4 | 3.19.8196.21 | 10/21/2014 |
更新彙總套件 3 | 3.15.8196.48 | 7/22/2014 |
更新彙總套件 2 | 3.14.8196.32 | 4/16/2014 |
更新彙總套件 1 | 3.12.8198.0 | 1/20/2014 |
RTM 版本 | 3.10.8198.9 | 9/16/2013 |
重要
請套用更新彙總套件 4 之後的 ASP.NET MVC 中的弱點 修正程式,以確保妥善套用。
更新期間僅保留下列 web.config 元素:
- 連接字串 (/configuration/connectionStrings)
- 應用程式設定 (/configuration/appSettings)
- 電腦金鑰 (/configuration/system.web/machineKey)
Virtual Machine Manager 與 System Center 更新
這些更新會自動接收為已安裝Virtual Machine Manager的伺服器選擇性更新,同時適用于伺服器和系統管理員主控台。 若要確保已安裝更新,請在主控台- >System and Security-Windows Update> 按一下[安裝自動更新]。
最新的更新會顯示為 Microsoft System Center Virtual Machine Manager 主控台的更新彙總套件 4 或 Microsoft System Center Virtual Machine Manager 伺服器的更新彙總套件 4。
您也必須更新Virtual Machine Manager中主機電腦上的Virtual Machine Manager代理程式。 如需指示,請參閱如何更新 VMM 代理程式 [VMM2012_Upgrade_R2]。
此外,請確認 Service Provider Foundation 伺服器只有主控台需要更新Virtual Machine Manager () 。
如果您需要進行手動安裝,請參閱下列知識庫文章:
Service Provider Foundation 更新
這些更新會自動接收為已安裝 Service Provider Foundation 的伺服器選擇性更新。 若要確保已安裝更新,請在主控台- >System and Security-Windows Update> 按一下[安裝自動更新]。
Service Provider Foundation 的已安裝更新會列在主控台的已安裝更新中。
如果您需要進行手動安裝,請參閱下列知識庫文章:
Service Provider Foundation 沒有更新彙總套件 3。
注意
在某些環境中,Service Provider Foundation 的更新彙總套件 2 會建立重複的 HTTPS 繫結。 在 [Internet Information Services (IIS) 管理員] 中選取 [SPF 網站] ,然後在 [動作] 窗格中按一下 [繫結], 以確認有無重複的 HTTPS 繫結。 如果有的話,請移除第二個重複的繫結。
確認版本
您可以使用Get-WmiObject Windows PowerShell 命令來判斷Windows Azure Pack 安裝的版本。 在每個已安裝Windows Azure Pack 的電腦上執行下列命令,例如:
Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "Windows Azure Pack *" } | Format-Table -AutoSize
若要判斷Windows Azure Pack 資料庫的版本,請在裝載Windows Azure Pack 資料庫的 SQL Server 實例上執行下列SQL Server Management Studio查詢:
-- WAP database versions
SELECT SERVERPROPERTY(N'ServerName') AS [Server],
N'Microsoft.MgmtSvc.Config' AS [Database],
N'Config' AS [Schema], *
FROM [Microsoft.MgmtSvc.Config].[Config].[Version]
UNION
SELECT SERVERPROPERTY(N'ServerName') AS [Server],
N'Microsoft.MgmtSvc.PortalConfigStore' AS [Database],
N'Config' AS [Schema],
[Version], [Major], [Minor], [Build], [Revision], [VersionInfo]
FROM [Microsoft.MgmtSvc.PortalConfigStore].[Config].[Version]
UNION
SELECT SERVERPROPERTY(N'ServerName') AS [Server],
N'Microsoft.MgmtSvc.PortalConfigStore' AS [Database],
N'PortalAspNet' AS [Schema],
N'' AS [Version], [CompatibleSchemaVersion] AS [Major], 0 AS [Minor], 0 AS [Build], 0 AS [Revision], N'' AS [VersionInfo]
FROM [Microsoft.MgmtSvc.PortalConfigStore].[dbo].[aspnet_SchemaVersions]
WHERE [Feature] = N'membership'
UNION
SELECT SERVERPROPERTY(N'ServerName') AS [Server],
N'Microsoft.MgmtSvc.Store' AS [Database],
N'Config' AS [Schema],
[Version], [Major], [Minor], [Build], [Revision], [VersionInfo]
FROM [Microsoft.MgmtSvc.Store].[Config].[Version]
UNION
SELECT SERVERPROPERTY(N'ServerName') AS [Server],
N'Microsoft.MgmtSvc.Store' AS [Database],
N'Management' AS [Schema],
[Version], [Major], [Minor], [Build], [Revision], [VersionInfo]
FROM [Microsoft.MgmtSvc.Store].[mp].[Version]
UNION
SELECT SERVERPROPERTY(N'ServerName') AS [Server],
N'Microsoft.MgmtSvc.Usage' AS [Database],
N'Usage' AS [Schema],
[Version], [Major], [Minor], [Build], [Revision], [VersionInfo]
FROM [Microsoft.MgmtSvc.Usage].[usage].[Version]
UNION
SELECT SERVERPROPERTY(N'ServerName') AS [Server],
N'Microsoft.MgmtSvc.WebAppGallery' AS [Database],
N'WebAppGallery' AS [Schema],
[Version], [Major], [Minor], [Build], [Revision], [VersionInfo]
FROM [Microsoft.MgmtSvc.WebAppGallery].[WebAppGallery].[Version]
UNION
SELECT SERVERPROPERTY(N'ServerName') AS [Server],
N'Microsoft.MgmtSvc.SQLServer' AS [Database],
N'SQLServer' AS [Schema],
[Version], [Major], [Minor], [Build], [Revision], [VersionInfo]
FROM [Microsoft.MgmtSvc.SQLServer].[SqlServer].[Version]
UNION
SELECT SERVERPROPERTY(N'ServerName') AS [Server],
N'Microsoft.MgmtSvc.MySQL' AS [Database],
N'MySQL' AS [Schema],
[Version], [Major], [Minor], [Build], [Revision], [VersionInfo]
FROM [Microsoft.MgmtSvc.MySQL].[MySql].[Version]
如果Windows Azure Pack 元件的版本不符合資料庫的版本,請執行下列其中一項:
Windows Azure Pack 元件版本小於資料庫版本:
在大部分情況下,結構描述具有回溯相容性,但事件記錄檔中可能會顯示版本不相符的警告。 若這確為問題,您可以依照更新彙總套件知識庫文章所述,回復成先前的部署。
Windows Azure Pack 元件版本大於資料庫版本:
以系統管理員身分在包含 Mgmtsvc-adminsite PowerShellAPI 模組的伺服器上執行下列指令碼。 這些伺服器包括使用量、 Web 應用程式庫、 SQL Server 及 MySQL 擴充功能。
請注意,有些分散式安裝可能需要修改此指令碼。 特別是當使用量、Web 應用程式庫、SQL Server 與 MySQL 的結構描述與這些元件一起安裝時,指令碼中的這些部分必須在安裝有這些元件的電腦上執行。
# Update-WapDatabases Import-Module -Name MgmtSvcConfig function New-SqlConnectionString([string]$masterConnectionString, [string]$database) { $builder = New-Object System.Data.SqlClient.SqlConnectionStringBuilder($masterConnectionString) $builder.Database = $database return $builder.ConnectionString } function Get-WapSchemas([string]$database) { switch ($database) { "Microsoft.MgmtSvc.Config" { @("Config") } "Microsoft.MgmtSvc.MySQL" { @("MySQL") } "Microsoft.MgmtSvc.PortalConfigStore" { @("Config","PortalAspNet","PortalNotification") } "Microsoft.MgmtSvc.SQLServer" { @("SQLServer") } "Microsoft.MgmtSvc.Store" { @("Config","Management") } "Microsoft.MgmtSvc.Usage" { @("Usage") } "Microsoft.MgmtSvc.WebAppGallery" { @("WebAppGallery") } default { throw New-Object System.ArgumentOutOfRangeException($database) } } } # Prompt for the SQL Server name: $sName = Read-Host "Specify the name of the SQL Server that hosts the Windows Azure Pack databases." $wapMasterConnectionString = "Server=" + $sName + ";Database=master;Integrated Security=True" $wapDatabaseNames = (Get-MgmtSvcDefaultDatabaseName).DefaultDatabaseName foreach ($wapDatabaseName in $wapDatabaseNames) { $wapConnectionString = New-SqlConnectionString -masterConnectionString $wapMasterConnectionString -database $wapDatabaseName Write-Verbose -Message "Connection string: $wapConnectionString" -Verbose $wapSchemas = Get-WapSchemas -database $wapDatabaseName foreach ($wapSchema in $wapSchemas) { $wapSchema = Get-MgmtSvcSchema -Schema $wapSchema if ($wapSchema) { Write-Verbose -Message "BEGIN UPDATE database '$wapDatabaseName' schema '$wapSchema'." -Verbose Install-MgmtSvcDatabase -ConnectionString $wapConnectionString -Schema $wapSchema Write-Verbose -Message "END UPDATE database '$wapDatabaseName' schema '$wapSchema'." -Verbose $version = Test-MgmtSvcDatabase -ConnectionString $wapConnectionString -Schema $wapSchema Write-Output "Version: database '$wapDatabaseName' schema '$wapSchema' version $version" } } }