Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
W tym temacie omówiono sposób ponownego uruchamiania węzła. Aby ponowne uruchomienie zakończyło się pomyślnie, ustawienia LCM ActionAfterReboot i RebootNodeIfNeeded muszą być poprawnie skonfigurowane. Aby dowiedzieć się więcej o ustawieniach Lokalnego Configuration Manager, zobacz Konfigurowanie lokalnego Configuration Managerlub Konfigurowanie lokalnego Configuration Manager (wersja 4).
Węzły można ponownie uruchomić z poziomu zasobu przy użyciu flagi $global:DSCMachineStatus . Ustawienie tej flagi Set-TargetResource na 1 w funkcji wymusza ponowne uruchomienie węzła LCM bezpośrednio po metodzie Set bieżącego zasobu. Korzystając z tej flagi, zasób PendingReboot w module Zasób DSC ComputerManagementDsc wykrywa, czy oczekuje na ponowne uruchomienie poza DSC.
Konfiguracje mogą wykonywać kroki, które wymagają ponownego uruchomienia węzła. Może to obejmować takie rzeczy, jak:
- Aktualizacje systemu Windows
- Instalacja oprogramowania
- Zmiana nazw plików
- Zmiana nazwy komputera
Zasób PendingReboot sprawdza określone lokalizacje komputerów, aby określić, czy oczekuje na ponowne uruchomienie. Jeśli węzeł wymaga ponownego uruchomienia poza DSC, zasób PendingReboot ustawia flagę $global:DSCMachineStatus na 1 wymuszenie ponownego uruchomienia i rozwiązanie oczekującego warunku.
Uwaga / Notatka
Każdy zasób DSC może poinstruować LCM, aby ponownie uruchomił węzeł, ustawiając tę flagę Set-TargetResource w funkcji. Aby uzyskać więcej informacji, zobacz Pisanie niestandardowego zasobu DSC za pomocą MOF.
Składnia
PendingReboot [String] #ResourceName
{
Name = [string]
[DependsOn = [string[]]]
[PsDscRunAsCredential = [PSCredential]]
[SkipCcmClientSDK = [bool]]
[SkipComponentBasedServicing = [bool]]
[SkipPendingComputerRename = [bool]]
[SkipPendingFileRename = [bool]]
[SkipWindowsUpdate = [bool]]
}
Właściwości
| Majątek | Description |
|---|---|
| Name | Wymagany parametr, który musi być unikatowy dla każdego wystąpienia zasobu w konfiguracji. |
| SkipComponentBasedServicing | Pomiń ponowne uruchomienia wyzwalane przez składnik Component-Based Servicing (obsługa ). |
| PomińWindowsUpdate | Pomiń ponowne uruchamianie wyzwalane przez usługę Windows Update. |
| PomińPendingFileZmień nazwę | Pomiń oczekujące ponowne uruchomienie nazwy pliku. |
| SkipCcmClientSDK | Pomiń ponowne uruchamianie wyzwalane przez klienta programu ConfigMgr. |
| SkipComputerZmień nazwę | Pomiń ponowne uruchamianie wyzwalane przez zmianę nazw komputera. |
| PSDSCRunAsCredential | Obsługiwane w wersji 5. Uruchamia zasób jako określony użytkownik. |
| ZależyOn | Wskazuje, że konfiguracja innego zasobu musi zostać uruchomiona przed skonfigurowaniem tego zasobu. Jeśli na przykład identyfikator bloku skryptu konfiguracji zasobu, który ma zostać uruchomiony jako pierwszy, to ResourceName , a jego typ to ResourceType, składnia używana przez tę właściwość to DependsOn = "[ResourceType]ResourceName". Aby uzyskać więcej informacji, zobacz Using DependsOn |
Example
Poniższy przykład instaluje program Microsoft Exchange przy użyciu zasobu xExchange . Przez cały czas instalacji zasób PendingReboot jest używany do ponownego uruchomienia węzła.
Uwaga / Notatka
W tym przykładzie wymagane jest poświadczenie konta, które ma prawa do dodawania serwera Exchange do lasu. Aby uzyskać więcej informacji na temat korzystania z poświadczeń w DSC, zobacz Obsługa poświadczeń w 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'
}
}
}
Uwaga / Notatka
W tym przykładzie założono, że skonfigurowano lokalnego Configuration Managera tak, aby zezwalał na ponowne uruchamianie i kontynuował konfigurację po ponownym uruchomieniu.
Skąd pobrać
Zasoby używane w tym temacie można pobrać w następujących lokalizacjach lub przy użyciu galerii programu PowerShell.