دستورات ضروری PowerShell برای مبتدیان

دستورات ضروری PowerShell

PowerShell یکی از قدرتمندترین ابزارهای مدیریت و خودکارسازی در سیستم‌عامل ویندوز است که توسط مایکروسافت توسعه یافته است. آشنایی با دستورات ضروری PowerShell به مدیران سیستم، کارشناسان شبکه و کاربران حرفه‌ای کمک می‌کند تا وظایف مدیریتی را با سرعت و دقت بیشتری انجام دهند. این ابزار علاوه بر اجرای دستورات خط فرمان، امکان نوشتن اسکریپت‌های پیشرفته برای مدیریت سیستم، شبکه، سرویس‌ها، فایل‌ها و حتی سرویس‌های ابری را فراهم می‌کند.

برخلاف Command Prompt که خروجی آن فقط متن است، PowerShell با اشیاء (Objects) کار می‌کند و همین ویژگی باعث می‌شود پردازش اطلاعات، مدیریت منابع و خودکارسازی فرآیندهای پیچیده بسیار ساده‌تر و کارآمدتر انجام شود.

اگر به‌تازگی وارد دنیای PowerShell شده‌اید، نیازی نیست صدها دستور را حفظ کنید. یادگیری مجموعه‌ای از دستورات ضروری PowerShell می‌تواند شما را برای انجام بخش بزرگی از وظایف روزمره آماده کند. در این مطلب با مهمترین دستورات PowerShell برای مبتدیان آشنا می‌شویم و کاربرد هر کدام را همراه با مثال‌های عملی بررسی می‌کنیم.

PowerShell چیست و چرا باید آن را یاد بگیریم؟

PowerShell یک محیط خط فرمان و زبان اسکریپت‌نویسی است که برای مدیریت سیستم‌ها و خودکارسازی وظایف طراحی شده است. ساختار دستورات در PowerShell بر اساس الگوی Verb-Noun یا فعل-اسم است. برای مثال دستور Get-Process برای دریافت اطلاعات پردازش‌ها و دستور Get-Service برای مشاهده سرویس‌ها استفاده می‌شود.

یادگیری PowerShell مزایای متعددی دارد:

  • مدیریت سریع‌تر سیستم‌عامل ویندوز
  • خودکارسازی کارهای تکراری
  • مدیریت سرورهای محلی و راه دور
  • پردازش و تحلیل داده‌ها
  • افزایش بهره‌وری مدیران سیستم و کارشناسان شبکه

آشنایی با ساختار دستورات PowerShell

همطان طور که گفتیم تقریبا تمام دستورات PowerShell از ساختار مشخصی به نام Verb-Noun پیروی می‌کنند.

در این ساختار:

  • Get به معنی دریافت اطلاعات است
  • Set به معنی تنظیم یا تغییر است
  • New برای ایجاد منابع جدید استفاده می‌شود
  • Remove برای حذف منابع کاربرد دارد
  • Start و Stop برای راه‌اندازی یا متوقف کردن سرویس‌ها و پردازش‌ها به کار می‌روند

این استاندارد باعث می‌شود یادگیری دستورات ضروری PowerShell بسیار ساده‌تر شود.

نام‌های مستعار (Aliases) در PowerShell:

Aliasها نام‌های کوتاه‌شده‌ای برای Cmdletها، توابع و اسکریپت‌ها هستند. از Aliasها برای افزایش سرعت تایپ دستورات و همچنین حفظ سازگاری با نسخه‌های قدیمی استفاده می‌شود. برای مشاهده تمام Aliasهای تعریف‌شده در Session فعلی پاورشِل، می‌توانید دستور Get-Alias را اجرا کنید.

برخی از Aliasهای پرکاربرد عبارتند از:

  • Ls — نام مستعار دستور Get-ChildItem
  • Gci — نام مستعار دیگر برای Get-ChildItem
  • Gc — نام مستعار دستور Get-Content
  • Rm — نام مستعار دستور Remove-Item
  • Cd — نام مستعار دستور Set-Location
  • Cls — نام مستعار دستور Clear-Host
  • Dir — نام مستعار دستور Get-ChildItem

دستور Get-Help، مهمترین دوست شما

اولین دستوری که هر کاربر PowerShell باید یاد بگیرد Get-Help است. این دستور مستندات و راهنمای هر Cmdlet را نمایش می‌دهد.

