備註
本主題討論如何重新啟動節點。 為了成功重新開機,必須正確配置 ActionAfterReboot 和 RebootNodeIfNeeded LCM 設定。 若要瞭解本機 Configuration Manager 設定,請參閱 設定本機 Configuration Manager,或 設定本機 Configuration Manager (v4)。
您可以使用旗標從資源 $global:DSCMachineStatus 內重新啟動節點。 在函式中Set-TargetResource將此旗標設定為1強制 LCM 在目前資源的 Set 方法之後直接重新啟動節點。 使用此旗標,ComputerManagementDsc DSC 資源模組中的 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 |
|---|---|
| 名稱 | 組態中每個資源執行個體必須是唯一的必要參數。 |
| SkipComponentBasedServicing | 略過 Component-Based 服務元件所觸發的重新開機。 |
| 跳過Windows更新 | 略過 Windows Update 觸發的重新啟動。 |
| 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'
}
}
}
備註
此範例假設您已將本機 Configuration Manager 設定為允許重新開機,並在重新開機後繼續設定。
下載地點
您可以在下列位置下載本主題中使用的資源,或使用 PowerShell 資源庫。