注释
本主题讨论如何重新启动节点。 为了成功重新启动,需要正确配置 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 资源会将标志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 库下载本主题中使用的资源。