Restartování uzlu
Poznámka
Toto téma popisuje, jak restartovat uzel. Aby restartování proběhlo úspěšně, je potřeba správně nakonfigurovat nastavení LCM ActionAfterReboot a RebootNodeIfNeeded . Informace o nastavení místního Configuration Manager najdete v tématu Konfigurace místního Configuration Manager nebo Konfigurace místního Configuration Manager (v4).
Uzly je možné restartovat z prostředku pomocí příznaku .$global:DSCMachineStatus
Nastavení tohoto příznaku Set-TargetResource
na 1
ve funkci vynutí LCM restartování Node přímo po metodě Set aktuálního prostředku. Pomocí tohoto příznaku prostředek PendingReboot v modulu prostředku ComputerManagementDsc DSC zjistí, jestli restartování čeká mimo DSC.
Vaše konfigurace můžou provádět kroky, které vyžadují restartování uzlu. To může zahrnovat například:
- Aktualizace Windows
- Instalace softwaru
- Přejmenování souborů
- Přejmenování počítače
Prostředek PendingReboot zkontroluje konkrétní umístění počítačů a určí, jestli čeká na restartování. Pokud uzel vyžaduje restartování mimo DSC, prostředek PendingReboot nastaví $global:DSCMachineStatus
příznak na 1
vynucení restartování a vyřešení čekající podmínky.
Poznámka
Libovolný prostředek DSC může dát LCM pokyn, aby restartoval uzel nastavením tohoto příznaku Set-TargetResource
ve funkci . Další informace najdete v tématu Zápis vlastního prostředku DSC pomocí MOF.
Syntax
PendingReboot [String] #ResourceName
{
Name = [string]
[DependsOn = [string[]]]
[PsDscRunAsCredential = [PSCredential]]
[SkipCcmClientSDK = [bool]]
[SkipComponentBasedServicing = [bool]]
[SkipPendingComputerRename = [bool]]
[SkipPendingFileRename = [bool]]
[SkipWindowsUpdate = [bool]]
}
Vlastnosti
Vlastnost | Popis |
---|---|
Název | Povinný parametr, který musí být jedinečný pro každou instanci prostředku v rámci konfigurace. |
SkipComponentBasedServicing | Přeskočte restartování aktivovaná komponentou Component-Based Servicing. |
SkipWindowsUpdate | Přeskočte restartování aktivovaná služba Windows Update. |
SkipPendingFileRename | Přeskočte restartování čekající na přejmenování souborů. |
SkipCcmClientSDK | Přeskočte restartování aktivovaná klientem nástroje ConfigMgr. |
SkipComputerRename | Přeskočte restartování aktivovaná přejmenováním počítače. |
PSDSCRunAsCredential | Podporováno ve verzi 5. Spustí prostředek jako zadaný uživatel. |
DependsOn | Označuje, že konfigurace jiného prostředku musí běžet před konfigurací tohoto prostředku. Pokud například ID bloku konfiguračního skriptu prostředku, který chcete spustit jako první, je ResourceName a jeho typ je ResourceType, syntaxe pro použití této vlastnosti je DependsOn = "[ResourceType]ResourceName" . Další informace najdete v tématu Použití DependsOn. |
Příklad
Následující příklad nainstaluje Microsoft Exchange pomocí prostředku xExchange . Během instalace se prostředek PendingReboot používá k restartování uzlu.
Poznámka
Tento příklad vyžaduje přihlašovací údaje účtu, který má práva k přidání serveru Exchange do doménové struktury. Další informace o používání přihlašovacích údajů v DSC najdete v tématu Zpracování přihlašovacích údajů v 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'
}
}
}
Poznámka
Tento příklad předpokládá, že jste nakonfigurovali místní Configuration Manager tak, aby umožňovala restartování a pokračovala v konfiguraci i po restartování.
Kde stáhnout
Prostředky použité v tomto tématu si můžete stáhnout z následujících umístění nebo pomocí galerie Prostředí PowerShell.