تكوينات DSC
ينطبق على: PowerShell 7، ميزة تكوين جهاز Azure Automanage
تكوينات DSC هي برامج PowerShell النصية التي تحدد نوعا خاصا من الأوامر. لتعريف تكوين، استخدم الكلمة الأساسية configuration
PowerShell .
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 النمطية في تكوين الجهاز.