Freigeben über


DSC-Konfigurationen

Gilt für: PowerShell 7, Azure-Computerkonfiguration

DSC-Konfigurationen sind PowerShell-Skripts, die eine spezielle Art von Befehl definieren. Verwenden Sie zum Definieren einer Konfiguration das PowerShell-Schlüsselwort configuration.

Configuration MyDscConfiguration {
    Environment FirstEnvironmentVariable {
        Ensure = 'Present'
        Name   = 'Foo'
        Value  = 'Example'
    }

    Environment SecondEnvironmentVariable {
        Ensure = 'Present'
        Name   = 'Bar'
        Value  = 'Another'
    }
}

MyDscConfiguration

Speichern Sie das Skript als .ps1 Datei.

Konfigurationssyntax

Ein DSC-Konfigurationsskript besteht aus den folgenden Teilen:

  • Der Configuration-Block. Dies ist der äußerste Skriptblock. Sie definieren es mit dem schlüsselwort Configuration und geben einen Namen an. In diesem Fall ist der Name der DSC-Konfiguration MyDscConfiguration.
  • Mindestens ein DSC-Ressourcenblock. Hier definiert die DSC-Konfiguration die Einstellungen für die Komponente, die sie konfiguriert. In diesem Fall gibt es zwei DSC-Ressourcenblöcke. Beide verwenden die Environment DSC-Ressource.

Kompilieren der Konfiguration

Bevor Sie eine DSC-Konfiguration verwenden können, müssen Sie sie in ein MOF-Dokument kompilieren. Dazu rufen Sie die DSC-Konfiguration wie eine PowerShell-Funktion auf. Die letzte Zeile des Beispiels, die nur den Namen der DSC-Konfiguration enthält, führt die DSC-Konfiguration aus.

Anmerkung

Um eine DSC-Konfiguration aufzurufen, muss sie im aktuellen Bereich (wie bei jeder anderen PowerShell-Funktion) geladen werden. Sie können dies entweder durch "Dot-Sourcing" des Skripts oder durch Ausführen des Skripts mit F5- oder durch Klicken auf die Schaltfläche Ausführen von Skripts in VS Code vornehmen. Um das Skript zu dotieren, führen Sie den Befehl . .\myConfig.ps1 aus, wobei myConfig.ps1 der Name der Skriptdatei ist, die Ihre DSC-Konfiguration enthält.

Wenn Sie die DSC-Konfiguration aufrufen, wird folgendes aufgerufen:

  • Erstellt einen Ordner im aktuellen Verzeichnis mit demselben Namen wie die DSC-Konfiguration.
  • Erstellt eine Datei namens localhost.mof im neuen Verzeichnis.

Anmerkung

Die MOF-Datei enthält alle Konfigurationsinformationen für das System. Aus diesem Gründen ist es wichtig, es sicher zu halten.

Verwenden neuer DSC-Ressourcen in Ihrer DSC-Konfiguration

Wenn Sie die vorherigen Beispiele ausgeführt haben, haben Sie möglicherweise bemerkt, dass Sie gewarnt wurden, dass Sie eine Ressource verwendet haben, ohne sie explizit zu importieren.

Mit dem Cmdlet Get-DscResource können Sie ermitteln, welche Ressourcen auf dem System installiert sind und zur Verwendung verfügbar sind. Auch wenn ihre Module in $env:PSModulePath platziert wurden und von Get-DscResourceerkannt werden, müssen sie immer noch in Ihrer DSC-Konfiguration geladen werden.

Import-DscResource ist ein dynamisches Schlüsselwort, das nur innerhalb eines Configuration Blocks erkannt werden kann. Es ist kein Cmdlet. Import-DscResource unterstützt zwei Parameter:

  • ModuleName- wird empfohlen, Import-DscResourcezu verwenden. Er akzeptiert den Namen des Moduls, das die zu importierenden Ressourcen enthält (sowie ein Zeichenfolgenarray von Modulnamen).
  • Name ist der Name der zu importierenden Ressource. Dies ist nicht der Anzeigename, der als Name Eigenschaft des Rückgabeobjekts Get-DscResourcezurückgegeben wird, aber der Klassenname, der beim Definieren des Ressourcenschemas verwendet wird (die ResourceType- eigenschaft des objekts, das von Get-DscResourcezurückgegeben wird).

Weitere Informationen zur Verwendung von Import-DSCResourcefinden Sie unter Using Import-DSCResource

Wichtig

Es gibt eine Einschränkung in der Computerkonfiguration, die verhindert, dass eine DSC-Ressource powerShell-Cmdlets verwendet, die nicht in PowerShell selbst oder in einem Modul im PowerShell-Katalog enthalten sind. DSC-Ressourcen, die Cmdlets aus einem oder mehreren Windows-Modulen verwenden, funktionieren nicht in der Computerkonfiguration.

Siehe auch