重新启动节点

注释

本主题讨论如何重新启动节点。 为了成功重新启动,需要正确配置 ActionAfterRebootRebootNodeIfNeeded LCM 设置。 若要阅读本地 Configuration Manager 设置,请参阅配置本地 Configuration Manager配置本地 Configuration Manager (v4)。

可以使用标志从 $global:DSCMachineStatus 资源内重新启动节点。 在函数中Set-TargetResource将此标志1设置为会强制 LCM 在当前资源的 Set 方法之后直接重新启动节点。 使用此标志,ComputerManagementDsc DSC 资源模块中的 PendingReboot 资源可检测 DSC 外部是否挂起重启。

您的 配置 可能会执行需要重新启动节点的步骤。 这可能包括以下内容:

  • Windows 更新
  • 软件安装
  • 文件重命名
  • 计算机重命名

PendingReboot 资源检查特定的计算机位置,以确定重新启动是否处于挂起状态。 如果节点需要在 DSC 之外重新启动,则 PendingReboot 资源会将标志1设置为$global:DSCMachineStatus强制重新启动并解决挂起状态。

注释

任何 DSC 资源都可以通过在函数中 Set-TargetResource 设置此标志来指示 LCM 重新启动节点。 有关详细信息,请参阅 使用 MOF 编写自定义 DSC 资源

Syntax

PendingReboot [String] #ResourceName
{
    Name = [string]
    [DependsOn = [string[]]]
    [PsDscRunAsCredential = [PSCredential]]
    [SkipCcmClientSDK = [bool]]
    [SkipComponentBasedServicing = [bool]]
    [SkipPendingComputerRename = [bool]]
    [SkipPendingFileRename = [bool]]
    [SkipWindowsUpdate = [bool]]
}

属性

资产 Description
Name 配置中每个资源实例必须唯一的必需参数。
SkipComponentBased服务 跳过由 Component-Based 服务组件触发的重新启动。
跳过Windows更新 跳过 Windows 更新触发的重新启动。
SkipPendingFileRename 跳过挂起的文件重命名重新启动。
跳过 SkipCcmClientSDK 跳过 ConfigMgr 客户端触发的重新启动。
跳过计算机重命名 跳过由计算机重命名触发的重新启动。
PSDSCRunAs凭据 在 v5 中受支持。 以指定用户身份执行资源。
依赖于 指示在配置此资源之前必须运行另一个资源的配置。 例如,如果要首先运行的资源配置脚本块的 ID 是 ResourceName ,其类型为 ResourceType,则使用此属性的语法为 DependsOn = "[ResourceType]ResourceName"。 有关详细信息,请参阅 使用 DependsOn

Example

以下示例使用 xExchange 资源安装 Microsoft Exchange。 在整个安装过程中, PendingReboot 资源用于重新启动节点。

注释

此示例需要有权将 Exchange 服务器添加到林的帐户的凭据。 有关在 DSC 中使用凭据的详细信息,请参阅 在 DSC 中处理凭据

$ConfigurationData = @{
    AllNodes = @(
        @{
            NodeName                    = '*'
            PSDSCAllowPlainTextPassword = $true
        },
        @{
            NodeName = 'DSCPULL-1'
        }
    )
}

Configuration Example
{
    param
    (
        [Parameter(Mandatory = $true)]
        [System.Management.Automation.PSCredential]
        $ExchangeAdminCredential
    )

    Import-DSCResource -ModuleName xExchange
    Import-DSCResource -ModuleName ComputerManagementDsc

    Node $AllNodes.NodeName
    {
        # Copy the Exchange setup files locally
        File ExchangeBinaries
        {
            Ensure          = 'Present'
            Type            = 'Directory'
            Recurse         = $true
            SourcePath      = '\\rras-1\Binaries\E15CU6'
            DestinationPath = 'C:\Binaries\E15CU6'
        }

        # Check if a reboot is needed before installing Exchange
        PendingReboot BeforeExchangeInstall
        {
            Name       = 'BeforeExchangeInstall'
            DependsOn  = '[File]ExchangeBinaries'
        }

        # Do the Exchange install
        xExchInstall InstallExchange
        {
            Path       = 'C:\Binaries\E15CU6\Setup.exe'
            Arguments  = '/mode:Install /role:Mailbox /Iacceptexchangeserverlicenseterms'
            Credential = $ExchangeAdminCredential
            DependsOn  = '[PendingReboot]BeforeExchangeInstall'
        }

        # See if a reboot is required after installing Exchange
        PendingReboot AfterExchangeInstall
        {
            Name      = 'AfterExchangeInstall'
            DependsOn = '[xExchInstall]InstallExchange'
        }
    }
}

注释

此示例假定您已将本地配置管理器配置为允许重新启动,并在重新启动后继续配置。

在哪里下载

可以在以下位置或使用 PowerShell 库下载本主题中使用的资源。