安装 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 控制台的更新汇总 4Microsoft 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"  
            }  
        }  
    }  
    

另请参阅

部署面向 Windows Server 的 Windows Azure Pack