Test-SqlSmartAdmin

藉由評估 SQL Server 原則型管理 (PBM) 原則,以測試 Smart 管理員 的健康情況。

Syntax

Test-SqlSmartAdmin
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [[-Path] <String[]>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Test-SqlSmartAdmin
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-InputObject] <SmartAdmin[]>
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Test-SqlSmartAdmin Cmdlet 會藉由評估 SQL Server 原則型管理 (PBM) 原則,來測試 SQL Server 實例的 Smart 管理員 健康情況。

這個 Cmdlet 支援下列傳回物件的作業模式:

  • 將實例的路徑傳遞至Path參數 SQL Server。
  • 將 Smo.Server 物件直接或透過管線傳遞至 InputObject 參數。

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

範例

範例 1:測試 SQL Server Smart 管理員 的狀態

PS C:\> cd SQLSERVER:\SQL\Computer\MyInstance 
PS SQLSERVER:\SQL\Computer\MyInstance> Get-SqlSmartAdmin | Test-SqlSmartAdmin

第一個命令會將目錄變更為 SQL 實例 Computer\MyInstance

範例 2:評估 SQL Server Smart 管理員 的測試結果

PS C:\> cd SQLSERVER:\SQL\Computer\MyInstance
PS SQLSERVER:\SQL\Computer\MyInstance> $PolicyResults = Get-SqlSmartAdmin | Test-SqlSmartAdmin 
PS SQLSERVER:\SQL\Computer\MyInstance> $PolicyResults.PolicyEvaluationDetails | select Name, Category, Result, Expression

第一個命令會將目錄變更為 SQL 實例 Computer\MyInstance。

範例 3:輸出 SQL Server Smart 管理員 的狀態

PS C:\> PS SQLSERVER:\SQL\COMPUTER\DEFAULT> (Get-SqlSmartAdmin).EnumHealthStatus()

number_of_storage_connectivity_errors: 0 
number_of_sql_errors: 2 
number_of_invalid_credential_errors: 0 
number_of_other_errors : 0 
number_of_corrupted_or_deleted_backups: 0 
number_of_backup_loops: 2 
number_of_retention_loops: 2

此命令會輸出本機 SQL Server Smart 管理員 的狀態。

參數

-AccessToken

用來驗證 SQL Server 的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。

例如,這可用來連線至 SQL Azure DB 或使用 或使用 SQL Azure Managed InstanceService PrincipalManaged Identity

要使用的參數可以是字串,代表令牌或 PSAccessToken 執行 所傳 Get-AzAccessToken -ResourceUrl https://database.windows.net回的物件。

這個參數是模組 v22 的新功能。

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowUserPolicies

指出此 Cmdlet 會執行 Smart 管理員 警告和錯誤原則類別中找到的用戶原則。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

在執行 Cmdlet 前提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encrypt

連接到 SQL Server 時要使用的加密類型。

這個值會對應至 Encrypt Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 屬性 SqlConnectionEncryptOption

在模組的 v22 中,預設值為 Optional (,以便與 v21) 相容。 在模組 v23+ 中,預設值會是「強制」,這可能會為現有的腳本建立重大變更。

這個參數是模組 v22 的新功能。

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostNameInCertificate

用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整域名 (FQDN) 傳遞至 -ServerInstance,才能連線到啟用強制加密的 SQL Server 實例。

這個參數是模組 v22 的新功能。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

指定 SmartAdmin 物件的陣列。 若要取得此物件,請使用 Get-SqlSmartAdmin Cmdlet。

Type:SmartAdmin[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoRefresh

表示這個 Cmdlet 不會手動重新整理 PathInputObject 參數所指定的物件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

將 SQL Server 實例的路徑指定為字串陣列。 如果您未指定此參數的值,Cmdlet 會使用目前的工作位置。

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ShowPolicyDetails

指出此 Cmdlet 會顯示原則的結果。 此 Cmdlet 會針對每項原則評估輸出一個物件。 輸出包含評量的結果:例如,原則的名稱、類別和健康情況。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TrustServerCertificate

指出通道是否會在略過憑證鏈結以驗證信任時加密。

在模組的 v22 中,預設值為 $true (,以便與 v21) 相容。 在模組 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。

這個參數是模組 v22 的新功能。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

Microsoft.SqlServer.Management.Smo.SmartAdmin[]

輸出

此 Cmdlet 會從原則評估輸出結果。