مجموعة موارد dsc

الخلاصة

استدعاء العملية المحددة لمورد.

بناء الجملة

خصائص المثيل من stdin

<instance-properties> | dsc resource set [Options] --resource <RESOURCE>

خصائص المثيل من خيار الإدخال

dsc resource set --input '<instance-properties>' --resource <RESOURCE>

خصائص المثيل من الملف

dsc resource set --path <instance-properties-filepath> --resource <RESOURCE>

الوصف

set يفرض الأمر الفرعي الحالة المطلوبة لمثيل مورد ويعيد الحالة النهائية.

يعين هذا الأمر الفرعي مثيلا واحدا لمورد DSC معين. لتعيين موارد متعددة، استخدم مجموعة موارد أو الأمر مجموعة تكوين dsc .

يجب تمرير الحالة المطلوبة للمثيل المراد تعيينه إلى هذا الأمر كعنصر JSON أو YAML. يجب أن تكون خصائص الكائن خصائص صالحة للمورد. يمكن تمرير خصائص المثيل إلى هذا الأمر من stdin، كسلسلة مع --input الخيار، أو من ملف محفوظ مع --path الخيار .

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

هام

dsc resource set يستدعي set الأمر دائما عملية المورد. قد تنفذ الموارد، ولكنها غير مطلوبة، منطقا يغلب مثيلا للعملية set .

يختلف هذا عن كيفية عمل مجموعة تكوين dsc ، حيث يختبر DSC دائما مثيلا، إما اصطناعيا أو عن طريق استدعاء test عملية المورد، ويستدعي set فقط لمثيل إذا لم يكن في الحالة المطلوبة.

تشير الموارد المستندة إلى الأوامر إلى ما إذا كانت تنفذ pretest للعملية set عن طريق تعريف الخاصية set.implementsPretest في بيان الموارد الخاص بها. إذا تم تعريف هذه الخاصية على أنها true، فإنها تشير إلى أن المورد ينفذ pretest. إذا set.implementsPretest تم تعيين إلى false أو غير معرف، يشير البيان إلى أن المورد لا ينفذ pretest.

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

إذا لم ينفذ المورد pretest، يجب أن يتوقع المستخدمون أن المورد يعدل مثيلا دائما أثناء set العملية.

بالنسبة للموارد التي لا تنفذ pretest للعملية set ، توصي Microsoft دائما باستدعاء dsc resource test مثيل لمعرفة ما إذا كان في الحالة المطلوبة قبل استدعاء dsc resource set. يمكن أن يساعد هذا في تجنب الأخطاء العرضية التي تسببها الموارد التي لا تنفذ أمر غير فعال set بالكامل.

أمثلة

مثال 1 - تعيين مورد بخصائص من stdin

يضمن الأمر وجود Example المفتاح في خلية المستخدم الحالية. يحدد خصائص مثيل المورد ك JSON ويمررها من stdin.

'{
    "keyPath": "HKCU\\Example",
    "_exist": true
}' | dsc resource set --resource Microsoft.Windows/Registry

مثال 2 - تعيين مورد باستخدام خيار الإدخال

يضمن الأمر وجود Example المفتاح في خلية المستخدم الحالية. يحدد خصائص مثيل المورد ك JSON ويمررها مع خيار الإدخال .

dsc resource set --resource Microsoft.Windows/Registry --input '{
    "keyPath": "HKCU\\Example",
    "_exist": true
}'

مثال 3 - تعيين مورد بخصائص من ملف YAML

يضمن الأمر وجود Example المفتاح في خلية المستخدم الحالية. يحدد المسار إلى ملف yaml الذي يحدد خصائص مثيل المورد مع خيار المسار .

cat ./example.yaml
keyPath: HKCU\\Example
_exist:  true
dsc resource set --resource Microsoft.Windows/Registry --path ./example.yaml

الخيارات

-r، --resource

يحدد اسم النوع المؤهل بالكامل لمورد DSC لاستخدامه، مثل Microsoft.Windows/Registry.

بناء جملة اسم النوع المؤهل بالكامل هو: <owner>[.<group>][.<area>]/<name>، حيث:

  • owner هو المؤلف أو المؤسسة المحتفظ بها للمورد.
  • area و group هما مكونان اختياريان للاسم يتيحان مسار الأسماء لمورد.
  • يحدد name المكون الذي يديره المورد.
Type:      String
Mandatory: true

-i، --input

يحدد كائن JSON أو YAML مع الخصائص التي تحدد الحالة المطلوبة لمثيل مورد DSC. يتحقق DSC من صحة الكائن مقابل مخطط مثيل المورد. إذا فشل التحقق من الصحة، فإن DSC يثير خطأ.

لا يمكن استخدام هذا الخيار مع خصائص المثيل عبر stdin أو --path الخيار . اختر ما إذا كنت تريد تمرير خصائص المثيل إلى الأمر عبر stdin أو من ملف يحتوي على --path الخيار أو مع --input الخيار .

Type:      String
Mandatory: false

-p، --path

يحدد المسار إلى ملف نصي للقراءة كإدخل للأمر بدلا من توصيل الإدخال من stdin أو تمريره كسلسلة مع --input الخيار . يجب أن يحتوي الملف المحدد على JSON أو YAML الذي يمثل خصائص صالحة للمورد. يتحقق DSC من صحة الكائن مقابل مخطط مثيل المورد. إذا فشل التحقق من الصحة، أو إذا لم يكن الملف المحدد موجودا، فإن DSC يثير خطأ.

هذا الخيار حصري بشكل متبادل مع --input الخيار . عند استخدام هذا الخيار، يتجاهل DSC أي إدخال من stdin.

Type:      String
Mandatory: false

-f، --format

--format يتحكم الخيار في تنسيق إخراج وحدة التحكم للأمر . إذا تمت إعادة توجيه إخراج الأمر أو تسجيله كمتغير، يكون الإخراج دائما JSON.

Type:         String
Mandatory:    false
DefaultValue: yaml
ValidValues:  [json, pretty-json, yaml]

-h، - مساعدة

يعرض التعليمات للأمر الحالي أو الأمر الفرعي الحالي. عند تحديد هذا الخيار، يتجاهل التطبيق جميع الخيارات والوسيطات بعد هذا الخيار.

Type:      Boolean
Mandatory: false

المخرجات

يقوم هذا الأمر بإرجاع إخراج JSON الذي يتضمن الحالة الفعلية للمثيل قبل وبعد عملية المجموعة وقائمة الخصائص التي تم تعديل عملية المجموعة لها. لمزيد من المعلومات، راجع مخطط نتائج مجموعة موارد dsc.