Machen Sie sich mit der gewünschten PowerShell-Statuskonfiguration vertraut

PowerShell Desired State Configuration ist eine Funktion, die in der zweiten Jahreshälfte 2013 eingeführt wurde und standardmäßig in den endgültigen Versionen von Windows 8.1 und Windows Server 2012 R2 enthalten war. Es handelt sich um ein Konfigurationsmanagementsystem, das standardbasierte Webdienste verwendet, um sicherzustellen, dass Ihre Computer so eingerichtet sind, wie Sie es möchten. In diesem Artikel möchte ich die PowerShell Desired State Configuration vorstellen und Ihnen ein wenig zeigen, wie es funktioniert und welche Aufgaben es für Sie ausführen kann.

Aber zuerst ein bisschen Kontext und eine Frage, die viele Administratoren haben, wenn sie zum ersten Mal davon hören: Was bringt es, die PowerShell Desired State Configuration über eine bewährte Systemverwaltungslösung wie System Center oder ein anderes Tool eines Drittanbieters zu verwenden? Es gibt mehrere Vorteile, von denen jedoch drei am meisten hervorstechen.

Die gewünschte PowerShell-Statuskonfiguration ist in Windows Server enthalten, sodass beim Kauf von Lizenzierungs- und Verwaltungsinstanzen für Systemverwaltungs- und Konfigurationsbereitstellungssoftware keine zusätzlichen Kosten anfallen.

Die gewünschte PowerShell-Statuskonfiguration ist ziemlich agentenlos und erfordert, dass nur PowerShell zusammen mit dem Zugriff über Port 80 oder Port 443 installiert wird, um einen Webserver abzufragen, um Konfigurationsinformationen abzurufen. Es gibt keinen zusätzlichen Verwaltungsaufwand für das Konfigurationssystem.

In der PowerShell-Konfiguration für den gewünschten Status werden nur die Funktionen angezeigt, die in einer Konfigurationsdatei definiert sind. Andere Einstellungen werden ignoriert, was zu einer viel geringeren Konfigurationsnutzlast führt und andere Bereitstellungen beschleunigt, während mehrere Konfigurationen und gestapelte Workloads definiert werden können (ein Webserver, der auch ein Dateiserver ist, kann Webservereinstellungen erhalten, ohne über seine Dateiservereinstellungen zu verfügen überschrieben), eine Art der Bereitstellung, die viele Systemverwaltungssuiten nicht einfach oder gar nicht bewältigen können.

Konfigurationen drücken und ziehen

