你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Monitor SCOM 托管实例自我验证步骤

本文介绍 Operations Manager 管理员、Active Directory 管理员和网络管理员的自我验证过程。

注意

若要了解 Azure Monitor SCOM 托管实例体系结构,请参阅 Azure Monitor SCOM 托管实例

设置所需的参数后,运行自我验证工具。 根据从遥测中收集的体验和数据,Operations Manager 管理员花费了相当长的时间验证参数的准确性。 运行此工具有助于在继续部署之前识别环境或参数的任何问题。

许多客户都受益于这一工具,因为它可以节省时间,否则他们就得花时间排除参数问题。 建议在部署之前运行此工具,以避免将来花费过多的时间诊断和排查本地参数问题。

在创建 SCOM 托管实例实例的过程中,涉及三个主要角色。 以下流程是 Operations Manager 管理员在企业组织中设置步骤的典型方式:

  1. Operations Manager 管理员启动与 Active Directory 管理员的通信,以配置与 Active Directory 相关的所有设置。

  2. 然后,Operations Manager 管理员与网络管理员通信以建立虚拟网络,并配置必要的防火墙、网络安全组和 DNS 解析,以连接到指定的 Active Directory 控制器,如网络先决条件中所述。

  3. 实现所有配置后,Operations Manager 管理员将继续对测试虚拟机 (VM) 进行彻底测试,以确保一切按预期运行。 此测试阶段有助于主动识别和解决任何潜在问题。

如果 Operations Manager 管理员扮演所有三个角色,他们可以独立处理和管理所有任务,而无需为每个特定区域参与不同的人员。

通过为每个角色提供的步骤来验证参数,我们的目标是简化设置参数的过程,以减少创建 SCOM 托管实例所需的时间。

通过让每个角色能够验证各自的参数,我们可以加快整个设置过程,并更快地部署 SCOM 托管实例。

Operations Manager 管理员对步骤进行自我验证

运行 Operations Manager 管理员自我验证对于了解参数的准确性至关重要。

重要

最初,在为 SCOM 托管实例创建选择的同一子网中创建新的测试 Windows Server (2022/2019) VM。 随后,Active Directory 管理员和网络管理员可以单独使用此 VM 来验证其相应更改的有效性。 此方法可节省 Active Directory 管理员与网络管理员之间的来回通信所花费的时间。

按照以下步骤运行验证脚本:

  1. 在所选子网中生成在 Windows Server 2022 或 2019 上运行的新 VM,以便创建 SCOM 托管实例。 登录到 VM 并配置其 DNS 服务器,以使用计划在创建 SCOM 托管实例期间使用的同一 DNS 服务器 IP。 例如,请参阅以下屏幕截图来设置 DNS 服务器 IP。

    显示 DNS 服务器 IP 的屏幕截图。

  2. 将验证脚本下载到测试 VM 并提取。 它由五个文件组成:

    • Readme.txt
    • ScomValidation.ps1
    • RunValidationAsSCOMAdmin.ps1
    • RunValidationAsActiveDirectoryAdmin.ps1
    • RunValidationAsNetworkAdmin.ps1
  3. 按照 Readme.txt 文件中所述的步骤运行 RunValidationAsSCOMAdmin.ps1。 在运行设置值之前,请确保使用适用的值填充 RunValidationAsSCOMAdmin.ps1 中的设置值。

    # $settings = @{
    #   Configuration = @{
    #         DomainName="test.com"                 
    #         OuPath= "DC=test,DC=com"           
    #         DNSServerIP = "000.00.0.00"           
    #         UserName="test\testuser"              
    #         Password = "password"                 
    #         SqlDatabaseInstance= "test-sqlmi-instance.023a29518976.database.windows.net" 
    #         ManagementServerGroupName= "ComputerMSG"      
    #         GmsaAccount= "test\testgMSA$"
    #         DnsName= "lbdsnname.test.com"
    #         LoadBalancerIP = "00.00.00.000"
    #     }
    # }
    # Note : Before running this script, please make sure you have provided all the parameters in the settings
    $settings = @{
    Configuration = @{
    DomainName="<domain name>"
    OuPath= "<OU path>"
    DNSServerIP = "<DNS server IP>"
    UserName="<domain user name>"
    Password = "<domain user password>"
    SqlDatabaseInstance= "<SQL MI Host name>"
    ManagementServerGroupName= "<Computer Management server group name>"
    GmsaAccount= "<GMSA account>"
    DnsName= "<DNS name associated with the load balancer IP address>"
    LoadBalancerIP = "<Load balancer IP address>"
    }
    }
    
  4. 一般情况下,RunValidationAsSCOMAdmin.ps1 会运行所有验证。 如果要运行特定检查,请打开 ScomValidation.ps1 并注释所有其他检查(位于该文件末尾)。 还可以在特定检查中添加断点,以调试检查并更好地了解问题。

         # Default mode is - SCOMAdmin, by default if mode is not passed then it will run all the validations 
         # adding all the checks to result set
         try {
             # Connectivity checks
             $validationResults += Invoke-ValidateStorageConnectivity $settings
             $results = ConvertTo-Json $validationResults -Compress
    
             $validationResults += Invoke-ValidateSQLConnectivity $settings
             $results = ConvertTo-Json $validationResults -Compress
    
             $validationResults += Invoke-ValidateDnsIpAddress $settings
             $results = ConvertTo-Json $validationResults -Compress
    
             $validationResults += Invoke-ValidateDomainControllerConnectivity $settings
             $results = ConvertTo-Json $validationResults -Compress
    
             # Parameter validations
             $validationResults += Invoke-ValidateDomainJoin $settings
             $results = ConvertTo-Json $validationResults -Compress
    
             $validationResults += Invoke-ValidateStaticIPAddressAndDnsname $settings
             $results = ConvertTo-Json $validationResults -Compress
    
             $validationResults += Invoke-ValidateComputerGroup $settings
             $results = ConvertTo-Json $validationResults -Compress
    
             $validationResults += Invoke-ValidategMSAAccount $settings
             $results = ConvertTo-Json $validationResults -Compress
    
             $validationResults += Invoke-ValidateLocalAdminOverideByGPO $settings
             $results = ConvertTo-Json $validationResults -Compress
         }
         catch {
             Write-Verbose -Verbose  $_
     }
    

    注意

    Operations Manager 管理员验证包括检查覆盖本地管理员组的任何 GPO 策略。 可能需要很长时间才能完成,因为检查会查询所有策略进行评估。

  5. 验证脚本会显示所有验证检查及其各自的错误,这有助于解决验证问题。 为了快速解决问题,请在 PowerShell ISE 中运行脚本并设置断点,这样可以加快调试过程。

    如果所有检查都成功通过,请返回到载入页面并启动载入过程。

