اكتشاف العناصر

مكتمل

عند تشغيل cmdlet، فإنه يقوم بإرجاع كائن. عند استدعاء أمر cmdlet، يتم تنسيق الاستجابة التي تراها وقد لا تمثل بالضرورة كافة المعلومات المتوفرة للاستجابة. لمعرفة المزيد حول ما يتم إرجاعه وكيف يمكنك تعديل ما يتم إرجاعه، يمكنك استخدام الأمر Get-Member.

اكتشاف الكائنات باستخدام Get-Member

من المفترض أن يكون الأمر Get-Member cmdlet موجهًا أعلى الأمر الذي تقوم بتشغيله حتى تتمكن من تصفية الإخراج. يمكن أن يبدو استدعاء سطر الأوامر النموذجي لـ Get-Member كما في المثال التالي:

Get-Process -Name 'name-of-process' | Get-Member

ينتج هذا الأمر أولاً نتيجة كائن عن طريق استدعاء Get-Process. يتم تمرير هذه النتيجة كمدخل إلى Get-Member باستخدام حرف توجيه الإخراج (|). في المقابل، تحصل على نتيجة جدول تتضمن الأعمدة Name وMemberType وDefinition. يمكنك أيضًا الحصول على نوع الكائن الذي تم إرجاعه.

تلميح

للحصول على قائمة بالعمليات التي تعمل على جهازك، قم بتشغيل Get-Process.

البحث حسب النوع

السطر الأول من الاستجابة، بإجراء الأمر Get-Member، هو نوع الكائن الذي تم إرجاعه. عندما تعرف النوع، يمكنك البحث عن أوامر cmdlets أخرى تعمل على نفس النوع. استكشف هذه الأوامر ذات الصلة لبناء معرفتك بسرعة في المجال الذي تعمل فيه.

لنفترض أنك استدعيت أمر PowerShell الذي يسرد جميع الأعضاء لعملية معينة. تبدو الصفوف القليلة الأولى من النتيجة مشابهة لما يلي:

  TypeName: System.Diagnostics.Process

Name                       MemberType     Definition
----                       ----------     ----------
Handles                    AliasProperty  Handles = Handlecount

يشير الصف الأول إلى أن النوع هو System.Diagnostics.Process. استخدم هذا النوع كوسيطة بحث للبحث عن أوامر cmdlets أخرى تستخدم هذا النوع. إليك مثالاً على الأمر:

Get-Command -ParameterType Process

والنتيجة هي قائمة أوامر cmdlets التي تعمل على هذا النوع. شيئًا فشيئًا، يمكنك معرفة المزيد عن PowerShell باستخدام Get-Member ومن خلال تعلم تفسير نتائجه.

تلميح

من المفترض أن تزداد المعرفة بـ PowerShell قليلاً في كل مرة. من أفضل الطرق لاكتشاف أوامر cmdlets ذات الصلة، استخدام النوع الذي تم إرجاعه للبحث عن أوامر cmdlets حسب النوع.

تصفية نتيجة Get-Member باستخدام Select-Object

عند تشغيل Get-Member، تكون النتيجة مطولة. أي، يتم إرجاع العديد من الصفوف. قد يكون للعنصر خصائص، مثل الأحداث والأساليب. لجعل الإجابة أقل طولاً، يمكنك التصفية على أعمدة محددة وأيضًا تحديد الأعمدة التي تريد عرضها. ضع في اعتبارك أن الإجابة التي تم إرجاعها هي بالفعل مجموعة فرعية من جميع الأعمدة في الاستجابة.

ألق نظرة على استجابة Get-Member التي تتضمن العديد من الأعمدة. من خلال تقديم الأمر Select-Object cmdlet، يمكنك اختيار الأعمدة التي تظهر في الاستجابة. يتوقع الأمر إما قائمة بأسماء الأعمدة مفصولة بفواصل أو حرف بدل، مثل علامة النجمة (*)، والتي تشير إلى جميع الأعمدة.

عندما تستخدم الأمر Select-Object في سياق Select-Object Name, MemberType، فإنك تحدد فقط الأعمدة التي تريدها. في هذه الحالة، تكون الأعمدة Name وMemberType. سيظهر سطر الأوامر بهذا الشكل:

Get-Process -Name 'name-of-process' | Get-Member | Select-Object Name, MemberType

يُرجع نمط التصفية هذا إخراج يتضمن عددًا أقل من الأعمدة. وفيما يلي مثال على النتيجة:

Name                           MemberType
----                           ----------
Handles                     AliasProperty

يمكنك أيضًا تصفية الاستجابة حسب الصفوف. على سبيل المثال، يمكنك استخدام العلامة -MemberType Method لتحديد أنك مهتم بالصفوف التي يكون نوع العضو فيها أسلوبًا. قد ترغب في إظهار صفوف معينة فقط، على سبيل المثال، إذا كنت تريد تحديد أسلوب معين وتشغيله.

تلميح

من الأفضل عمومًا استخدام أوامر cmdlets مخصصة بدلاً من تشغيل أساليب على كائن.