Einrichten eines Pullclients mit Konfigurations-IDs in PowerShell 5.0 und höher

Gilt für: Windows PowerShell 5.0

Wichtig

Der Pull-Server (Windows-Feature DSC-Dienst) ist eine von Windows Server unterstützte Komponente, jedoch sollen keine neuen Features oder Funktionen angeboten werden. Wir möchten Sie wissen, dass eine neuere Version von DSC jetzt allgemein verfügbar ist, die von einem Feature Azure Policy benannten Gastkonfiguration verwaltet wird. Der Gastkonfigurationsdienst kombiniert Features der DSC-Erweiterung und von Azure Automation State Configuration mit den am häufigsten angeforderten Features aus Kundenfeedback. Die Gastkonfiguration umfasst auch die Unterstützung von Hybridcomputern über Arc-fähige Server.

Bevor Sie einen Pullclient einrichten, sollten Sie einen Pullserver einrichten. Diese Reihenfolge ist zwar nicht erforderlich, jedoch hilft sie bei der Problembehandlung und unterstützt Sie dabei, sicherzustellen, dass die Registrierung erfolgreich war. Sie können eine der folgenden Führungslinien zum Einrichten eines Pullservers verwenden:

Jeder Zielknoten kann zum Herunterladen von Konfigurationen, Ressourcen und sogar zum Berichten seines Status konfiguriert werden. In den folgenden Abschnitten wird veranschaulicht, wie Sie einen Pullclient mit einer SMB-Freigabe oder einem HTTP-DSC-Pullserver konfigurieren. Wenn der lokale Konfigurations-Manager des Knotens aktualisiert wird, wendet dieser sich an den konfigurierten Speicherort, um zugewiesene Konfigurationen herunterzuladen. Wenn erforderliche Ressourcen nicht auf dem Knoten vorhanden sind, werden diese automatisch vom konfigurierten Speicherort heruntergeladen. Wenn der Knoten mit einem Berichtsserver konfiguriert wurde, wird anschließend der Status des Vorgangs gemeldet.

Hinweis

Dieser Artikel gilt nur für PowerShell 5.0. Informationen zum Einrichten eines Pullclients in PowerShell 4.0 finden Sie unter Einrichten eines Pullclients mithilfe der Konfigurations-ID in PowerShell 4.0.

Konfigurieren des lokalen Konfigurations-Managers für den Pullclient

Durch Ausführen der folgenden Beispiele wird ein neuer Ausgabeordner namens PullClientConfigID erstellt, und in diesem wird eine MOF-Datei mit der Metakonfiguration platziert. In diesem Fall heißt die MOF-Datei mit der Metakonfiguration localhost.meta.mof.

Rufen Sie zum Anwenden der Konfiguration das Cmdlet Set-DscLocalConfigurationManager auf, wobei Path auf den Speicherort der MOF-Datei mit der Metakonfiguration festgelegt wird. Beispiel:

Set-DSCLocalConfigurationManager –ComputerName localhost –Path .\PullClientConfigId –Verbose.

Konfigurations-ID

In den folgenden Beispielen wird die Eigenschaft ConfigurationID des lokalen Konfigurations-Managers auf eine GUID festgelegt, die zuvor zu diesem Zweck erstellt wurde. Der LCM nutzt die ConfigurationID zum Auffinden der entsprechenden Konfiguration auf dem Pullserver. Die MOF-Konfigurationsdatei auf dem Pullserver muss den Namen ConfigurationID.mof haben, wobei ConfigurationID der Wert der Eigenschaft ConfigurationID des LCM des Zielknotens ist. Weitere Informationen finden Sie unter Publish Configurations to a Pull Server (v4/v5) (Veröffentlichen von Konfigurationen für einen Pullserver (PowerShell 4.0 und 5.0)).

Sie können eine zufällige GUID mithilfe des folgenden Beispiels oder des Cmdlets New-Guid erstellen.

[System.Guid]::NewGuid()

Weitere Informationen zur Verwendung von GUIDs in Ihrer Umgebung finden Sie unter Plan for Guids (Planen von GUIDs).

Einrichten eines Pullclients zum Herunterladen von Konfigurationen

Jeder Client muss im Modus Pull konfiguriert werden und mit der Pullserver-URL zum Speicherort der Konfiguration versehen werden. Hierzu müssen Sie den lokalen Konfigurations-Manager (LCM) mit den benötigten Informationen konfigurieren. Zum Konfigurieren des LCM erstellten Sie eine besondere Art von Konfiguration unter Angabe des DSCLocalConfigurationManager-Attributs. Weitere Informationen zum Konfigurieren des LCM finden Sie unter Konfigurieren des lokalen Konfigurations-Managers.

HTTP-DSC-Pullserver

Das folgende Skript konfiguriert den LCM zum Abrufen von Konfigurationen von einem Pullserver namens „CONTOSO-PullSrv“.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'

        }
    }
}
PullClientConfigID

Im Skript definiert der ConfigurationRepositoryWeb-Block den Pullserver. ServerUrl gibt die URL für den DSC-Pull an.

SMB-Freigabe

