إعداد عميل سحب باستخدام معرفات التكوين في PowerShell 5.0 والإصدارات الأحدث

ينطبق على: Windows PowerShell 5.0

هام

خادم السحب (Windows Feature DSC-Service) هو مكون مدعوم من Windows Server ولكن لا توجد خطط لتقديم ميزات أو قدرات جديدة. نود أن تعرف أن إصدارا أحدث من DSC متاح الآن بشكل عام، تتم إدارته بواسطة ميزة Azure Policy المسماة تكوين الضيف. تجمع خدمة تكوين الضيف ميزات ملحق DSC وAzure Automation State Configuration والميزات الأكثر شيوعاً المطلوبة من ملاحظات العملاء. يتضمن تكوين الضيف أيضاً دعم الجهاز المختلط من خلال الخوادم الممكنة بواسطة Arc.

قبل إعداد عميل سحب، يجب عليك إعداد خادم سحب. على الرغم من أن هذا الطلب غير مطلوب، إلا أنه يساعد في استكشاف الأخطاء وإصلاحها، ويساعدك على ضمان نجاح التسجيل. لإعداد خادم سحب، يمكنك استخدام الدلائل التالية:

يمكن تكوين كل عقدة مستهدفة لتنزيل التكوينات والموارد وحتى الإبلاغ عن حالتها. توضح لك الأقسام أدناه كيفية تكوين عميل سحب مع مشاركة SMB أو خادم سحب HTTP DSC. عند تحديث LCM للعقدة، سيتم الوصول إلى الموقع الذي تم تكوينه لتنزيل أي تكوينات معينة. إذا لم تكن هناك أي موارد مطلوبة على العقدة، فسيتم تنزيلها تلقائيا من الموقع الذي تم تكوينه. إذا تم تكوين العقدة باستخدام خادم التقارير، فستبلغ بعد ذلك عن حالة العملية.

ملاحظة

ينطبق هذا الموضوع على PowerShell 5.0. للحصول على معلومات حول إعداد عميل سحب في PowerShell 4.0، راجع إعداد عميل سحب باستخدام معرف التكوين في PowerShell 4.0

تكوين LCM لعميل السحب

يؤدي تنفيذ أي من الأمثلة أدناه إلى إنشاء مجلد إخراج جديد يسمى PullClientConfigID ووضع ملف MOF لتكوين التعريف هناك. في هذه الحالة، سيتم تسمية localhost.meta.mofملف MOF للتكوين التعريفي .

لتطبيق التكوين، اتصل ب Set-DscLocalConfigurationManager cmdlet، مع تعيين المسار إلى موقع ملف MOF لتكوين التعريف. على سبيل المثال:

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

معرف التكوين

تعين الأمثلة أدناه خاصية ConfigurationID ل LCM إلى Guid الذي تم إنشاؤه مسبقا لهذا الغرض. ConfigurationID هو ما يستخدمه LCM للعثور على التكوين المناسب على خادم السحب. يجب تسمية ConfigurationID.mofملف التكوين MOF على خادم السحب ، حيث ConfigurationID هو قيمة خاصية ConfigurationID ل LCM للعقدة الهدف. لمزيد من المعلومات، راجع نشر التكوينات إلى خادم سحب (v4/v5).

يمكنك إنشاء Guid عشوائي باستخدام المثال أدناه، أو باستخدام New-Guid cmdlet.

[System.Guid]::NewGuid()

لمزيد من المعلومات حول استخدام Guids في بيئتك، راجع التخطيط ل Guids.

إعداد Pull Client لتنزيل التكوينات

يجب تكوين كل عميل في وضع السحب ومنح عنوان URL لخادم السحب حيث يتم تخزين تكوينه. للقيام بذلك، يجب عليك تكوين Configuration Manager المحلي (LCM) بالمعلومات الضرورية. لتكوين LCM، يمكنك إنشاء نوع خاص من التكوين، مزين بسمة DSCLocalConfigurationManager . لمزيد من المعلومات حول تكوين LCM، راجع تكوين Configuration Manager المحلي.

