安装 Windows Azure 包更新并验证版本
适用于:Windows Azure Pack
本主题介绍如何更新 Windows Windows 服务器的 Azure Pack,以及如何维护这些所需System Center组件的更新:
System Center 2012 R2 Virtual Machine Manager
System Center 2012 R2 Orchestrator 组件) 的 Service Provider Foundation (部分
对于每个产品,这些更新被称为 Update 1、Update 2,依此类推。 除自动更新Windows Azure Pack 外,所有更新都作为可选Windows 更新传递。 最新更新为 Update 4。 每个更新都是以前的更新的累积,因此,在进行新的安装时只需安装最新更新。
验证环境中的每个产品是否已更新至关重要。
Windows Azure 包更新
构成Windows Azure Pack 部署的所有身份验证站点、门户、API 服务和扩展都会通过Windows 更新自动更新,无需用户干预。 但是,请注意:
已替换的 SSL 证书(如用于 Service Provider Foundation)将与来自证书颁发机构的证书一同保留。 但是,如果管理员未使用他们自己的证书替换默认自动生成的自签名 SSL 证书,原始的 SSL 证书可能替换为新自动生成的自签名 SSL 证书。 生成的 SSL 证书不同可能是负载平衡群集中的网站有问题,因为在节点中使用的 SSL 证书需要进行匹配。
如每个更新的知识库文章所述,服务使用的 SQL 数据库可能需要手动更新。
下表包含有关详细信息和手动安装说明知识库文章的链接。 若要确定是否有最新的更新,控制面板->Programs 中Windows Azure Pack 的版本如下所示:
Windows Azure Pack (指向知识库文章的链接) | 版本号 | 生成日期 |
---|---|---|
更新汇总 13.1 | 3.50.48.0 | 11/09/2018 |
更新汇总 13 | 3.50.45.0 | 05/22/2018 |
更新汇总 12 | 3.39.8196.0 | 2017/09/18 |
更新汇总 11 | 3.37.8196.0 | 11/3/2016 |
更新汇总 10 | 3.33.8196.14 | 7/15/2016 |
安全更新汇总 9.1 | 3.32.8196.12 | 2016/3/2 |
更新汇总 8.1 | 3.29.8196.0 | 2015/11/16 |
更新汇总 8 | 3.28.8196.48 | 2015/10/28 |
更新汇总 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 和安全Windows 更新>单击“安装自动更新”。
最新的更新显示为 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 和安全Windows 更新>单击“安装自动更新”。
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 PowerShellAPI 模块的服务器上以管理员身份运行以下脚本。 这些服务器包括使用情况、Web 应用库、 SQL Server 和 MySQL 扩展。
请注意,对于某些分布式安装可能需要修改此脚本。 特别是,使用情况、WebAppGallery、SQLServer 和 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" } } }