الحصول على مورد dsc

خلاصه

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

بناء الجملة

بدون خصائص المثيل

dsc resource get [Options] --resource <RESOURCE>

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

dsc resource get --input <INPUT> --resource <RESOURCE>

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

dsc resource get --file <FILE> --resource <RESOURCE>

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

cat <FILE> | dsc resource get [Options] --resource <RESOURCE> --file -

‏‏الوصف

يقوم الأمر get الفرعي بإرجاع الحالة الحالية لمثيل مورد.

بشكل افتراضي، يقوم هذا الأمر الفرعي بإرجاع مثيل واحد من مورد DSC معين. لإرجاع موارد متعددة، استخدم المعلمة --all أو مجموعة الموارد أو الأمر dsc config get .

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

امثله

مثال 1 - الحصول على مثيل المورد دون أي إدخال

بالنسبة للموارد أحادية المثيل التي لا تتطلب أي قيم خصائص لإرجاع الحالة الفعلية لمثيل المورد، فإن خصائص المثيل غير مطلوبة.

dsc resource get --resource Microsoft/OSInfo
actualState:
  $id: https://developer.microsoft.com/json-schemas/dsc/os_info/20230303/Microsoft.Dsc.OS_Info.schema.json
  family: Windows
  version: 10.0.22621
  edition: Windows 11 Enterprise
  bitness: '64'

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

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

dsc resource get --resource Microsoft.Windows/Registry --input '{
    "keyPath": "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion",
    "valueName": "SystemRoot"
}'
actualState:
  $id: https://developer.microsoft.com/json-schemas/windows/registry/20230303/Microsoft.Windows.Registry.schema.json
  keyPath: HKLM\Software\Microsoft\Windows NT\CurrentVersion
  valueName: SystemRoot
  valueData:
    String: C:\WINDOWS

مثال 3 - الحصول على مثيل مورد مع إدخال من stdin

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

'{
    "keyPath": "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion",
    "valueName": "SystemRoot"
}' | dsc resource get --resource Microsoft.Windows/Registry --file -
actualState:
  $id: https://developer.microsoft.com/json-schemas/windows/registry/20230303/Microsoft.Windows.Registry.schema.json
  keyPath: HKLM\Software\Microsoft\Windows NT\CurrentVersion
  valueName: SystemRoot
  valueData:
    String: C:\WINDOWS

مثال 4 - الحصول على مثيل مورد مع إدخال من ملف YAML

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

# ./example.yaml
keyPath:   HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion
valueName: SystemRoot
dsc resource get --resource Microsoft.Windows/Registry --path ./example.yaml
actualState:
  $id: https://developer.microsoft.com/json-schemas/windows/registry/20230303/Microsoft.Windows.Registry.schema.json
  keyPath: HKLM\Software\Microsoft\Windows NT\CurrentVersion
  valueName: SystemRoot
  valueData:
    String: C:\WINDOWS

الخيارات

-أ ، --الكل

يحدد أن الأمر يجب أن يرجع كل مثيل من مورد DSC المحدد بدلا من مثيل معين.

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

عند تحديد هذا الخيار، يتجاهل DSC الخيارات --input و --path .

Type:      Boolean
Mandatory: false

-r، --resource

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

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

  • هو owner المؤلف أو المنظمة التي تحتفظ بالمورد.
  • ومكونات group الاسم الاختيارية area هي التي تمكن تباعد الأسماء لمورد.
  • يحدد المكون name الذي يديره المورد.
Type        : string
Mandatory   : true
LongSyntax  : --resource <RESOURCE>
ShortSyntax : -r <RESOURCE>

-i، --input

يحدد مثيل المورد المراد استرداده.

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

هذا الخيار حصري بشكل متبادل مع الخيار --file .

Type        : string
Mandatory   : false
LongSyntax  : --input <INPUT>
ShortSyntax : -i <INPUT>

-و، --ملف

يحدد المسار إلى ملف يحدد مثيل المورد المراد استرداده.

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

يمكنك أيضا استخدام هذا الخيار لتمرير مثيل من stdin، كما هو موضح في المثال 3.

هذا الخيار حصري بشكل متبادل مع الخيار --input .

Type        : string
Mandatory   : false
LongSyntax  : --file <FILE>
ShortSyntax : -f <FILE>

-o، --تنسيق الإخراج

يتحكم --output-format الخيار في التنسيق الذي يستخدمه DSC للبيانات التي يرجعها الأمر. التنسيقات المتاحة هي:

  • json لإصدار البيانات كخط JSON. عند استخدام الخيار --all، يتم إرجاع كل مثيل كسطر JSON.
  • pretty-json لإصدار البيانات ك JSON مع أسطر جديدة ومسافة بادئة ومساحات لسهولة القراءة.
  • yaml لإصدار البيانات ك YAML. عند استخدام الخيار --all ، يتم إرجاع كل مثيل كمستند YAML مع --- فاصل المستندات بين كل مثيل تم إرجاعه.
  • json-array لإصدار البيانات كمصفوفة JSON واحدة ذات خط Milti تحتوي على كل كائن. هذا الخيار صالح فقط مع الخيار --all.
  • pass-through لإرجاع البيانات من المورد مباشرة دون تغليفها في نتيجة DSC. عند استخدام خيار الإخراج هذا، يلتزم سطر JSON المنبعث بمخطط مثيل المورد، وليس مخطط الحصول على نتيجة DSC.

يعتمد تنسيق الإخراج الافتراضي على ما إذا كان DSC يكتشف أن الإخراج تتم إعادة توجيهه أو التقاطه كمتغير:

  • إذا لم تتم إعادة توجيه الأمر أو التقاطه، يعرض DSC الإخراج كتنسيق yaml في وحدة التحكم.
  • إذا تمت إعادة توجيه إخراج الأمر أو التقاطه، يصدر DSC البيانات كتنسيق json stdout.

عند إستخدام هذا الخيار، يستخدم DSC التنسيق المحدد بغض النظر عما إذا كان الأمر تتم إعادة توجيهه أو التقاطه.

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

Type        : string
Mandatory   : false
ValidValues : [json, pretty-json, yaml, json-array, pass-through]
LongSyntax  : --output-format <OUTPUT_FORMAT>
ShortSyntax : -o <OUTPUT_FORMAT>

-h، - مساعدة

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

Type        : boolean
Mandatory   : false
LongSyntax  : --help
ShortSyntax : -h

المخرجات

بشكل افتراضي، يقوم هذا الأمر بإرجاع كائن بيانات منسق يتضمن الحالة الفعلية للمثيل. عند تحديد الخيار --all ، يقوم الأمر بإرجاع البيانات المنسقة لكل مثيل. عند تحديد pass-through خيار تنسيق الإخراج، تكون البيانات المنبعثة هي الإخراج غير المعدل من المورد، وليس نتيجة الحصول على مورد DSC.

لمزيد من المعلومات حول بنية JSON المخرج، راجع مورد DSC الحصول على مخطط النتيجة.

لمزيد من المعلومات حول تنسيق بيانات الإخراج، راجع الخيار --output-format.