اكتشاف العناصر
عند تشغيل 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 مخصصة بدلاً من تشغيل أساليب على كائن.