Mit dem folgenden Skript wird der lokale Konfigurations-Manager zum Pullen von Konfigurationen aus der SMB-Freigabe \\SMBPullServer\Pull konfiguriert.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryShare SMBPullServer
        {
            SourcePath = '\\SMBPullServer\Pull'
        }
    }
}
PullClientConfigID

Der ConfigurationRepositoryShare-Block im Skript definiert den Pullserver, bei dem es sich in diesem Fall lediglich um eine SMB-Freigabe handelt.

Einrichten eines Pullclients zum Herunterladen von Ressourcen

Wenn Sie nur den ConfigurationRepositoryWeb- oder den ConfigurationRepositoryShare-Block in Ihrer Konfiguration für den lokalen Konfigurations-Manager angeben (wie in den vorherigen Beispielen), ruft der Pullclient die Ressourcen vom gleichen Speicherort wie die Konfigurationen per Pull ab. Sie können auch einen separaten Speicherort für Ressourcen festlegen. Verwenden Sie den ResourceRepositoryWeb-Block zum Festlegen eines Ressourcenspeicherorts als separater Server. Verwenden Sie den ResourceRepositoryShare-Block zum Festlegen eines Ressourcenspeicherorts als SMB-Freigabe.

Hinweis

Sie können ConfigurationRepositoryWeb mit ResourceRepositoryShare oder ConfigurationRepositoryShare mit ResourceRepositoryWeb kombinieren. Hierfür werden keine Beispiele gezeigt.

HTTP-DSC-Pullserver

Mit der folgenden Metakonfiguration wird ein Pullclient zum Abrufen der Konfigurationen von CONTOSO-PullSrv und der Ressourcen von CONTOSO-ResourceSrv konfiguriert.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'

        }

        ResourceRepositoryWeb CONTOSO-ResourceSrv
        {
            ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc'
        }
    }
}
PullClientConfigID

SMB-Freigabe

Im folgenden Beispiel wird eine Metakonfiguration gezeigt, die einen Client zum Pullen von Konfigurationen aus der SMB-Freigabe \\SMBPullServer\Configurations und Ressourcen aus der SMB-Freigabe \\SMBPullServer\Resources einrichtet.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryShare SMBPullServer
        {
            SourcePath = '\\SMBPullServer\Configurations'
        }

        ResourceRepositoryShare SMBResourceServer
        {
            SourcePath = '\\SMBPullServer\Resources'
        }
    }
}
PullClientConfigID

Automatisches Herunterladen von Ressourcen im Pushmodus

Ab PowerShell 5.0 können Ihre Pullclients Module aus einer SMB-Freigabe auch dann herunterladen, wenn sie für den Pushmodus konfiguriert sind. Dies ist insbesondere in Szenarios hilfreich, in denen Sie keinen Pullserver einrichten möchten. Der ResourceRepositoryShare-Block kann ohne Festlegen von ConfigurationRepositoryShare verwendet werden. Im folgenden Beispiel wird eine Metakonfiguration gezeigt, die einen Client zum Pullen von Ressourcen aus der SMB-Freigabe \\SMBPullServer\Resources einrichtet. Wenn der Knoten eine Konfiguration per PUSH übertragen hat, lädt er automatisch alle erforderlichen Ressourcen von der angegebenen Freigabe herunter.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Push'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
        }

        ResourceRepositoryShare SMBResourceServer
        {
            SourcePath = '\\SMBPullServer\Resources'
        }
    }
}
PullClientConfigID

Einrichten eines Pullclients zum Berichten des Status

Knoten senden standardmäßig keine Berichte an einen konfigurierten Pullserver. Sie können für Konfigurationen, Ressourcen und Berichte einen einzigen Pullserver verwenden, allerdings müssen Sie einen ReportRepositoryWeb-Block erstellen, um die Berichterstattung einzurichten.

HTTP-DSC-Pullserver

Das folgenden Beispiel zeigt eine Metakonfiguration, mit der einen Client so eingerichtet wird, dass Konfigurationen und Ressourcen per Pull von einem Pullserver abgerufen und Berichtsdaten an denselben Pullserver gesendet werden.

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
        }

        ReportServerWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
        }
    }
}
PullClientConfigID

Um einen Berichtsserver anzugeben, verwenden Sie einen ReportRepositoryWeb-Block. Ein Berichtsserver kann kein SMB-Server sein. Die folgende Metakonfiguration konfiguriert einen Pullclient zum Abrufen seiner Konfigurationen von CONTOSO-PullSrv und seiner Ressourcen von CONTOSO-ResourceSrv und zum Senden von Statusberichten an CONTOSO-ReportSrv:

[DSCLocalConfigurationManager()]
configuration PullClientConfigID
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
        }

        ResourceRepositoryWeb CONTOSO-ResourceSrv
        {
            ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc'
        }

        ReportServerWeb CONTOSO-ReportSrv
        {
            ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc'
        }
    }
}
PullClientConfigID

SMB-Freigabe

Ein Berichtsserver kann keine SMB-Freigabe sein.

Nächste Schritte

Sobald der Pullclient konfiguriert wurde, können Sie die folgenden Leitfäden zum Durchführen der nächsten Schritte verwenden:

Weitere Informationen