Der Grundgedanke der PowerShell Desired State Configuration besteht darin, zwei Modelle zum Definieren einer gewünschten Konfiguration zu verwenden, damit die Maschinen entweder die Informationen zur richtigen Konfiguration aus einem zentralen Repository abrufen oder sie in verschiedenen Intervallen an Sie als Administrator senden kann definieren.
Das Push-Modell ist ein aktives Konfigurationsmodell, das ausgeführt wird, wenn Sie das ausgeben Start-DscConfiguration –Computername –Path Powershell Cmdlet und sendet sofort Systemkonfigurationen basierend auf den Dateien heraus, die an dem Ort gespeichert sind, an dem Sie sie eingegeben haben -Pfad Attribut. Dies ist so ziemlich ein sofortiger “Jetzt tun” -Stil für die Verwaltung Ihrer Ziele und erfordert, dass Sie alle Ihre Konfigurationsdateien an einem zentralen Ort speichern, auf den alle Computer zugreifen können, auf die Sie abzielen möchten. Es erfordert, dass Sie immer pushen; Die Konfiguration wird standardmäßig nicht überprüft.
Das Pull-Modell ist etwas passiver; Es handelt sich um einen Server, der als Clearingstelle sowohl für die Konfigurationsdateien als auch für alle Komponenten fungiert, die als Vermittler für die Konfiguration verschiedener Facetten eines Computers fungieren. Sie können beispielsweise einen benutzerdefinierten Anbieter schreiben – einen Code, der die Verwendung der gewünschten PowerShell-Statuskonfiguration bietet -, der die Anweisungen in Konfigurationsdateien für Ihre selbst erstellte benutzerdefinierte Geschäftsanwendung übersetzen kann. Der Pull-Server ist nur ein Webserver, auf dem IIS ausgeführt wird und der OData veröffentlicht, eine typische, genau definierte und unterstützte Standardschnittstelle, die der PowerShell-Webdienst abfragen kann, um die tatsächlichen Konfigurationsdaten abzurufen. Dies ist die häufigste Methode zum Implementieren der gewünschten PowerShell-Statuskonfiguration und wird in Bereitstellungen verwendet, bei denen Konfigurationen im Laufe der Zeit von einem gewünschten Status “abweichen”. Die PowerShell-Konfiguration für den gewünschten Status wird regelmäßig ausgeführt, zieht die richtigen Konfigurationen herunter und korrigiert die Konfiguration im Hintergrund auf den gewünschten Status.
Diese Konfigurationsdefinitionen haben das Format von Verwaltungsobjektdateien oder MOF-Dateien, bei denen es sich im Grunde genommen nur um Textdateien mit einer Reihe von aufgelisteten Klassen handelt, die sich auf Elemente des Windows-Betriebssystems beziehen, die das PowerShell-Konfigurationsmodul versteht, sowie auf die Parameter für jede dieser Klassen, die definieren, wie die gewünschte Konfiguration aussehen soll. So sehen einige Zeilen einer .MOF-Datei nur als Referenz aus:
Instanz von PowerPlan als $ PP
{
ResourceID = “[PowerPlan]Standard::[BaseServer]JustTheBasics ::[VirtualServer]VMWare “;
SourceInfo = “C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Module \ SELocalConfiguration \ StackExchangeConfiguration \ StackExchangeConfiguration.psm1 :: 20 :: 5 :: PowerPlan”;
Name = “Hohe Leistung”;
ModuleName = “PowerPlan”;
ModuleVersion = “1.0”;
};
MOF-Dateien werden in der Regel einmal manuell erstellt und dann nach Bedarf kopiert und eingefügt. Für Konfigurationen, bei denen bestimmte Windows-Rollen und -Funktionen installiert, entfernt oder sichergestellt werden müssen, können Sie das integrierte Cmdlet verwenden Get-DscResource. Dadurch werden die richtige Syntax und alle verfügbaren Optionen für einen bestimmten Namen ermittelt. Wenn Sie beispielsweise dieses Cmdlet wie geschrieben ausführen, werden die Arten von Konfigurationsbereichen angezeigt, die von der PowerShell Desired State Configuration verarbeitet werden können, sowie die Arten von Aufgaben und Konfigurationsanweisungen, die Sie in den einzelnen Bereichen ausführen können.

Namenseigenschaften

—- ———-

Datei {DestinationPath, Attribute, Prüfsumme, Con …

Archiv {Ziel, Pfad, Prüfsumme, Berechtigungsnachweis …}

Umgebung {Name, DependsOn, Sicherstellen, Pfad …}

Group {GroupName, Credential, DependsOn, Descript …

Log {Message, DependsOn}

Paket {Name, Pfad, Produkt-ID, Argumente …}

Registrierung {Schlüssel, Wertname, Abhängig, Sicherstellen …}

Skript {GetScript, SetScript, TestScript, Credenti …

Service {Name, BuiltInAccount, Berechtigungsnachweis, DependsO …

Benutzer {Benutzername, DependsOn, Beschreibung, Deaktiviert …

WindowsFeature {Name, Berechtigungsnachweis, DependsOn, Sicherstellen …}

WindowsProcess {Argumente, Pfad, Anmeldeinformationen, DependsOn …}}

Wie Sie sehen, gibt es eine Vielzahl von Facetten des Betriebssystems, von Rollen und Funktionen über Skripts, Registrierungseinstellungen bis hin zu Anmeldeinformationen, die Sie mithilfe von DSC steuern können.
Dies sind die Grundlagen der PowerShell-Konfiguration für den gewünschten Status. Weitere Informationen finden Sie unter Powershell.org und insbesondere die Ressourcen dort markiert mit DSC.

Similar Posts

Leave a Reply