آموزش پاورشل (PowerShell) — از خط فرمان تا اسکریپتنویسی حرفهای
اگه یهکم با دنیای IT و مدیریت سیستم سر و کار داشته باشی، احتمالاً اسم پاورشل به گوشت خورده. PowerShell یه پوستهی شیگرا و چندسکویی (cross-platform) هست که متخصصهای فناوری اطلاعات ازش برای مدیریت ویندوز، لینوکس و macOS استفاده میکن...
آموزش پاورشل (PowerShell) — از خط فرمان تا اسکریپتنویسی حرفهای
اگه یهکم با دنیای IT و مدیریت سیستم سر و کار داشته باشی، احتمالاً اسم پاورشل به گوشت خورده. PowerShell یه پوستهی شیگرا و چندسکویی (cross-platform) هست که متخصصهای فناوری اطلاعات ازش برای مدیریت ویندوز، لینوکس و macOS استفاده میکنن. با این ابزار میتونی وظایف هزاران کامپیوتر رو همزمان خودکار کنی — بله، درست خوندی، هزاران تا! 🚀
این دوره هم دقیقاً همون مسیریه که از صفر میبرتت تا جایی که خودت بتونی اسکریپت بنویسی و کارهای تکراری رو خودکار کنی.
چرا یاد گرفتن پاورشل ارزشش رو داره؟
پاورشل یه موتور خط فرمانه که مایکروسافت ساخته و بهطور پیشفرض روی ویندوز نصب میشه. خیلیها فکر میکنن پاورشل همون CMD با ظاهر جدیدتره، ولی این اشتباه رایجه. پاورشل بهمراتب قدرتمندتر و کاربردیتر از CMD عمل میکنه و در واقع با هدف جایگزینیاش طراحی شده — هرچند این جایگزینی کامل هنوز راه درازی در پیش داره.
یه نکتهی مهم که خیلیها نمیدونن: خروجی دستورات پاورشل فقط متن ساده نیست، بلکه اشیاء واقعی .NET با ابرداده (metadata) هستن. همین ویژگی باعث میشه پاورشل برای کارهای پیچیده و سناریوهای حرفهای حسابی بدرخشه.
این دوره برای کیاس؟
اگه تو یکی از این دستهها قرار میگیری، این دوره میتونه نقطهی شروع خوبی برات باشه:
برنامهنویسها و توسعهدهندههایی که میخوان با ابزارهای مدیریت سیستم آشنا بشن
مدیران شبکه و کارشناسان مانیتورینگ
فعالان حوزهی HelpDesk که روزانه با سیستمهای زیادی سر و کار دارن
کسانی که تو حوزهی DevOps کار میکنن و به خودکارسازی نیاز دارن
دانشجوهایی که میخوان مهارت عملی و قابل ارائه تو رزومهشون داشته باشن
جالب بدونید که یادگیری مفاهیم پایهی پاورشل خیلی هم سخت نیست، ولی برای کاربران حرفهای گزینههای پیشرفتهی زیادی وجود داره که میتونه مهارتت رو چند سطح بالاتر ببره.
پاورشل دقیقاً به چه کاری میاد؟
ابزار پاورشل عمدتاً برای مدیریت سیستمهای کامپیوتری استفاده میشه. سختافزار، نرمافزار، تنظیمات رجیستری، مدیریت فایل و پیکربندی شبکه، همگی نمونههایی از مواردی هستن که با PowerShell قابل مدیریتن. بهطور خلاصه، پاورشل تقریباً هر جنبهای از یه سیستم کامپیوتری رو میتونه کنترل کنه.
محبوبیت PowerShell دو دلیل اصلی داره: سادگی در شروع کار و انعطافپذیری بالا. با یه رابط میتونی کامپیوتر خودت رو مدیریت کنی یا همزمان صدها و هزاران کامپیوتر دیگه رو تو شبکه کنترل کنی.
مدیران سیستم بهطور سنتی کاربران اصلی PowerShell هستن. اونها این ابزار رو دوست دارن چون کمکشون میکنه کارها رو سریعتر و راحتتر از زمانی که مجبورن تو یه رابط کاربری گرافیکی (GUI) کار کنن، انجام بدن. علاوه بر این، با نوشتن اسکریپت میشه کارهای تکراری رو خودکار کرد — چیزی که تو این دوره بهصورت عملی یاد میگیری.
یه نگاه به تاریخچهی PowerShell
PowerShell v1 برای اولین بار تو نوامبر 2006 همراه با Windows XP SP2، Windows Server 2003 SP1 و Windows Vista منتشر شد. اون نسخهی اولیه فقط 129 cmdlet داشت و صرفاً روی همون نسخههای ویندوز اجرا میشد.
پنج نسخهی اول PowerShell فقط مخصوص ویندوز بود تا اینکه PowerShell 6 تو سال 2016 اومد و امکان مدیریت کامپیوترهای Windows، macOS و Linux رو از یه پوستهی واحد فراهم کرد. الان PowerShell تو نسخهی 7 قرار داره و به هزاران cmdlet داخلی مجهز شده که میتونن دستورالعملهای مختلفی رو اجرا کنن.
راستی، با نصب ماژولهای مختلف میتونی دسترسی PowerShell رو برای مدیریت محصولات دیگه مثل AWS و Azure هم گسترش بدی.
ماجرای پاورشل ویندوز و .NET چیه؟
وقتی پاورشل اولین بار تو سال 2006 منتشر شد، فقط از ویندوز پشتیبانی میکرد. دلیلش این بود که PowerShell روی چارچوب داتنت (.NET) اجرا میشه و داتنت هم یه چارچوب توسعهی نرمافزار مخصوص ساخت و اجرای برنامههای ویندوزیه.
مایکروسافت اول از اسم Windows PowerShell برای تمام نسخههای ویندوز استفاده میکرد، هرچند اکثر متخصصهای IT فقط با اسم PowerShell صداش میزدن. ارتباط بین PowerShell و چارچوب داتنت باعث شد که پنج نسخهی اصلی Windows PowerShell با نسخهی 5.1 محدود به ویندوز بمونن.
بعد تو سال 2016، مایکروسافت .NET Core رو منتشر کرد — نسخهی جدید و متنباز چارچوب داتنت که برای اجرا روی ویندوز، لینوکس و macOS طراحی شده بود. همین فرصت رو به تیم PowerShell داد تا نسخهی چندسکویی رو توسعه بدن.
تو سال 2018، مایکروسافت PowerShell v6 رو منتشر کرد که روی .NET Core ساخته شده بود و پشتیبانی چندسکویی رو به ارمغان آورد. اسم محصول هم از Windows PowerShell به Microsoft PowerShell (معروف به PowerShell Core) تغییر پیدا کرد.
با این حال، PowerShell 6 و نسخهی بعدیاش (v7) هنوز بهطور پیشفرض روی ویندوز نصب نمیشن. چرا؟ چون ویندوز روی بیش از یه میلیارد کامپیوتر مختلف اجرا میشه و همهی این کامپیوترها از چارچوب داتنت استفاده میکنن نه .NET Core. به همین دلیل تیم PowerShell تصمیم گرفت Windows PowerShell (v5.1) رو بهعنوان نسخهی پیشفرض روی ویندوز نگه داره.
PowerShell ISE چیه و به چه دردی میخوره؟
Windows PowerShell Integrated Scripting Environment (که به PowerShell ISE معروفه) برنامهایه که تو ویندوز قرار داره و به کاربران اجازه میده کدهای PowerShell رو اجرا کنن. با ISE میتونی دستورات و اسکریپتهای چندخطی رو بنویسی، تست کنی و اشکالزدایی کنی. از برجستهسازی سینتکس (syntax highlighting)، تکمیل با تب و سایر ویژگیهایی که معمولاً تو یه محیط توسعهی یکپارچه (IDE) پیدا میشه، پشتیبانی میکنه.
مایکروسافت ISE رو تو PowerShell v2 معرفی کرد و تو تمام نسخههای Windows PowerShell تا v5.1 پشتیبانیاش کرد. البته الان ISE یه محصول قدیمی حساب میشه و توسعهی بیشتری روش انجام نمی