پاورشل برای برنامهنویسان
@programming_tipsدرسنامه: تاریخچه و نسخهها (Windows PowerShell vs PowerShell Core)
وقتی صحبت از PowerShell میشه، معمولاً با دو اسم متفاوت روبهرو میشیم: Windows PowerShell و PowerShell Core. برای اینکه بفهمیم تفاوتشون چیه، باید کمی به عقب برگردیم و تاریخچه PowerShell رو بررسی کنیم.
شروع ماجرا – تولد PowerShell
مایکروسافت در سال ۲۰۰۶ اولین نسخهی PowerShell رو منتشر کرد. این نسخه بخشی از ویندوز شد و اسمش Windows PowerShell بود.
هدف اصلی مایکروسافت این بود که یک محیط خط فرمان مدرن و مبتنی بر .NET ایجاد کنه که هم برای مدیران سیستم و هم برای برنامهنویسها مفید باشه.
Windows PowerShell بر پایهی .NET Framework ساخته شد. این یعنی به شدت به ویندوز وابسته بود و نمیشد اون رو روی سیستمعاملهای دیگه مثل لینوکس یا مک اجرا کرد.
رشد و توسعه Windows PowerShell
مایکروسافت چندین نسخه از Windows PowerShell رو منتشر کرد (از نسخه ۱.۰ تا ۵.۱). این نسخهها به صورت پیشفرض در ویندوز نصب میشدن.
در این دوره، PowerShell به ابزاری جدی برای مدیریت ویندوز و اتوماسیون سیستمها تبدیل شد. اما محدودیت بزرگی وجود داشت: چون فقط روی ویندوز کار میکرد، توسعهدهندهها و مدیران سیستم در پلتفرمهای دیگه نمیتونستن ازش استفاده کنن.
تغییر مسیر – معرفی PowerShell Core
در سال ۲۰۱۶، مایکروسافت تصمیم گرفت PowerShell رو بازطراحی کنه تا چند سکویی (Cross-Platform) باشه. نتیجه این کار، معرفی PowerShell Core بود.
PowerShell Core بر پایهی .NET Core ساخته شد. .NET Core یک نسخه متنباز و چند سکویی از .NET بود که روی ویندوز، لینوکس و مک اجرا میشد.
به همین خاطر PowerShell Core هم روی همهی این سیستمعاملها کار میکرد. این یک تغییر خیلی بزرگ بود، چون PowerShell دیگه فقط ابزار مدیران ویندوز نبود، بلکه ابزاری برای همه برنامهنویسها و مدیران سیستم شد.
نسخههای جدید – اتحاد دوباره
در ابتدا اسمها گیجکننده بودن:
- Windows PowerShell (قدیمی، وابسته به ویندوز)
- PowerShell Core (جدید، چند سکویی)
اما از نسخهی PowerShell 7 به بعد، مایکروسافت همه چیز رو یکپارچه کرد و فقط از اسم PowerShell استفاده کرد. این نسخهها ادامهی PowerShell Core هستن و آیندهی این تکنولوژی محسوب میشن.
یعنی اگه الان بخوای PowerShell نصب کنی، نسخه ۷ یا بالاتر رو میگیری که همون PowerShell Core سابقه، اما دیگه با اسم سادهی PowerShell شناخته میشه.
تفاوت اصلی Windows PowerShell و PowerShell Core
۱. پلتفرم: Windows PowerShell فقط روی ویندوز کار میکنه، ولی PowerShell Core (و نسخههای ۷ به بعد) روی ویندوز، لینوکس و مک اجرا میشن.
۲. زیرساخت: Windows PowerShell روی .NET Framework ساخته شده، PowerShell Core روی .NET Core.
۳. پشتیبانی: Windows PowerShell دیگه توسعه داده نمیشه (آخرین نسخه ۵.۱ بود). PowerShell Core و نسخههای ۷ به بعد فعالانه در حال توسعه هستن.
۴. قابلیتها: PowerShell Core برخی از قابلیتهای مخصوص ویندوز رو نداره، اما در عوض امکانات چند سکویی و ماژولهای جدید اضافه کرده.
چرا این موضوع برای برنامهنویسها مهمه؟
به عنوان یک برنامهنویس باید بدونی:
- اگه روی ویندوز هستی، Windows PowerShell 5.1 احتمالاً به صورت پیشفرض نصبه. اما توصیه میشه PowerShell 7 رو نصب کنی چون جدیدتر و کاملتره.
- اگه روی لینوکس یا مک کار میکنی، تنها گزینهی تو PowerShell Core (یا همون PowerShell 7) هست.
- برای یادگیری و پروژههای جدید، همیشه روی نسخههای مدرنتر (PowerShell 7+) تمرکز کن چون آینده PowerShell همینجاست.
🔑 خلاصهی درسنامه:
ابزار PowerShell در ابتدا با اسم Windows PowerShell و فقط روی ویندوز عرضه شد و وابسته به .NET Framework بود. بعداً با معرفی PowerShell Core و استفاده از .NET Core، به ابزاری چند سکویی و متنباز تبدیل شد. از نسخه ۷ به بعد، مایکروسافت اسم Core رو حذف کرد و فقط با نام PowerShell توسعه پیدا میکنه. امروز، برای یادگیری و استفاده بهتره همیشه نسخههای جدیدتر (۷ به بالا) رو نصب و استفاده کنیم.