دستورات ضروری 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-Command برای پیدا کردن دستورات
زمانی که نام دقیق یک دستور را نمیدانید، Get-Command بسیار مفید خواهد بود. این دستور تمام Cmdletها، توابع و ماژولهای موجود را نمایش میدهد.
نمایش همه دستورات:
نمایش دستورات مرتبط با سرویسها:
این روش یکی از سریعترین راهها برای کشف قابلیتهای PowerShell محسوب میشود.
مشاهده فایلها و پوشهها با Get-ChildItem
یکی از پرکاربردترین دستورات PowerShell، دستور Get-ChildItem است که مشابه دستور dir در Command Prompt عمل میکند.
نمایش محتوای پوشه جاری:
نمایش محتوای یک مسیر خاص:
این دستور اطلاعات فایلها و پوشهها را به صورت ساختاریافته نمایش میدهد.
جابهجایی بین پوشهها با Set-Location
برای تغییر مسیر کاری فعلی از دستور Set-Location استفاده میشود.
مثال:
معادل کوتاهتر آن:
مدیریت پردازشها با Get-Process
یکی از وظایف رایج مدیران سیستم، بررسی پردازشهای در حال اجرا در ویندوز است. PowerShell با استفاده از دستور Get-Process اطلاعات کاملی درباره پردازشهای فعال ارائه میدهد و امکان مشاهده جزئیات مختلف هر پردازش را فراهم میکند.
برای مشاهده فهرست تمام پردازشهای در حال اجرا از دستور زیر استفاده کنید:
اگر فقط اطلاعات مربوط به برنامه Notepad را نیاز دارید، میتوانید نام پردازش را مشخص کنید:
همچنین برای نمایش نام پردازش، شناسه (ID) و میزان مصرف پردازنده در قالب یک جدول مرتب، دستور زیر کاربرد دارد:
اجرای برنامهها با Start-Process
برای اجرای برنامهها از PowerShell میتوان از دستور Start-Process استفاده کرد.
اجرای Notepad:
باز کردن یک وبسایت در مرورگر:
این دستور در اسکریپتهای خودکارسازی بسیار کاربردی است.
توقف پردازشها با Stop-Process
برای بستن برنامهها و پردازشها از Stop-Process استفاده میشود.
بستن Notepad:
بستن چند پردازش:
مدیریت سرویسهای ویندوز
PowerShell ابزار بسیار مناسبی برای مدیریت سرویسهای ویندوز است.
مشاهده سرویسها
نمایش سرویسهای در حال اجرا:
راهاندازی سرویس
توقف سرویس
در صورت نیاز به منابع پایدار و مقیاسپذیر، همین حالا خرید سرور ابری را انجام دهید.
فیلتر کردن اطلاعات با Where-Object
یکی از مهمترین قابلیتهای PowerShell امکان فیلتر کردن دادهها است. دستور Where-Object برای همین منظور استفاده میشود.
نمایش پردازشهایی با مصرف CPU بیشتر از مقدار مشخص:
این قابلیت قدرت واقعی PowerShell را نشان میدهد.
مطالعه فایلها با Get-Content
برای خواندن محتوای فایلهای متنی میتوان از دستور Get-Content استفاده کرد.
نمایش کل فایل:
نمایش پنج خط اول:
نوشتن در فایلها با Set-Content و Add-Content
برای ایجاد یا بازنویسی فایل:
برای افزودن متن جدید:
این دستورات در تولید گزارشها و لاگها بسیار مفید هستند.
ذخیره خروجی در فایل با Out-File
گاهی لازم است خروجی یک دستور را در فایل ذخیره کنید. برای این کار از Out-File استفاده میشود.
مثال:
بررسی لاگهای ویندوز
PowerShell امکان دسترسی مستقیم به لاگهای سیستم را فراهم میکند.
نمایش آخرین خطاهای سیستم:
استفاده از نسخه جدیدتر:
دریافت اطلاعات سیستم
برای مشاهده اطلاعات کامل سیستم میتوان از Get-ComputerInfo استفاده کرد.
نمایش اطلاعات مهم:
این دستور برای بررسی سریع مشخصات سرورها و کلاینتها بسیار مفید است.
بررسی محیط PowerShell با Get-Host
برای مشاهده اطلاعات مربوط به محیط فعلی PowerShell:
نمایش نسخه PowerShell:
نمایش نام محیط:
شناخت ساختار اشیاء با Get-Member
یکی از مفاهیم کلیدی PowerShell کار با اشیاء است. دستور Get-Member به شما نشان میدهد که هر شیء چه ویژگیها و متدهایی دارد.
مثال:
این دستور یکی از مهمترین ابزارهای یادگیری PowerShell محسوب میشود.
مدیریت سیستمهای راه دور
PowerShell قابلیت مدیریت سرورهای راه دور را نیز فراهم میکند.
فعالسازی PowerShell Remoting:
اتصال به سرور راه دور:
خروج از نشست:
Exit-PSSession
اجرای یک دستور روی سیستم راه دور:
چند توصیه مهم برای یادگیری سریعتر 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 میتواند نقطه شروع بسیار خوبی باشد. با تسلط بر این دستورات و تمرین مداوم، بهتدریج قادر خواهید بود وظایف پیچیده مدیریتی را به صورت خودکار انجام دهید و بهرهوری خود را به شکل قابل توجهی افزایش دهید.