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>]

说明

Test-DscConfiguration cmdlet 测试节点上的实际配置是否与所需的配置匹配。 使用计算机名称或通用信息模型 (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

第二个命令测试 CimSession 存储在 $Session 变量中的对象的计算机的配置,在本例中为名为 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 参数,该命令将返回一个代表作业的对象,然后显示命令提示符。 可以在会话中继续工作,直到作业完成。 作业在本地计算机上创建,远程计算机的结果会自动返回到本地计算机。 若要管理作业,请使用作业 cmdlet。 若要获取作业结果,请使用 Receive-Job cmdlet。

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

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CimSession

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

类型:CimSession[]
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ComputerName

指定此 cmdlet 测试配置的计算机名称数组。 该 cmdlet 将配置文档测试到这些计算机的 Path 参数指定的位置。

类型:String[]
别名:CN, ServerName
Position:1
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Credential

指定目标计算机的 PSCredential 对象的用户名和密码。 若要获取 PSCredential 对象,请使用 Get-Credential cmdlet。 有关详细信息,请键入 Get-Help Get-Credential

类型:PSCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Detailed

指示此 cmdlet 返回将配置文档与节点所需状态进行比较的详细结果。 结果包括信息,例如总体状态、处于所需状态的资源、不处于所需状态的资源和计算机名称。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Path

指定包含配置文档文件的文件夹的路径。 该 cmdlet 根据由 ComputerNameCimSession 参数指定的计算机的所需状态测试配置。

类型:String
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ReferenceConfiguration

指定配置文件的路径。 此 cmdlet 根据 ComputerNameCimSession 参数指定的计算机的实际状态测试配置。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ThrottleLimit

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

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False