Active Directory 管理员对步骤进行自我验证

为了最大程度地减少与 Operations Manager 管理员的来回通信,Active Directory 管理员可以独立评估 Active Directory 参数。 如果需要,可以寻求 Operations Manager 管理员的帮助,以运行验证工具,以确保参数评估过程更流畅、更高效。

执行 Active Directory 管理员自我验证是一个可选步骤。 我们为每个组织提供灵活性,根据其便利性和具体要求决定是否执行此过程。

按照以下步骤运行验证脚本:

  1. 在所选子网中生成在 Windows Server 2022 或 2019 上运行的新 VM,以便创建 SCOM 托管实例。 登录到 VM 并配置其 DNS 服务器,以使用计划在创建 SCOM 托管实例期间使用的同一 DNS 服务器 IP。 如果测试 VM 已由 Operations Manager 管理员创建,请使用测试 VM。 例如,请参阅以下屏幕截图来设置 DNS 服务器 IP。

    显示 DNS 服务器 IP 的屏幕截图。

  2. 将验证脚本下载到测试 VM 并提取。 它由五个文件组成:

    • Readme.txt
    • ScomValidation.ps1
    • RunValidationAsSCOMAdmin.ps1
    • RunValidationAsActiveDirectoryAdmin.ps1
    • RunValidationAsNetworkAdmin.ps1
  3. 按照 Readme.txt 文件中所述的步骤运行 RunValidationAsActiveDirectoryAdmin.ps1。 在运行设置值之前,请确保使用适用的值填充 RunValidationAsActiveDirectoryAdmin.ps1 中的设置值。

    # $settings = @{
    #   Configuration = @{
    #         DomainName="test.com"                 
    #         OuPath= "DC=test,DC=com"           
    #         DNSServerIP = "000.00.0.00"           
    #         UserName="test\testuser"              
    #         Password = "password"                 
    #         ManagementServerGroupName= "ComputerMSG"      
    #         GmsaAccount= "test\testgMSA$"
    #         DnsName= "lbdsnname.test.com"
    #         LoadBalancerIP = "00.00.00.000"
    #     }
    # }
    # Note : Before running this script, please make sure you have provided all the parameters in the settings
    $settings = @{
    Configuration = @{
    DomainName="<domain name>"
    OuPath= "<OU path>"
    DNSServerIP = "<DNS server IP>"
    UserName="<domain user name>"
    Password = "<domain user password>"
    ManagementServerGroupName= "<Computer Management server group name>"
    GmsaAccount= "<GMSA account>"
    DnsName= "<DNS name associated with the load balancer IP address>"
    LoadBalancerIP = "<Load balancer IP address>"
    }
    }
    
  4. 一般情况下,RunValidationAsActiveDirectoryAdmin.ps1 会运行所有验证。 如果要运行特定检查,请打开 ScomValidation.ps1 并注释所有其他检查(位于 Active Directory 管理员检查下)。 还可以在特定检查中添加断点,以调试检查并更好地了解问题。

    # Mode is AD admin then following validations/test will be performed
    if ($mode -eq "ADAdmin") {
    
        try {
            # Mode is AD admin then following validations/test will be performed
            $validationResults += Invoke-ValidateDnsIpAddress $settings
            $results = ConvertTo-Json $validationResults -Compress
    
            $validationResults += Invoke-ValidateDomainControllerConnectivity $settings
            $results = ConvertTo-Json $validationResults -Compress
    
            # Parameter validations
            $validationResults += Invoke-ValidateDomainJoin $settings
            $results = ConvertTo-Json $validationResults -Compress
    
            $validationResults += Invoke-ValidateStaticIPAddressAndDnsname $settings
            $results = ConvertTo-Json $validationResults -Compress
    
            $validationResults += Invoke-ValidateComputerGroup $settings
            $results = ConvertTo-Json $validationResults -Compress
    
            $validationResults += Invoke-ValidategMSAAccount $settings
            $results = ConvertTo-Json $validationResults -Compress
    
            $validationResults += Invoke-ValidateLocalAdminOverideByGPO $settings
            $results = ConvertTo-Json $validationResults -Compress
        }
        catch {
            Write-Verbose -Verbose  $_
        }
    }
    

    注意

    Active Directory 管理员验证包括检查覆盖本地管理员组的任何 GPO 策略。 可能需要很长时间才能完成,因为检查会查询所有策略进行评估。

  5. 验证脚本显示所有验证检查及其各自的错误,这有助于解决验证问题。 为了快速解决问题,请在 PowerShell ISE 中运行脚本并设置断点,这样可以加快调试过程。

    如果所有检查都成功通过,则 Active Directory 参数没有任何问题。

