2016-04-10 11 views
1

Ich habe meine LocalConfigurationManager setzen sich wie folgt zusammen:DSC-Konfiguration hält Neustarten

[DSCLocalConfigurationManager()] 
Configuration LCMConfig 
{ 
    Node localhost 
    { 
     Settings 
     { 
      RebootNodeIfNeeded = $true 
      ActionAfterReboot = 'ContinueConfiguration' 
      AllowModuleOverwrite = $true 
      DebugMode = 'All' 
     } 
    } 
} 
LCMConfig 
Set-DscLocalConfigurationManager -Path .\LCMConfig -Verbose -Force 

Dann habe ich über

Start-DscConfiguration -Path .\RDS -Verbose -Wait 

Diese Konfiguration eines RemoteApp-Server eine DSC-Konfiguration beginnen einrichtet, die eine ganze Reihe beinhaltet von Schritten und mehreren Neustarts. Einer dieser Neustarts findet immer wieder in einer Schleife statt. Wenn der Neustart erfolgt, kann ich lange genug in das System einsteigen, um einen oder zwei schnelle Befehle auszuführen, bevor DSC das System erneut startet. Wie kann ich feststellen, welche bestimmte Ressource in der Konfiguration, an der DSC aufgelegt wird?

Wenn ich

Remove-DSCConfiguration -Stage Pending,Current,Previous 

die Neustarts laufen stoppen ... aber dann scheine ich alle Informationen zu verlieren, wo das Problem geschieht.

Ich kann die Ausgabe von Get-DSCConfiguration erfassen, aber ich kann nicht sinnvoll genug von der Ausgabe zu sagen, wo die Neustart-Schleife passiert.

Wie kann ich das weiter debuggen?

Antwort

4

Es gibt viele Möglichkeiten, um dieses Problem zu beheben:

  1. Set RebootNodeIfNeeded auf true und ActionAfterReboot-StopConfiguration. Wenn die Maschine nach dem Neustart hochgefahren ist, wird DSC die Konfiguration nicht automatisch anwenden. Dann können Sie in der Powershell-Konsole Folgendes ausführen: Start-DscConfiguration -UseExisting -wait -verbose, um die ausführlichen Nachrichten zu erfassen. Die letzte Ressource, die ausgeführt wird, ist diejenige, die den Neustart angefordert hat.

  2. Führen Sie das Cmdlet Get-DscConfigurationStatus aus, um den Status des letzten Konfigurationslaufs abzurufen. Dieses Cmdlet schlägt fehl, wenn in DSC bereits etwas anderes ausgeführt wird. Es wird Ihnen eine Liste der Ressourcen geben, die sich im gewünschten Zustand und nicht im gewünschten Zustand befinden. Es gibt auch JobId für die Operation. Suchen Sie nach . Diese JSON-Datei enthält die ausführlichen Meldungen für den Konfigurationslauf. Dies funktioniert nur mit WMF 5.0 RTM.

  3. Holen Sie sich das xDSCDiagnostics-Modul und verwenden Sie die Informationen aus diesem Blog zur Fehlerbehebung. https://blogs.msdn.microsoft.com/powershell/2014/02/11/dsc-diagnostics-module-analyze-dsc-logs-instantly-now/