Test-DscConfiguration

测试节点上的实际配置是否与所需配置相匹配。

语法

Test-DscConfiguration
    [[-ComputerName] <String[]>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-Detailed]
    [<CommonParameters>]
Test-DscConfiguration
    [[-ComputerName] <String[]>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-Path] <String>
    [<CommonParameters>]
Test-DscConfiguration
    [[-ComputerName] <String[]>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    -ReferenceConfiguration <String>
    [<CommonParameters>]
Test-DscConfiguration
    [-ThrottleLimit <Int32>]
    -CimSession <CimSession[]>
    [-AsJob]
    [-Path] <String>
    [<CommonParameters>]
Test-DscConfiguration
    [-ThrottleLimit <Int32>]
    -CimSession <CimSession[]>
    [-AsJob]
    -ReferenceConfiguration <String>
    [<CommonParameters>]
Test-DscConfiguration
    [-ThrottleLimit <Int32>]
    -CimSession <CimSession[]>
    [-AsJob]
    [-Detailed]
    [<CommonParameters>]

说明

cmdlet Test-DscConfiguration 测试节点上的实际配置是否与所需配置匹配。 通过使用计算机名称或通用信息模型 (CIM) 会话,指定想要测试配置的计算机。 如果不指定目标计算机,则该 cmdlet 将测试本地计算机的配置。

如果所需配置与实际配置匹配,则 cmdlet 将返回字符串值“True”。 否则,它将返回字符串值“False”。

示例

示例 1:测试本地计算机的配置

Test-DscConfiguration

此命令将测试本地计算机的配置。

示例 2:测试指定计算机的配置

$Session = New-CimSession -ComputerName "Server01" -Credential ACCOUNTS\PattiFuller
Test-DscConfiguration -CimSession $Session

此示例将测试由 CIM 会话指定的计算机的配置。 该示例为名为 Server01 的计算机创建 CIM 会话,以供与 cmdlet 一起使用。 或者,创建一个 CIM 会话数组以将 cmdlet 应用到多个指定的计算机。

第一个命令使用 New-CimSession cmdlet 创建 CIM 会话,然后将 CimSession 对象存储在 变量中 $Session 。 该命令会提示你输入密码。 要了解详情,请键入 Get-Help New-CimSession

第二个命令测试由存储在 变量中的 $SessionCimSession 对象标识的计算机的配置,在本例中为名为 Server01 的计算机。

示例 3:带有详细结果的配置测试

Test-DscConfiguration -ComputerName "Server01", "Server02", "Server03" -Detailed

此命令测试由 ComputerName 参数指定的一组计算机的配置,并返回详细信息(包括总体状态、处于所需状态的资源、未处于所需状态的资源以及计算机名称)。

示例 4:测试文件夹中指定的配置

Test-DscConfiguration -Path "C:\Dsc\Configurations"

此命令测试在 Path 参数指定的文件夹中定义的配置。 针对一组计算机测试配置,每台计算机以配置文件的文件名标识。

示例 5:测试文件中指定的配置

Test-DscConfiguration -ReferenceConfiguration "C:\Dsc\Configurations\WebServer.mof" -ComputerName "Server01", "Server02", "Server03"

针对 ComputerName 参数指定的一组计算机,此命令测试文件中定义的配置。

参数

-AsJob

指示此 cmdlet 将命令作为后台作业运行。

如果指定 AsJob 参数,该命令将返回表示作业的对象,然后显示命令提示符。 作业完成前,可以继续在此会话中工作。 作业在本地计算机上创建,并且来自远程计算机的结果将自动返回本地计算机。 若要管理作业,请使用 Job cmdlet。 若要获取作业结果,请使用 Receive-Job cmdlet。

若要使用此参数,必须为本地计算机和远程计算机配置远程处理,并且在 Windows Vista 以及更高版本的 Windows 操作系统上,还必须使用“以管理员身份运行”选项打开 Windows PowerShell。 有关详细信息,请参阅 about_Remote_Requirements

有关Windows PowerShell后台作业的详细信息,请参阅about_Jobsabout_Remote_Jobs

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

-CimSession

在远程会话中或在远程计算机上运行 cmdlet。 输入计算机名称或会话对象,例如 New-CimSessionGet-CimSession cmdlet 的输出。 默认为本地计算机上的当前会话。

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

-ComputerName

指定此 cmdlet 要测试配置的一批计算机名称。 该 cmdlet 测试由这些计算机的 Path 参数指定的位置中的配置文件。

Type:String[]
Aliases:CN, ServerName
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Credential

针对目标计算机,指定用户名和密码作为 PSCredential 对象。 若要获取 PSCredential 对象,请使用 Get-Credential cmdlet。 要了解详情,请键入 Get-Help Get-Credential

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

-Detailed

指示此 cmdlet 返回与节点所需状态进行比较的配置文档的详细结果。 结果中包括总体状态、处于所需状态的资源、未处于所需状态的资源以及计算机名称等信息。

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

-Path

指定包含配置文档文件的文件夹路径。 针对由 ComputerName 或 CimSession 参数指定的计算机所需状态,该 cmdlet 测试配置。

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

-ReferenceConfiguration

指定配置文档文件的路径。 针对由 ComputerName 或 CimSession 参数指定的计算机实际状态,该 cmdlet 测试配置。

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

-ThrottleLimit

指定可为运行 cmdlet 而确立的操作的最大数量。 如果省略此参数或输入值 0 ,则Windows PowerShell根据计算机上运行的 CIM cmdlet 数计算 cmdlet 的最佳限制。 该限制仅适用于当前 cmdlet,不适用于会话或计算机。

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