تكوينات DSC

ينطبق على: PowerShell 7، ميزة تكوين جهاز Azure Automanage

تكوينات DSC هي برامج PowerShell النصية التي تحدد نوعا خاصا من الأوامر. لتعريف تكوين، استخدم الكلمة الأساسية configurationPowerShell .

Configuration MyDscConfiguration {
    Environment FirstEnvironmentVariable {
        Ensure = 'Present'
        Name   = 'Foo'
        Value  = 'Example'
    }

    Environment SecondEnvironmentVariable {
        Ensure = 'Present'
        Name   = 'Bar'
        Value  = 'Another'
    }
}

MyDscConfiguration

احفظ البرنامج النصي كملف .ps1 .

بناء جملة التكوين

يتكون البرنامج النصي لتكوين DSC من الأجزاء التالية:

  • الكتلة Configuration . هذه هي أقصى كتلة نصية. يمكنك تعريفه باستخدام Configuration الكلمة الأساسية وتوفير اسم. في هذه الحالة، يكون اسم تكوين DSC هو MyDscConfiguration.
  • كتلة مورد DSC واحدة أو أكثر. هذا هو المكان الذي يحدد فيه تكوين DSC إعدادات المكون الذي يقوم بتكوينه. في هذه الحالة، هناك كتلتان لمورد DSC. كلاهما يستخدم Environment مورد DSC.

تحويل التكوين برمجيا

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

ملاحظة

لاستدعاء تكوين DSC، يجب تحميله في النطاق الحالي (كما هو الحال مع أي دالة PowerShell أخرى). يمكنك جعل هذا يحدث إما عن طريق "dot-sourcing" البرنامج النصي، أو عن طريق تشغيل البرنامج النصي مع F5 أو النقر على الزر تشغيل البرنامج النصي في VS Code. لنقطة مصدر البرنامج النصي، قم بتشغيل الأمر . .\myConfig.ps1 حيث myConfig.ps1 هو اسم ملف البرنامج النصي الذي يحتوي على تكوين DSC الخاص بك.

عند استدعاء تكوين DSC، فإنه:

  • إنشاء مجلد في الدليل الحالي بنفس اسم تكوين DSC.
  • إنشاء ملف باسم localhost.mof في الدليل الجديد.

ملاحظة

يحتوي ملف MOF على جميع معلومات التكوين للنظام. لهذا السبب، من المهم الحفاظ على أمانه.

استخدام موارد DSC الجديدة في تكوين DSC الخاص بك

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

يمكنك استخدام Get-DscResource cmdlet لتحديد الموارد المثبتة على النظام والمتاحة للاستخدام. حتى عندما يتم وضع وحداتها في $env:PSModulePath وتم التعرف عليها من قبل Get-DscResource، فإنها لا تزال بحاجة إلى تحميلها داخل تكوين DSC الخاص بك.

Import-DscResource هي كلمة أساسية ديناميكية لا يمكن التعرف عليها إلا داخل كتلة Configuration . إنه ليس أمر cmdlet. Import-DscResource يدعم معلمتين:

  • ModuleName هو الطريقة الموصى بها لاستخدام Import-DscResource. يقبل اسم الوحدة النمطية التي تحتوي على الموارد المراد استيرادها (بالإضافة إلى صفيف سلسلة من أسماء الوحدات).
  • الاسم هو اسم المورد المراد استيراده. هذا ليس الاسم المألوف الذي تم إرجاعه كخاصية Name لعنصر Get-DscResourceالإرجاع، ولكن اسم الفئة المستخدم عند تعريف مخطط المورد (خاصية ResourceType للعنصر الذي تم إرجاعه بواسطة Get-DscResource).

لمزيد من المعلومات حول استخدام Import-DSCResource، راجع استخدام Import-DSCResource

هام

هناك قيود في تكوين الجهاز تمنع مورد DSC من استخدام أي أوامر powerShell cmdlets غير مضمنة في PowerShell نفسه أو في وحدة نمطية في معرض PowerShell. لن تعمل موارد DSC التي تستخدم أوامر cmdlets من وحدة نمطية واحدة أو أكثر من وحدات Windows النمطية في تكوين الجهاز.

راجع أيضاً