구성 이름을 사용하여 끌어오기 클라이언트 설정Setting up a pull client using configuration names

적용 대상: Windows PowerShell 5.0Applies To: Windows PowerShell 5.0

중요

끌어오기 서버(Windows 기능 DSC-Service)는 Windows Server의 지원되는 구성 요소이지만 새로운 기능을 제공할 계획은 없습니다.The Pull Server (Windows Feature DSC-Service) is a supported component of Windows Server however there are no plans to offer new features or capabilities. 관리되는 클라우드를 Azure Automation DSC(Windows Server에 끌어오기 서버 이외의 기능 포함) 또는 여기에 나열된 커뮤니티 솔루션 중 하나로 전환하기 시작하는 것이 좋습니다.It is recommended to begin transitioning managed clients to Azure Automation DSC (includes features beyond Pull Server on Windows Server) or one of the community solutions listed here.

각 대상 노드는 끌어오기 모드를 사용하도록 지시 받고 끌어오기 서버에 연결하여 구성을 가져올 수 있는 URL을 받아야 합니다.Each target node has to be told to use pull mode and given the URL where it can contact the pull server to get configurations. 이를 수행하려면, 필요한 정보와 함께 LCM(로컬 구성 관리자)을 구성해야 합니다.To do this, you have to configure the Local Configuration Manager (LCM) with the necessary information. LCM을 구성하려면 DSCLocalConfigurationManager 특성으로 데코레이팅된 특별한 형식의 구성을 만듭니다.To configure the LCM, you create a special type of configuration, decorated with the DSCLocalConfigurationManager attribute. LCM 구성에 대한 자세한 내용은 로컬 구성 관리자 구성을 참조하세요.For more information about configuring the LCM, see Configuring the Local Configuration Manager.

참고: 이 항목은 PowerShell 5.0에 적용됩니다.Note: This topic applies to PowerShell 5.0. PowerShell 4.0에서 끌어오기 클라이언트를 설정하는 것에 대해서는 PowerShell 4.0에서 구성 ID를 사용하여 끌어오기 클라이언트 설정을 참조하세요.For information on setting up a pull client in PowerShell 4.0, see Setting up a pull client using configuration ID in PowerShell 4.0

다음 스크립트는 "CONTOSO-PullSrv"라는 서버에서 구성을 끌어오도록 LCM을 구성합니다.The following script configures the LCM to pull configurations from a server named "CONTOSO-PullSrv":

[DSCLocalConfigurationManager()]
configuration PullClientConfigNames
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }
        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = '140a952b-b9d6-406b-b416-e0f759c9c0e4'
            ConfigurationNames = @('ClientConfig')
        }
    }
}
PullClientConfigNames

스크립트에서 ConfigurationRepositoryWeb 블록은 끌어오기 서버를 정의합니다.In the script, the ConfigurationRepositoryWeb block defines the pull server. ServerURL 속성은 끌어오기 서버에 대한 끝점을 지정합니다.The ServerURL property specifies the endpoint for the pull server.

RegistrationKey 속성은 끌어오기 서버에 대한 모든 클라이언트 노드와 해당 끌어오기 서버 간의 공유 키입니다.The RegistrationKey property is a shared key between all client nodes for a pull server and that pull server. 동일한 값이 끌어오기 서버에 있는 파일에 저장됩니다.The same value is stored in a file on the pull server.

ConfigurationNames 속성은 클라이언트 노드용으로 의도된 구성의 이름을 지정하는 배열입니다.The ConfigurationNames property is an array that specifies the names of the configurations intended for the client node. 끌어오기 서버에서 이 클라이언트 노드에 대한 구성 MOF 파일의 이름은 ConfigurationNames.mof로 지정해야 하며, 여기서 ConfigurationNames는 이 메타 구성에서 설정한 ConfigurationNames 속성의 값과 일치해야 합니다.On the pull server, the configuration MOF file for this client node must be named ConfigurationNames.mof, where ConfigurationNames matches the value of the ConfigurationNames property you set in this metaconfiguration.

참고: ConfigurationNames에 둘 이상의 값을 지정하는 경우 구성에서 PartialConfiguration 블록도 지정해야 합니다.Note: If you specify more than one value in the ConfigurationNames, you must also specify PartialConfiguration blocks in your configuration. 부분 구성에 대한 자세한 내용은 PowerShell 필요한 상태 구성 부분 구성 참조하세요.For information about partial configurations, see PowerShell Desired State Configuration partial configurations.

