Reboot a Node (Reiniciar um Nó)
Nota
Este tópico fala sobre como reiniciar um Nó. Para que o reinício seja bem-sucedido, as definições actionAfterReboot e RebootNodeIfNeeded LCM têm de ser configuradas corretamente. Para ler sobre as definições de Configuration Manager Local, consulte Configurar a Configuration Manager Local ou Configurar a Configuration Manager Local (v4).
Os nós podem ser reiniciados a partir de um recurso com o $global:DSCMachineStatus
sinalizador . Definir este sinalizador como 1
na Set-TargetResource
função força o LCM a reiniciar o Nó diretamente após o método Set do recurso atual. Ao utilizar este sinalizador, o recurso PendingReboot no módulo De recurso ComputerManagementDsc DSC deteta se um reinício está pendente fora do DSC.
As configurações podem executar passos que exigem que o Nó seja reiniciado. Isto pode incluir itens como:
- Atualizações do Windows
- Instalação de software
- Nomes de ficheiros
- Mudar o nome do computador
O recurso PendingReboot verifica localizações específicas do computador para determinar se um reinício está pendente. Se o Nó exigir um reinício fora do DSC, o recurso PendingReboot define o $global:DSCMachineStatus
sinalizador para 1
forçar um reinício e resolver a condição pendente.
Nota
Qualquer recurso DSC pode instruir o LCM a reiniciar o nó ao definir este sinalizador na Set-TargetResource
função. Para obter mais informações, veja Writing a custom DSC resource with MOF (Escrever um recurso DSC personalizado com o MOF).
Syntax
PendingReboot [String] #ResourceName
{
Name = [string]
[DependsOn = [string[]]]
[PsDscRunAsCredential = [PSCredential]]
[SkipCcmClientSDK = [bool]]
[SkipComponentBasedServicing = [bool]]
[SkipPendingComputerRename = [bool]]
[SkipPendingFileRename = [bool]]
[SkipWindowsUpdate = [bool]]
}
Propriedades
Propriedade | Descrição |
---|---|
Nome | Parâmetro obrigatório que tem de ser exclusivo por instância do recurso numa configuração. |
SkipComponentBasedServicing | Ignorar reinícios acionados pelo componente Component-Based Manutenção. |
SkipWindowsUpdate | Ignorar reinícios acionados por Windows Update. |
SkipPendingFileRename | Ignorar reinícios de mudança de nome de ficheiro pendentes. |
SkipCcmClientSDK | Ignorar reinícios acionados pelo cliente configMgr. |
SkipComputerRename | Ignorar reinícios acionados por Nomes de computadores. |
PSDSCRunAsCredential | Suportado na v5. Executa o recurso como o utilizador especificado. |
DependsOn | Indica que a configuração de outro recurso tem de ser executada antes de este recurso ser configurado. Por exemplo, se o ID do bloco de script de configuração de recursos que pretende executar primeiro for ResourceName e o respetivo tipo for ResourceType, a sintaxe para utilizar esta propriedade é DependsOn = "[ResourceType]ResourceName" . Para obter mais informações, veja Using DependsOn (Utilizar DependsOn) |
Exemplo
O exemplo seguinte instala o Microsoft Exchange com o recurso xExchange . Ao longo da instalação, o recurso PendingReboot é utilizado para reiniciar o Nó.
Nota
Este exemplo requer a credencial de uma conta que tenha direitos para adicionar um servidor Exchange à floresta. Para obter mais informações sobre como utilizar credenciais no DSC, veja Handling Credentials in DSC (Processar Credenciais no 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'
}
}
}
Nota
Este exemplo pressupõe que configurou a sua Configuration Manager Local para permitir reinícios e continuar a configuração após um reinício.
Onde Transferir
Pode transferir os recursos utilizados neste tópico nas seguintes localizações ou através da galeria do PowerShell.