共用方式為


重新啟動節點

注意

本主題討論如何重新啟動節點。 必須正確設定 ActionAfterRebootRebootNodeIfNeeded LCM 設定,才能成功重新開機。 若要查看本機設定管理員設定,請參閱設定本機設定管理員設定本機設定管理員 (v4)

使用 $global:DSCMachineStatus 旗標即可從資源內重新啟動節點。 在 Set-TargetResource 函式中將此旗標設為 1,會強制 LCM 在目前資源的 Set 方法之後,直接重新啟動節點。 使用此旗標,ComputerManagementDsc 資源模組中的 PendingReboot 資源會偵測 DSC 外部是否有擱置的重新開機。

您的設定會執行需要重新啟動節點的步驟。 這可能包括下列項目:

  • Windows 更新
  • 軟體安裝
  • 檔案重新命名
  • 電腦重新命名

PendingReboot 資源會檢查特定的電腦位置來判斷重新啟動是否暫止。 如果節點要求在 DSC 外重新啟動,則 PendingReboot 資源會將 $global:DSCMachineStatus 旗標設定為 1 來強制重新啟動並解決暫止狀況。

注意

任何 DSC 資源皆可在 Set-TargetResource 函式中設定此旗標,指示 LCM 重新啟動節點。 如需詳細資訊,請參閱使用 MOF 撰寫自訂的 DSC 資源

語法

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

屬性

屬性 Description
Name 在設定內,資源每個執行個體的必要參數都必須為唯一。
SkipComponentBasedServicing 以元件為基礎服務元件所觸發的略過重新啟動。
SkipWindowsUpdate Windows Update 所觸發的略過重新啟動。
SkipPendingFileRename 略過暫止檔案重新命名重新啟動。
SkipCcmClientSDK ConfigMgr 用戶端所觸發的略過重新啟動。
SkipComputerRename 電腦重新命名所觸發的略過重新啟動。
PSDSCRunAsCredential v5 支援。 以指定的使用者身分執行資源。
DependsOn 表示必須先執行另一個資源的設定,再設定這個資源。 例如,如果第一個想要執行的資源設定指令碼區塊的識別碼是 ResourceName,而它的類型是 ResourceType,則使用這個屬性的語法就是 DependsOn = "[ResourceType]ResourceName"。 如需詳細資訊,請參閱使用 DependsOn

範例

下列範例會使用 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 資源庫。