이 스크립트가 실행되면, PullClientConfigNames라는 새 출력 폴더가 생성되고, 그 안에 메타 구성 MOF 파일이 생깁니다.After this script runs, it creates a new output folder named PullClientConfigNames and puts a metaconfiguration MOF file there. 이 경우 메타 구성 MOF 파일의 이름은 localhost.meta.mof로 지정됩니다.In this case, the metaconfiguration MOF file will be named localhost.meta.mof.

구성을 적용하려면 메타 구성 MOF 파일의 위치로 설정된 Path와 함께 Set-DscLocalConfigurationManager cmdlet을 호출합니다.To apply the configuration, call the Set-DscLocalConfigurationManager cmdlet, with the Path set to the location of the metaconfiguration MOF file.

Set-DSCLocalConfigurationManager localhost –Path .\PullClientConfigNames –Verbose.

참고: 등록 키는 웹 끌어오기 서버에만 작동합니다.Note: Registration keys work only with web pull servers. SMB 끌어오기 서버에는 여전히 ConfigurationID를 사용해야 합니다.You must still use ConfigurationID with an SMB pull server. ConfigurationID를 사용하여 끌어오기 서버를 구성하는 것에 대해서는 구성 ID를 사용하여 끌어오기 클라이언트 설정을 참조하세요.For information about configuring a pull server by using ConfigurationID, see Setting up a pull client using configuration ID

리소스 및 보고서 서버Resource and report servers

앞의 예와 같이 LCM 구성에서 ConfigurationRepositoryWeb 또는 ConfigurationRepositoryShare 블록만 지정하는 경우 끌어오기 클라이언트가 지정된 서버에서 리소스를 끌어오지만 서버에 보고서를 보내지 않습니다.If you specify only a ConfigurationRepositoryWeb or ConfigurationRepositoryShare block in your LCM configuration (as in the previous example), the pull client will pull resources from the specified server, but it will not send reports to it. 구성, 리소스 및 보고에 단일 끌어오기 서버를 사용할 수 있지만 ReportRepositoryWeb 블록을 만들어 보고를 설정해야 합니다.You can use a single pull server for configurations, resources, and reporting, but you have to create a ReportRepositoryWeb block to set up reporting. 다음 예제에서는 구성 및 리소스를 끌어오고 보고 데이터를 단일 서버에 보내도록 클라이언트를 설정하는 메타 구성을 보여 줍니다.The following example shows a metaconfiguration that sets up a client to pull configurations and resources, and send reporting data, to a single pull server.

[DSCLocalConfigurationManager()]
configuration PullClientConfigNames
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562'
        }

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

또한, 리소스 및 보고에 대해 다른 끌어오기 서버를 지정할 수도 있습니다.You can also specify different pull servers for resources and reporting. 리소스 서버를 지정하려면, ResourceRepositoryWeb(웹 끌어오기 서버용) 및 ResourceRepositoryShare(SMB 끌어오기 서버용) 블록을 사용합니다.To specify a resource server, you use either a ResourceRepositoryWeb (for a web pull server) or a ResourceRepositoryShare block (for an SMB pull server). 보고서 서버를 지정하려면 ReportRepositoryWeb 블록을 사용합니다.To specify a report server, you use a ReportRepositoryWeb block. 보고서 서버는 SMB 서버일 수 없습니다.A report server cannot be an SMB server. 해당 메타 구성은 CONTOSO-PullSrv에서 구성을 가져오고 CONTOSO-ResourceSrv에서 리소스를 가져오고, CONTOSO-ReportSrv에 상태 보고서를 보내도록 끌어오기 클라이언트를 구성합니다.The following metaconfiguration configures a pull client to get its configurations from CONTOSO-PullSrv and its resources from CONTOSO-ResourceSrv, and to send status reports to CONTOSO-ReportSrv:

[DSCLocalConfigurationManager()]
configuration PullClientConfigNames
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }

        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562'
        }

        ResourceRepositoryWeb CONTOSO-ResourceSrv
        {
            ServerURL = 'https://CONTOSO-ResourceSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = '30ef9bd8-9acf-4e01-8374-4dc35710fc90'
        }

        ReportServerWeb CONTOSO-ReportSrv
        {
            ServerURL = 'https://CONTOSO-ReportSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = '6b392c6a-818c-4b24-bf38-47124f1e2f14'
        }
    }
}
PullClientConfigNames

참고 항목See Also