كتابة التكوين وتحويله برمجيا وتطبيقه

ينطبق على: 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.