网络管理员对步骤进行自我验证

若要最大程度地减少与 Operations Manager 管理员的来回通信,网络管理员必须独立评估网络配置。 如果需要,他们可以寻求 Operations Manager 管理员的帮助,以运行验证工具,从而确保参数评估过程更流畅、更高效。

执行网络管理员自我验证是一个可选步骤。 我们为每个组织提供灵活性,根据其便利性和具体要求决定是否执行此过程。

按照以下步骤运行验证脚本:

  1. 在所选子网中生成在 Windows Server 2022 或 2019 上运行的新 VM,以便创建 SCOM 托管实例。 登录到 VM 并配置其 DNS 服务器,以使用计划在创建 SCOM 托管实例期间使用的同一 DNS 服务器 IP。 如果测试 VM 已由 Operations Manager 管理员创建,请使用测试 VM。 例如,请参阅以下屏幕截图来设置 DNS 服务器 IP。

    DNS 服务器 IP 的屏幕截图。

  2. 将验证脚本下载到测试 VM 并提取。 它由五个文件组成:

    • Readme.txt
    • ScomValidation.ps1
    • RunValidationAsSCOMAdmin.ps1
    • RunValidationAsActiveDirectoryAdmin.ps1
    • RunValidationAsNetworkAdmin.ps1
  3. 按照 Readme.txt 文件中所述的步骤运行 RunValidationAsNetworkAdmin.ps1。 在运行设置值之前,请确保使用适用的值填充 RunValidationAsNetworkAdmin.ps1 中的设置值。

    # $settings = @{
    #   Configuration = @{
    #         DomainName="test.com"                 
    #         DNSServerIP = "000.00.0.00"
    #	     SqlDatabaseInstance= "<SQL MI Host name>"           
    #     }
    # }
    # Note : Before running this script, please make sure you have provided all the parameters in the settings
    $settings = @{
    Configuration = @{
    DomainName="<domain name>"
    DNSServerIP = "<DNS server IP>"
    SqlDatabaseInstance= "<SQL MI Host name>"
    }
    }
    
  4. 一般情况下,RunValidationAsNetworkAdmin.ps1 会运行与网络配置相关的所有验证。 如果要运行特定的检查,请打开 ScomValidation.ps1 并注释所有其他检查(位于网络管理员检查下)。 还可以在特定检查中添加断点,以调试检查并更好地了解问题。

            # Mode is Network admin then following validations/test will be performed
            try {
                $validationResults += Invoke-ValidateStorageConnectivity $settings
                $results = ConvertTo-Json $validationResults -Compress
    
                $validationResults += Invoke-ValidateSQLConnectivity $settings
                $results = ConvertTo-Json $validationResults -Compress
    
                $validationResults += Invoke-ValidateDnsIpAddress $settings
                $results = ConvertTo-Json $validationResults -Compress
    
                $validationResults += Invoke-ValidateDomainControllerConnectivity $settings
                $results = ConvertTo-Json $validationResults -Compress
            }
            catch {
                Write-Verbose -Verbose  $_
        }
    
  5. 验证脚本显示所有验证检查及其各自的错误,这有助于解决验证问题。 为了快速解决问题,请在 PowerShell ISE 中运行脚本并设置断点,这样可以加快调试过程。

    如果所有检查都成功通过,则网络配置没有问题。

后续步骤