Een knooppunt opnieuw opstarten
Notitie
In dit onderwerp wordt beschreven hoe u een knooppunt opnieuw opstart. Voor een geslaagde herstart moeten de LCM-instellingen ActionAfterReboot en RebootNodeIfNeeded correct zijn geconfigureerd. Zie De lokale Configuration Manager configureren of De lokale Configuration Manager (v4) configureren voor meer informatie over instellingen voor lokale Configuration Manager.
Knooppunten kunnen opnieuw worden opgestart vanuit een resource met behulp van de $global:DSCMachineStatus
vlag. Als u deze vlag 1
instelt op in de Set-TargetResource
functie, dwingt de LCM het knooppunt direct na de methode Set van de huidige resource opnieuw op te starten. Met deze vlag detecteert de resource PendingReboot in de ComputerManagementDsc DSC-resourcemodule of er buiten DSC opnieuw opstarten in behandeling is.
Uw configuraties kunnen stappen uitvoeren waarbij het knooppunt opnieuw moet worden opgestart. Dit kan zaken omvatten zoals:
- Windows-updates
- Software installeren
- Bestandsnamen
- Naam van computer wijzigen
De resource PendingReboot controleert specifieke computerlocaties om te bepalen of opnieuw opstarten in behandeling is. Als het knooppunt opnieuw moet worden opgestart buiten DSC, stelt de resource PendingReboot de $global:DSCMachineStatus
vlag in op 1
het afdwingen van opnieuw opstarten en het oplossen van de in behandeling zijnde voorwaarde.
Notitie
Elke DSC-resource kan de LCM instrueren om het knooppunt opnieuw op te starten door deze vlag in de Set-TargetResource
functie in te stellen. Zie Een aangepaste DSC-resource schrijven met MOF voor meer informatie.
Syntax
PendingReboot [String] #ResourceName
{
Name = [string]
[DependsOn = [string[]]]
[PsDscRunAsCredential = [PSCredential]]
[SkipCcmClientSDK = [bool]]
[SkipComponentBasedServicing = [bool]]
[SkipPendingComputerRename = [bool]]
[SkipPendingFileRename = [bool]]
[SkipWindowsUpdate = [bool]]
}
Eigenschappen
Eigenschap | Beschrijving |
---|---|
Naam | Vereiste parameter die uniek moet zijn per exemplaar van de resource binnen een configuratie. |
SkipComponentBasedServicing | Sla het opnieuw opstarten over dat wordt geactiveerd door het onderdeel Component-Based Servicing. |
SkipWindowsUpdate | Het opnieuw opstarten dat wordt geactiveerd door Windows Update overslaan. |
SkipPendingFileRename | Herstarts van bestandsnamen in behandeling overslaan. |
SkipCcmClientSDK | Herstarten overslaan die worden geactiveerd door de ConfigMgr-client. |
SkipComputerRename | Herstarten overslaan die worden geactiveerd door computernamen. |
PSDSCRunAsCredential | Ondersteund in v5. Voert de resource uit als de opgegeven gebruiker. |
DependsOn | Geeft aan dat de configuratie van een andere resource moet worden uitgevoerd voordat deze resource wordt geconfigureerd. Als de id van het resourceconfiguratiescriptblok dat u als eerste wilt uitvoeren bijvoorbeeld ResourceName is en het type ResourceType is, is DependsOn = "[ResourceType]ResourceName" de syntaxis voor het gebruik van deze eigenschap . Zie DependsOn gebruiken voor meer informatie |
Voorbeeld
In het volgende voorbeeld wordt Microsoft Exchange geïnstalleerd met behulp van de resource xExchange . Tijdens de installatie wordt de resource PendingReboot gebruikt om het knooppunt opnieuw op te starten.
Notitie
Voor dit voorbeeld is de referentie vereist van een account dat rechten heeft om een Exchange-server toe te voegen aan het forest. Zie Referenties verwerken in DSC voor meer informatie over het gebruik van referenties in 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'
}
}
}
Notitie
In dit voorbeeld wordt ervan uitgegaan dat u uw Lokale Configuration Manager hebt geconfigureerd om opnieuw opstarten toe te staan en de configuratie na het opnieuw opstarten voort te zetten.
Waar te downloaden
U kunt de resources die in dit onderwerp worden gebruikt, downloaden op de volgende locaties of met behulp van de PowerShell-galerie.