كتابة التكوين وتحويله برمجيا وتطبيقه
ينطبق على: Windows PowerShell 4.0، Windows PowerShell 5.0
يستعرض هذا التمرين إنشاء تكوين الحالة المطلوبة (DSC) وتطبيقه من البداية إلى النهاية. في المثال التالي، ستتعلم كيفية كتابة تكوين بسيط جدا وتطبيقه. سيضمن التكوين وجود ملف "HelloWorld.txt" على جهازك المحلي. إذا قمت بحذف الملف، فسيعيد DSC إنشائه في المرة التالية التي يتم فيها تحديثه.
للحصول على نظرة عامة حول ماهية DSC وكيفية عمله، راجع نظرة عامة على تكوين الحالة المطلوبة للمطورين.
المتطلبات
لتشغيل هذا المثال، ستحتاج إلى كمبيوتر يعمل ب PowerShell 4.0 أو أحدث.
كتابة التكوين
تكوين DSC هو دالة PowerShell خاصة تحدد كيفية تكوين جهاز كمبيوتر هدف واحد أو أكثر (العقد).
في PowerShell ISE أو محرر PowerShell الآخر، اكتب ما يلي:
Configuration HelloWorld {
# Import the module that contains the File resource.
Import-DscResource -ModuleName PsDesiredStateConfiguration
# The Node statement specifies which targets to compile MOF files for, when
# this configuration is executed.
Node 'localhost' {
# The File resource can ensure the state of files, or copy them from a
# source to a destination with persistent updates.
File HelloWorld {
DestinationPath = "C:\Temp\HelloWorld.txt"
Ensure = "Present"
Contents = "Hello World from DSC!"
}
}
}
هام
في سيناريوهات أكثر تقدما حيث يلزم استيراد وحدات نمطية متعددة حتى تتمكن من العمل مع العديد من موارد DSC في نفس التكوين، تأكد من وضع كل وحدة نمطية في سطر منفصل باستخدام Import-DscResource
. من الأسهل الحفاظ على هذا في التحكم بالمصادر والمطلوب عند العمل مع DSC في تكوين حالة Azure.
Configuration HelloWorld {
# Import the module that contains the File resource.
Import-DscResource -ModuleName PsDesiredStateConfiguration
Import-DscResource -ModuleName xWebAdministration
احفظ الملف ك "HelloWorld.ps1".
تعريف التكوين يشبه تعريف دالة. تحدد كتلة Node العقدة الهدف المراد تكوينها، في هذه الحالة localhost
.
يستدعي التكوين موردا واحدا، المورد File
. تقوم الموارد بعمل التأكد من أن العقدة الهدف في الحالة المحددة بواسطة التكوين.
تجميع الإعدادات
لكي يتم تطبيق تكوين DSC على عقدة، يجب أولا تحويله برمجيا إلى ملف MOF. سيؤدي تشغيل التكوين، مثل دالة، إلى تحويل ملف واحد .mof
برمجيا لكل عقدة Node
معرفة بواسطة الكتلة. لتشغيل التكوين، تحتاج إلى نقطة مصدر البرنامج النصي الخاص بك HelloWorld.ps1
في النطاق الحالي. لمزيد من المعلومات، راجع about_Scripts.
مصدر نقطة البرنامج النصي الخاص بك HelloWorld.ps1
عن طريق الكتابة في المسار حيث قمت بتخزينه، بعد .
(نقطة، مسافة). يمكنك بعد ذلك تشغيل التكوين الخاص بك عن طريق استدعائه مثل دالة. يمكنك أيضا استدعاء دالة التكوين في أسفل البرنامج النصي بحيث لا تحتاج إلى نقطة المصدر.
. C:\Scripts\HelloWorld.ps1
HelloWorld
يؤدي هذا إلى إنشاء الإخراج التالي:
Directory: C:\Scripts\HelloWorld
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/13/2017 5:20 PM 2746 localhost.mof
تطبيق التكوين
الآن بعد أن أصبح لديك MOF المحول برمجيا، يمكنك تطبيق التكوين على العقدة الهدف (في هذه الحالة، الكمبيوتر المحلي) عن طريق استدعاء Start-DscConfiguration cmdlet.
Start-DscConfiguration
يخبر cmdlet Configuration Manager المحلي (LCM)، محرك DSC، بتطبيق التكوين. يقوم LCM بعمل استدعاء موارد DSC لتطبيق التكوين.
استخدم التعليمات البرمجية أدناه لتنفيذ Start-DSCConfiguration
cmdlet. حدد مسار الدليل حيث يتم تخزينك localhost.mof
إلى معلمة المسار . Start-DSCConfiguration
يبحث cmdlet من خلال الدليل المحدد لأي <computername>.mof
ملفات. Start-DSCConfiguration
يحاول cmdlet تطبيق كل .mof
ملف يعثر عليه على computername
المحدد بواسطة اسم الملف ("localhost" و"server01" و"dc-02" وما إلى ذلك).
ملاحظة
إذا لم يتم تحديد المعلمة -Wait
، Start-DSCConfiguration
فقم بإنشاء مهمة خلفية لتنفيذ العملية. يتيح لك تحديد المعلمة -Verbose
مشاهدة الإخراج المطول للعملية. -Wait
، و -Verbose
كلاهما معلمات اختيارية.
Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait
اختبار التكوين
Start-DSCConfiguration
بمجرد اكتمال cmdlet، يجب أن تشاهد ملفا HelloWorld.txt
في الموقع الذي حددته. يمكنك التحقق من المحتويات باستخدام الأمر Cmdlet Get-Content .
يمكنك أيضا اختبار الحالة الحالية باستخدام Test-DSCConfiguration.
يجب أن يكون True
الإخراج إذا كانت العقدة متوافقة حاليا مع التكوين المطبق.
Test-DSCConfiguration
True
Get-Content -Path C:\Temp\HelloWorld.txt
Hello World from DSC!
إعادة تطبيق التكوين
لمشاهدة تطبيق التكوين الخاص بك مرة أخرى، يمكنك إزالة الملف النصي الذي تم إنشاؤه بواسطة التكوين الخاص بك. استخدم Start-DSCConfiguration
cmdlet مع المعلمة -UseExisting
. -UseExisting
ترشد المعلمة Start-DSCConfiguration
إلى إعادة تطبيق ملف "current.mof"، والذي يمثل أحدث تكوين تم تطبيقه بنجاح.
Remove-Item -Path C:\Temp\HelloWorld.txt
الخطوات التالية
- تعرف على المزيد حول تكوينات DSC في تكوينات DSC.
- تعرف على موارد DSC المتوفرة، وكيفية إنشاء موارد DSC مخصصة في موارد DSC.
- ابحث عن تكوينات وموارد DSC في معرض PowerShell.