پاورشل برای برنامه‌نویسان

پاورشل برای برنامه‌نویسان

@programming_tips

درسنامه: Cmdlet چیست؟ (Get-Command، Get-Help، Get-Member)

۱.دستورات Cmdlet چیست؟

در PowerShell، به دستورات اصلی و پایه‌ای Cmdlet (تلفظ: command-let) می‌گیم.

هر Cmdlet یک دستور کوچک و تخصصی است که یک کار خاص انجام می‌دهد.

ویژگی‌های مهم Cmdlet:

  • بر پایه‌ی .NET ساخته شده‌اند، پس هر کدام یک شیء واقعی برمی‌گردانند، نه متن ساده.
  • ساختار نام‌گذاری استاندارد دارند: Verb-Noun (مثلاً Get-Process، Set-Content).
  • ساده و کوچک هستند، اما می‌تونید با ترکیب آن‌ها در Pipeline کارهای پیچیده انجام دهید.

به عبارتی، Cmdletها آجرهای ساختمانی PowerShell هستند.


۲. کار با Get-Command

اگر بخواهیم بفهمیم چه Cmdletهایی در دسترس ما هستند، از Get-Command استفاده می‌کنیم.

نمونه‌ها:

# نمایش همه دستورات موجود
Get-Command

# جستجوی دستورهایی که با Get شروع می‌شوند
Get-Command Get-*

# پیدا کردن دستور مربوط به فایل‌ها
Get-Command *Item*

این دستور به شما کمک می‌کنه بین صدها Cmdlet موجود، اون چیزی که نیاز دارید رو پیدا کنید.


۳. کار با Get-Help

حتی اگر یک Cmdlet رو پیدا کنید، شاید ندونید دقیقاً چطور باید ازش استفاده کنید. اینجاست که Get-Help به کار میاد.

نمونه‌ها:

# دریافت راهنمای یک دستور
Get-Help Get-Process

# نمایش مثال‌های کاربردی
Get-Help Get-Process -Examples

# نمایش کامل شامل توضیحات پارامترها
Get-Help Get-Process -Full

نکته: در نسخه‌های جدید PowerShell باید اول مستندات رو آپدیت کنید تا همه اطلاعات راهنما در دسترس باشه:

Update-Help

این باعث می‌شه راهنمای کامل و به‌روز از اینترنت دانلود بشه.


۴. کار با Get-Member

یکی از قدرت‌های اصلی PowerShell اینه که همه‌چیز یک شیء است. وقتی یک Cmdlet چیزی برمی‌گردونه، اون در واقع یک شیء با Propertyها و Methodهای مختلفه. برای کشف این ویژگی‌ها از Get-Member استفاده می‌کنیم.

نمونه‌ها:

# لیست پروسه‌ها رو بگیر و ساختارشون رو ببین
Get-Process | Get-Member

# فقط پراپرتی‌ها رو نشون بده
Get-Process | Get-Member -MemberType Property

# فقط متدها رو نشون بده
Get-Process | Get-Member -MemberType Method

به این ترتیب می‌فهمیم هر شیء چه اطلاعاتی داره و چه کارهایی می‌تونیم باهاش انجام بدیم. این برای برنامه‌نویس‌ها خیلی مهمه، چون مثل اینه که دارید API یک شیء رو بررسی می‌کنید.


۵. مثال کاربردی ترکیبی

فرض کنید می‌خواید لیست پروسه‌ها رو بگیرید، فقط نام و میزان CPU مصرفی رو نشون بدید.

Get-Process | Select-Object -Property ProcessName, CPU

اینجا:

  • Get-Process یک شیء از نوع پروسه‌ها برمی‌گردونه.
  • Get-Member می‌تونست به ما بگه که این اشیاء پراپرتی‌ای به نام CPU دارن.
  • Select-Object فقط اون پراپرتی‌هایی رو انتخاب می‌کنه که ما می‌خوایم.

این ترکیب دقیقاً نشون می‌ده چطور باید از Cmdletها به شکل حرفه‌ای استفاده کرد.


۶. چرا Cmdlet برای برنامه‌نویس‌ها مهمه؟

۱. دستورات Cmdletها پایه‌ی همه کارهای PowerShell هستن؛ باید باهاشون راحت باشید.

۲. ساختار استاندارد Verb-Noun باعث می‌شه راحت حدس بزنید دستور چی کار می‌کنه.

۳. ابزارهای Get-Command، Get-Help و Get-Member به شما کمک می‌کنن بدون حفظ کردن دستورات، خودتون راه رو پیدا کنید.

۴. این سه ابزار مثل نقشه و دفترچه راهنما برای سفر شما توی PowerShell هستن.


🔑 خلاصه‌ی درسنامه:

  • پس Cmdletها دستورات پایه و استاندارد PowerShell هستند.
  • با Get-Command می‌تونیم دستورها رو پیدا کنیم.
  • با Get-Help یاد می‌گیریم چطور از اون‌ها استفاده کنیم.
  • با Get-Member ساختار و ویژگی‌های اشیائی که برمی‌گردن رو بررسی می‌کنیم.

این سه ابزار مثل سه ستون اصلی برای شروع یادگیری PowerShell هستند.

Report Page