Freigeben über


DSC-Konfigurationen

Gilt für: PowerShell 7, das Azure Automanage-Computerkonfigurationsfeature

DSC-Konfigurationen sind PowerShell-Skripts, die eine spezielle Art von Befehl definieren. Verwenden Sie zum Definieren einer Konfiguration die PowerShell-Schlüsselwort (keyword) 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 die äußerste Skriptblock. Sie definieren sie mit dem Configuration Schlüsselwort (keyword) und geben einen Namen an. In diesem Fall lautet MyDscConfigurationder Name der DSC-Konfiguration .
  • 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. Hierzu 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.

Hinweis

Um eine DSC-Konfiguration aufzurufen, muss sie im aktuellen Bereich geladen werden (wie bei jeder anderen PowerShell-Funktion). Sie können dies entweder durch "Punktsourcing" des Skripts oder durch Ausführen des Skripts mit F5 oder durch Klicken auf die Schaltfläche Skript ausführen in VS Code erreichen. 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, erfolgt Folgendes:

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

Hinweis

Die MOF-Datei enthält alle Konfigurationsinformationen für das System. Aus diesem Grund ist es wichtig, sie geschützt zu halten.

Verwenden neuer DSC-Ressourcen in Ihrer DSC-Konfiguration

Wenn Sie die vorherigen Beispielen ausgeführt haben, werden Sie vielleicht die Warnung bemerkt haben, dass Sie eine Ressource verwendet haben, ohne sie explizit zu importieren.

Sie können das Cmdlet Get-DscResource verwenden, um zu bestimmen, welche Ressourcen auf dem System installiert 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-DscResourceist eine dynamische Schlüsselwort (keyword), die nur innerhalb eines Configuration Blocks erkannt werden kann. Es handelt sich nicht um ein Cmdlet. Import-DscResource unterstützt zwei Parameter:

  • ModuleName ist die empfohlene Methode zur Verwendung Import-DscResourcevon . Dieser Parameter akzeptiert den Namen des Moduls mit den Ressourcen, die importiert werden sollen, (sowie einem Zeichenfolgenarray mit Modulnamen).
  • Name ist der Name der zu importierenden Ressource. Dies ist nicht der Anzeigename, der als Name-Eigenschaft des Get-DscResourceRückgabeobjekts zurückgegeben wird, sondern der Klassenname, der beim Definieren des Ressourcenschemas verwendet wird (die ResourceType-Eigenschaft des von zurückgegebenen Get-DscResourceObjekts).

Weitere Informationen zur Verwendung von Import-DSCResource finden Sie unter Verwenden von „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 auf der PowerShell-Katalog enthalten sind. DSC-Ressourcen, die Cmdlets aus mindestens einem Windows-Modul verwenden, funktionieren nicht in der Computerkonfiguration.

Weitere Informationen