خادم سحب HTTP DSC

يقوم البرنامج النصي التالي بتكوين LCM لسحب التكوينات من خادم يسمى "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

في البرنامج النصي، تحدد كتلة ConfigurationRepositoryWeb خادم السحب. يحدد ServerUrl عنوان URL لسحب DSC

مشاركة SMB

يقوم البرنامج النصي التالي بتكوين LCM لسحب التكوينات من مشاركة \\SMBPullServer\PullSMB .

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

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

في البرنامج النصي، تحدد كتلة ConfigurationRepositoryShare خادم السحب، والذي في هذه الحالة، هو مجرد مشاركة SMB.

إعداد Pull Client لتنزيل الموارد

إذا قمت بتحديد كتلة ConfigurationRepositoryWeb أو ConfigurationRepositoryShare فقط في تكوين LCM (كما في الأمثلة السابقة)، فسيسحب عميل السحب الموارد من نفس الموقع الذي يسترد تكويناته. يمكنك أيضا تحديد مواقع منفصلة للموارد. لتحديد موقع مورد كخادم منفصل، استخدم كتلة ResourceRepositoryWeb . لتحديد موقع مورد كمشاركة SMB، استخدم كتلة ResourceRepositoryShare .

ملاحظة

يمكنك دمج ConfigurationRepositoryWeb مع ResourceRepositoryShare أو ConfigurationRepositoryShare مع ResourceRepositoryWeb. لا تظهر أمثلة على ذلك أدناه.

خادم سحب HTTP DSC

تكوين التعريف التالي يقوم بتكوين عميل سحب للحصول على تكويناته من CONTOSO-PullSrv وموارده من 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

مشاركة SMB

يوضح المثال التالي تكوينا تعريفيا يقوم بإعداد عميل لسحب التكوينات من مشاركة \\SMBPullServer\ConfigurationsSMB والموارد من مشاركة \\SMBPullServer\ResourcesSMB .

[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

تنزيل الموارد تلقائيا في وضع الدفع

بدءا من PowerShell 5.0، يمكن لعملاء السحب تنزيل الوحدات النمطية من مشاركة SMB، حتى عند تكوينها لوضع الدفع . هذا مفيد بشكل خاص في السيناريوهات التي لا تريد فيها إعداد خادم السحب. يمكن استخدام كتلة ResourceRepositoryShare دون تحديد ConfigurationRepositoryShare. يوضح المثال التالي تكوينا تعريفيا يقوم بإعداد عميل لسحب الموارد من مشاركة \\SMBPullServer\ResourcesSMB . عند دفع العقدة تكوينا، سيتم تنزيل أي موارد مطلوبة تلقائيا، من المشاركة المحددة.

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

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

إعداد عميل سحب للإبلاغ عن الحالة

بشكل افتراضي، لن ترسل العقد تقارير إلى خادم سحب تم تكوينه. يمكنك استخدام خادم سحب واحد للتكوينات والموارد وإعداد التقارير، ولكن يجب عليك إنشاء كتلة ReportRepositoryWeb لإعداد التقارير.

خادم سحب HTTP DSC

يوضح المثال التالي تكوينا تعريفيا يقوم بإعداد عميل لسحب التكوينات والموارد وإرسال بيانات التقارير إلى خادم سحب واحد.

[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

لتحديد خادم تقرير، يمكنك استخدام كتلة ReportRepositoryWeb . لا يمكن أن يكون خادم التقارير خادم SMB. تكوين التعريف التالي يقوم بتكوين عميل سحب للحصول على تكويناته من CONTOSO-PullSrv وموارده من CONTOSO-ResourceSrv، وإرسال تقارير الحالة إلى 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

لا يمكن أن يكون خادم التقارير مشاركة SMB.

الخطوات التالية

بمجرد تكوين عميل السحب، يمكنك استخدام الدلائل التالية لتنفيذ الخطوات التالية:

راجع أيضاً