مشاركة عبر


موارد DSC

ينطبق على Windows PowerShell 4.0 وما فوق.

نظرة عامة

توفر موارد تكوين الحالة المطلوبة (DSC) الكتل الإنشائية لتكوين DSC. يعرض المورد الخصائص التي يمكن تكوينها (المخطط) ويحتوي على وظائف البرنامج النصي PowerShell التي يستدعيها Configuration Manager المحلي (LCM) "لجعله كذلك".

يمكن أن يقوم المورد بنمذجة شيء عام كملف أو محدد مثل إعداد خادم IIS. يتم دمج مجموعات من الموارد المماثلة في وحدة DSC النمطية، والتي تنظم جميع الملفات المطلوبة في إلى بنية محمولة وتتضمن بيانات التعريف لتحديد كيفية استخدام الموارد.

يحتوي كل مورد على مخطط *يحدد بناء الجملة المطلوب لاستخدام المورد في تكوين. يمكن تعريف مخطط المورد بالطرق التالية:

  • Schema.Mof ملف: تحدد معظم الموارد مخططها في schema.mof ملف، باستخدام تنسيق الكائن المدار.
  • <Resource Name>.schema.psm1 ملف: تحدد الموارد المركبةمخططها في <ResourceName>.schema.psm1 ملف باستخدام كتلة المعلمات.
  • <Resource Name>.psm1 الملف: تحدد موارد DSC المستندة إلى الفئة مخططها في تعريف الفئة. يتم توضيح عناصر بناء الجملة كخصائص فئة. لمزيد من المعلومات، راجع about_Classes.

لاسترداد بناء الجملة لمورد DSC، استخدم الأمر Cmdlet Get-DSCResource مع معلمة بناء الجملة . يشبه هذا الاستخدام استخدام Get-Command مع معلمة بناء الجملة للحصول على بناء جملة cmdlet. سيظهر الإخراج الذي تراه القالب المستخدم لكتلة موارد للمورد الذي تحدده.

Get-DscResource -Syntax Service

يجب أن يكون الإخراج الذي تراه مشابها للإخراج أدناه، على الرغم من أن بناء جملة هذا المورد قد يتغير في المستقبل. مثل بناء جملة cmdlet، تكون المفاتيح التي تظهر بين أقواس مربعة اختيارية. تحدد الأنواع نوع البيانات التي يتوقعها كل مفتاح.

ملاحظة

مفتاح ضمان اختياري لأنه افتراضي إلى "تقديم".

Service [String] #ResourceName
{
    Name = [string]
    [BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
    [Credential = [PSCredential]]
    [Dependencies = [string[]]]
    [DependsOn = [string[]]]
    [Description = [string]]
    [DisplayName = [string]]
    [Ensure = [string]{ Absent | Present }]
    [Path = [string]]
    [PsDscRunAsCredential = [PSCredential]]
    [StartupType = [string]{ Automatic | Disabled | Manual }]
    [State = [string]{ Running | Stopped }]
}

ملاحظة

في إصدارات PowerShell أقل من 7.0، Get-DscResource لا يعثر على موارد DSC المستندة إلى الفئة.

داخل التكوين، قد تبدو كتلة موارد الخدمة على هذا النحو للتأكد من تشغيل خدمة Spooler.

ملاحظة

قبل استخدام مورد في تكوين، يجب استيراده باستخدام Import-DSCResource.

Configuration TestConfig
{
    # It is best practice to always directly import resources, even if the
    # resource is a built-in resource.
    Import-DSCResource -Name Service
    Node localhost
    {
        # The name of this resource block, can be anything you choose, as l
        # ong as it is of type [String] as indicated by the schema.
        Service "Spooler - Running"
        {
            Name = "Spooler"
            State = "Running"
        }
    }
}

يمكن أن تحتوي التكوينات على مثيلات متعددة من نفس نوع المورد. يجب تسمية كل مثيل بشكل فريد. في المثال التالي، تتم إضافة كتلة مورد خدمة ثانية لتكوين خدمة "DHCP".

Configuration TestConfig
{
    # It is best practice to always directly import resources, even if the
    # resource is a built-in resource.
    Import-DSCResource -Name Service
    Node localhost
    {
        # The name of this resource block, can be anything you choose, as
        # long as it is of type [String] as indicated by the schema.
        Service "Spooler - Running"
        {
            Name = "Spooler"
            State = "Running"
        }

        # To configure a second service resource block, add another Service
        # resource block and use a unique name.
        Service "DHCP - Running"
        {
            Name = "DHCP"
            State = "Running"
        }
    }
}

ملاحظة

بدءا من PowerShell 5.0، تمت إضافة IntelliSense ل DSC. تسمح لك هذه الميزة الجديدة باستخدام TABوCtr+Space لإكمال أسماء المفاتيح تلقائيا.

Resource IntelliSense باستخدام Tab Completion

أنواع الموارد

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

الموارد المضمنة في Windows

موارد التبعية عبر العقد

موارد إدارة الحزم

موارد Linux