مثال:

Get-Help Get-Process

برای مشاهده مثال‌های عملی:

Get-Help Get-Process -Examples

این قابلیت به شما کمک می‌کند بدون مراجعه به منابع خارجی، نحوه استفاده از دستورات مختلف را یاد بگیرید.

دستور Get-Command برای پیدا کردن دستورات

زمانی که نام دقیق یک دستور را نمی‌دانید، Get-Command بسیار مفید خواهد بود. این دستور تمام Cmdletها، توابع و ماژول‌های موجود را نمایش می‌دهد.

نمایش همه دستورات:

Get-Command

نمایش دستورات مرتبط با سرویس‌ها:

Get-Command *Service*

این روش یکی از سریع‌ترین راه‌ها برای کشف قابلیت‌های PowerShell محسوب می‌شود.

مشاهده فایل‌ها و پوشه‌ها با Get-ChildItem

یکی از پرکاربردترین دستورات PowerShell، دستور Get-ChildItem است که مشابه دستور dir در Command Prompt عمل می‌کند.

نمایش محتوای پوشه جاری:

Get-ChildItem

نمایش محتوای یک مسیر خاص:

Get-ChildItem E:\Office

این دستور اطلاعات فایل‌ها و پوشه‌ها را به صورت ساختاریافته نمایش می‌دهد.

جابه‌جایی بین پوشه‌ها با Set-Location

برای تغییر مسیر کاری فعلی از دستور Set-Location استفاده می‌شود.

مثال:

Set-Location -Path "E:\Office\Project"

معادل کوتاه‌تر آن:

cd E:\Office\Project

مدیریت پردازش‌ها با Get-Process

یکی از وظایف رایج مدیران سیستم، بررسی پردازش‌های در حال اجرا در ویندوز است. PowerShell با استفاده از دستور Get-Process اطلاعات کاملی درباره پردازش‌های فعال ارائه می‌دهد و امکان مشاهده جزئیات مختلف هر پردازش را فراهم می‌کند.

برای مشاهده فهرست تمام پردازش‌های در حال اجرا از دستور زیر استفاده کنید:

Get-Process

اگر فقط اطلاعات مربوط به برنامه Notepad را نیاز دارید، می‌توانید نام پردازش را مشخص کنید:

Get-Process -Name notepad

همچنین برای نمایش نام پردازش، شناسه (ID) و میزان مصرف پردازنده در قالب یک جدول مرتب، دستور زیر کاربرد دارد:

Get-Process | Format-Table Name, Id, CPU -AutoSize

اجرای برنامه‌ها با Start-Process

برای اجرای برنامه‌ها از PowerShell می‌توان از دستور Start-Process استفاده کرد.

اجرای Notepad:

Start-Process notepad.exe

باز کردن یک وب‌سایت در مرورگر:

Start-Process chrome.exe "https://www.parsdev.com"

این دستور در اسکریپت‌های خودکارسازی بسیار کاربردی است.

توقف پردازش‌ها با Stop-Process

برای بستن برنامه‌ها و پردازش‌ها از Stop-Process استفاده می‌شود.

بستن Notepad:

Stop-Process -Name notepad

بستن چند پردازش:

Stop-Process -Name notepad, chrome

مدیریت سرویس‌های ویندوز

PowerShell ابزار بسیار مناسبی برای مدیریت سرویس‌های ویندوز است.

مشاهده سرویس‌ها

Get-Service

نمایش سرویس‌های در حال اجرا:

Get-Service | Where-Object {$_.Status -eq "Running"}

راه‌اندازی سرویس

Start-Service -Name spooler

توقف سرویس

Stop-Service -Name spooler

در صورت نیاز به منابع پایدار و مقیاس‌پذیر، همین حالا خرید سرور ابری را انجام دهید.

فیلتر کردن اطلاعات با Where-Object

یکی از مهمترین قابلیت‌های PowerShell امکان فیلتر کردن داده‌ها است. دستور Where-Object برای همین منظور استفاده می‌شود.

نمایش پردازش‌هایی با مصرف CPU بیشتر از مقدار مشخص:

Get-Process | Where-Object {$_.CPU -gt 10}

این قابلیت قدرت واقعی PowerShell را نشان می‌دهد.

مطالعه فایل‌ها با Get-Content

برای خواندن محتوای فایل‌های متنی می‌توان از دستور Get-Content استفاده کرد.

