Condividi tramite


Configurare un client di pull usando ID configurazione in PowerShell 5.0 e versioni successive

Si applica a: Windows PowerShell 5.0

Importante

Il server di pull (funzionalità di Windows servizio DSC) è un componente supportato di Windows Server, tuttavia non si prevede di offrire nuove caratteristiche o funzionalità. Si vuole sapere che una versione più recente di DSC è ora disponibile a livello generale, gestita da una funzionalità di Criteri di Azure configurazione guest denominata. Il servizio di configurazione guest combina funzionalità di estensione DSC, Automazione di Azure State Configuration e le funzionalità più comunemente richieste dai commenti dei clienti. La configurazione guest include anche il supporto di computer ibridi tramite server abilitati per Arc.

Prima di configurare un client di pull, è necessario configurare un server di pull. Anche se quest'ordine non è obbligatorio, facilita la risoluzione dei problemi e agevola la riuscita della registrazione. Per configurare un server di pull, è possibile usare le guide seguenti:

Ogni nodo di destinazione può essere configurato in modo che possa scaricare configurazioni e risorse e persino segnalare il proprio stato. Le sezioni seguenti illustrano come configurare un client di pull con una condivisione SMB o on server di pull DSC HTTP. Quando Gestione configurazione locale del nodo si aggiorna, contatta la posizione configurata per scaricare tutte le configurazioni assegnate. Se una o più risorse necessarie non sono presenti nel nodo, le scarica automaticamente dalla posizione configurata. Se il nodo è configurato con un server di report, segnala quindi lo stato dell'operazione.

Nota

Questo argomento si applica a PowerShell 5.0. Per informazioni sulla configurazione di un client di pull in PowerShell 4.0, vedere Configurazione di un client di pull usando un ID configurazione in PowerShell 4.0.

Configurare Gestione configurazione locale del client di pull

L'esecuzione di uno degli esempi che seguono crea una nuova cartella di output denominata PullClientConfigID e inserisce in questa cartella un file MOF di metaconfigurazione. In questo caso, il file MOF di metaconfigurazione sarà denominato localhost.meta.mof.

Per applicare la configurazione, chiamare il cmdlet Set-DscLocalConfigurationManager con il valore Path impostato sul percorso del file MOF di metaconfigurazione. Ad esempio:

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

ID configurazione

Gli esempi che seguono impostano la proprietà ConfigurationID di Gestione configurazione locale su un GUID creato in precedenza per questo scopo. Il valore di ConfigurationID viene usato da Gestione configurazione locale per trovare la configurazione appropriata nel server di pull. Il file MOF di configurazione nel server di pull deve essere denominato ConfigurationID.mof, dove ConfigurationID è il valore della proprietà ConfigurationID di Gestione configurazione locale del nodo di destinazione. Per altre informazioni, vedere Pubblicare le configurazioni in un server di pull (v4/v5).

È possibile creare un GUID casuale usando l'esempio che segue o tramite il cmdlet New-Guid.

[System.Guid]::NewGuid()

Per altre informazioni sull'uso di GUID nell'ambiente in uso, vedere Pianificare per i GUID.

Configurare un client di pull per scaricare configurazioni

Ogni client deve essere configurato in modalità Pull e deve ricevere l'URL del server di pull in cui è archiviata la sua configurazione. A tale scopo, è necessario configurare Gestione configurazione locale con le informazioni richieste. Per configurare Gestione configurazione locale, è necessario creare un tipo speciale di configurazione usando l'attributo DSCLocalConfigurationManager. Per altre informazioni sulla configurazione di Gestione configurazione locale, vedere Configurazione di Gestione configurazione locale.

Server di pull DSC HTTP

Lo script seguente configura Gestione configurazione locale per il pull delle configurazioni da un server denominato "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

Nello script il blocco ConfigurationRepositoryWeb definisce il server di pull. ServerUrl specifica l'URL del pull DSC

Condivisione SMB

Lo script seguente configura Gestione configurazione locale per il pull delle configurazioni dalla condivisione SMB \\SMBPullServer\Pull.

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

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

Nello script, il blocco ConfigurationRepositoryShare definisce il server di pull, che in questo caso è una condivisione SMB.

Configurare un client di pull per scaricare risorse

Se nella configurazione di Gestione configurazione locale si specifica solo il blocco ConfigurationRepositoryWeb o il blocco ConfigurationRepositoryShare, come negli esempi precedenti, il client di pull eseguirà il pull delle risorse dalla stessa posizione da cui recupera le proprie configurazioni. È anche possibile specificare posizioni distinte per le risorse. Per specificare una posizione per le risorse come server separato, usare il blocco ResourceRepositoryWeb. Per specificare una posizione per le risorse come condivisione SMB, usare il blocco ResourceRepositoryShare.

Nota

È possibile combinare ConfigurationRepositoryWeb con ResourceRepositoryShare oppure ConfigurationRepositoryShare con ResourceRepositoryWeb . Di seguito non sono riportati esempi di queste combinazioni.

Server di pull DSC HTTP

La metaconfigurazione seguente configura un client di pull in modo che ottenga le configurazioni da CONTOSO-PullSrv e le risorse da CONTOSO-ResourceSrv.

[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

Condivisione SMB

L'esempio seguente illustra una metaconfigurazione che configura un client per il pull di configurazioni dalla condivisione SMB \\SMBPullServer\Configurations e per il pull di risorse dalla condivisione SMB \\SMBPullServer\Resources.

[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

Scaricare automaticamente le risorse in modalità Push

A partire da PowerShell 5.0, i client di pull possono scaricare moduli da una condivisione SMB, anche quando sono configurati per la modalità Push. Ciò è particolarmente utile negli scenari in cui non si vuole configurare un server di pull. È possibile usare il blocco ResourceRepositoryShare senza specificare un blocco ConfigurationRepositoryShare. L'esempio seguente illustra una metaconfigurazione che configura un client per il pull di risorse dalla condivisione SMB \\SMBPullServer\Resources. Quando il nodo riceve il push di una configurazione, scarica automaticamente tutte le risorse necessarie dalla condivisione specificata.

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

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

Configurare un client di pull per la segnalazione dello stato

Per impostazione predefinita, i nodi non inviano report a un server di pull configurato. È possibile usare un singolo server di pull per le configurazioni, le risorse e i report, ma è necessario creare un blocco ReportRepositoryWeb per configurare la creazione di report.

Server di pull DSC HTTP

Nell'esempio seguente viene illustrata una metaconfigurazione che configura un client per il pull di configurazioni e risorse e per l'invio di dati di report a un singolo server di pull.

[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

Per specificare un server di report, usare un blocco ReportRepositoryWeb. Un server di report non può essere un server SMB. La metaconfigurazione seguente configura un client di pull in modo da ottenere le configurazioni da CONTOSO-PullSrv e le risorse da CONTOSO-ResourceSrv e inviare i report sullo stato a 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

Condivisione SMB

Un server di report non può fungere da condivisione SMB.

Passaggi successivi

Dopo la configurazione del client di pull, per eseguire i passaggi successivi è possibile usare le guide seguenti:

Vedere anche