Der Einsteigerkurs zu PowerShell Desired State Configuration, den Jan-Henrik Damaschke (ebenfalls CDM MVP) und ich letztes Jahr erstellt haben, ist nun auch endlich in der Microsoft Virtual Academy (MVA) online, und zwar zu finden unter diesem Link:
Gestern Abend war ich zu Gast bei #Geeksprech. Cloud and Datacenter MVP Eric Berg hat mir viele Fragen zu PowerShell gestellt und ich habe Sie nach bestem Wissen beantwortet. Außerdem sind wie über das eine oder andere Randthema ins Gespräch gekommen.
Die Aufzeichnung findet ihr als Podcast auf verschiedenen Plattformen:
Für all diejenigen, die meine Demos aus der Technical Summit Session zu PowerShell DSC ausprobieren wollen oder einfach nur die Inhalte nochmal nachlesen wollen, biete ich hier meine Slides und Samples an.
Zum Ausprobieren braucht ihr einfach nur 3 Windows Server 2016, am besten als VM in Hyper-V. Meine VMs heissen SRV1, SRV2 und SRV3, aber wenn ihr die Skripte anpasst sind natürlich auch andere Servernamen ok.
Nur eine kurze Notiz, da es dazu insbesondere im Deutschen Internet keine brauchbaren Texte gibt:
Solltet ihr beim Versuch, einen Host bzw. dessen LCM (Local Configuration Manager) bei einem Pull-Server zu registrieren einen derartigen Fehler bekommen:
Als Text:
Fehler bei der Registrierung des Dsc-Agents beim Server https://SRV1.lab.hertes.net:8080/PSDSCPullServer.svc. Der zugrunde liegende Fehler ist:
Beim Versuch, den DSC-Agent mit AgentId C60FE00B-9EB7-11E6-B56F-00155D003B07 beim Server https://srv1.lab.hertes.net:8080/PSDSCPullServer.svc/
Nodes(AgentId='C60FE00B-9EB7-11E6-B56F-00155D003B07') zu registrieren, wurde der unerwartete Antwortcode Unauthorized zurückgegeben..
+ CategoryInfo : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : RegisterDscAgentUnsuccessful,Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand
+ PSComputerName : SRV2.lab.hertes.net
Die wesentliche Message im Fehlertext ist wohl:
“Unauthorized”
Die Lösung des Problems ist zwar denkbar einfach, dafür aber auch aus der Kategorie “Schnell mal vergessen”:
In der Konfiguration des Pull-Servers wird diesem ein Verzeichnis mitgeteilt, in dem er die zulässigen Registration-Keys finden kann:
Wenn man nun einfach vergessen hat, die vom neuen Host zu verwendende GUID dort abzulegen, dann wird dieser eben als nicht autorisiert abgelehnt…
Abhilfe schafft hier eine Zeile im Code der Registrierung des neuen Hosts, die man dann idealerweise direkt vom Pull-Server aus auslöst:
Die wesentliche Zeile habe ich rot markiert. Ich schreibe die GUID zusätzlich in ein einzelnes File in einem anderen Pfad, um leichter prüfen zu können, ob ich für den Server bereits eine GUID vergeben hatte…
Wenn beim Versuch, PowerShell DSC Konfigurationen von einem Windows Server 2016 als Pull-Server auf andere Server der selben Generation zu schicken, neuere Ressourcen verwendet werden, dann kann u.U. folgender Fehler auftreten:
Fehlermeldung nochmal vollständig:
“The PowerShell DSC resource MSFT_RoleResource from module <PSDesiredStateConfiguration,1.0> does not exist at the PowerShell module path nor is it registered as a WMI DSC resource.”
Grund ist ein unterschiedlicher Patch-Stand zwischen den einzelnen Servern. Abhilfe schafft also ein einspielen der entsprechenden Patches.