نمایش کل فایل:

Get-Content myfile.txt

نمایش پنج خط اول:

Get-Content myfile.txt -TotalCount 5

نوشتن در فایل‌ها با Set-Content و Add-Content

برای ایجاد یا بازنویسی فایل:

Set-Content myfile.txt "Welcome to PowerShell"

برای افزودن متن جدید:

Add-Content myfile.txt "New Line"

این دستورات در تولید گزارش‌ها و لاگ‌ها بسیار مفید هستند.

ذخیره خروجی در فایل با Out-File

گاهی لازم است خروجی یک دستور را در فایل ذخیره کنید. برای این کار از Out-File استفاده می‌شود.

مثال:

Get-Service | Out-File services.txt

بررسی لاگ‌های ویندوز

PowerShell امکان دسترسی مستقیم به لاگ‌های سیستم را فراهم می‌کند.

نمایش آخرین خطاهای سیستم:

Get-EventLog -LogName Application -EntryType Error -Newest 10

استفاده از نسخه جدیدتر:

Get-WinEvent -LogName Application -MaxEvents 10

دریافت اطلاعات سیستم

برای مشاهده اطلاعات کامل سیستم می‌توان از Get-ComputerInfo استفاده کرد.

Get-ComputerInfo

نمایش اطلاعات مهم:

Get-ComputerInfo | Select-Object CsName, WindowsVersion, OsArchitecture

این دستور برای بررسی سریع مشخصات سرورها و کلاینت‌ها بسیار مفید است.

بررسی محیط PowerShell با Get-Host

برای مشاهده اطلاعات مربوط به محیط فعلی PowerShell:

Get-Host

نمایش نسخه PowerShell:

(Get-Host).Version

نمایش نام محیط:

(Get-Host).Name

شناخت ساختار اشیاء با Get-Member

یکی از مفاهیم کلیدی PowerShell کار با اشیاء است. دستور Get-Member به شما نشان می‌دهد که هر شیء چه ویژگی‌ها و متدهایی دارد.

مثال:

Get-Date | Get-Member

این دستور یکی از مهمترین ابزارهای یادگیری PowerShell محسوب می‌شود.

مدیریت سیستم‌های راه دور

PowerShell قابلیت مدیریت سرورهای راه دور را نیز فراهم می‌کند.

فعال‌سازی PowerShell Remoting:

Enable-PSRemoting -Force

اتصال به سرور راه دور:

Enter-PSSession -ComputerName DC1

خروج از نشست:

Exit-PSSession

اجرای یک دستور روی سیستم راه دور:

Invoke-Command -ComputerName DC1 -ScriptBlock { Get-Process }

چند توصیه مهم برای یادگیری سریع‌تر PowerShell

بسیاری از متخصصان PowerShell معتقدند حفظ کردن دستورات کافی نیست و باید روی حل مسائل واقعی تمرکز کنید. جامعه کاربران PowerShell نیز معمولا یادگیری دستورات زیر را نقطه شروع مناسبی برای افراد تازه‌کار می‌داند: Get-Help، Get-Command، Get-Member، Where-Object و Select-Object.

برای پیشرفت سریع‌تر:

  • هر روز چند دستور جدید را آزمایش کنید.
  • از Get-Help برای مطالعه مثال‌ها استفاده کنید.
  • خروجی دستورات را با Get-Member بررسی کنید.
  • پروژه‌های کوچک خودکارسازی ایجاد کنید.
  • با Pipelineها و Objectها آشنا شوید.

جمع‌بندی

PowerShell یکی از مهمترین ابزارهایی است که هر مدیر سیستم، کارشناس شبکه یا حتی کاربر حرفه‌ای ویندوز باید یاد بگیرد. اگرچه این ابزار صدها Cmdlet و قابلیت مختلف دارد، اما یادگیری دستورات ضروری PowerShell مانند Get-Help، Get-Command، Get-ChildItem، Get-Process، Get-Service، Get-Content و Get-ComputerInfo می‌تواند نقطه شروع بسیار خوبی باشد. با تسلط بر این دستورات و تمرین مداوم، به‌تدریج قادر خواهید بود وظایف پیچیده مدیریتی را به صورت خودکار انجام دهید و بهره‌وری خود را به شکل قابل توجهی افزایش دهید.

نوشتن نظر

نوشتن دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *