قسمت اول : تاریخچه و دلایل یادگیری PowerShell

2 147

سلام به دوستان TheWays، امیدوارم حالتون خوب باشه در این سری از مقالات من قصد دارم نحوه کار با پاورشل را بصورت ساده بیان کنم و امیدوارم برای شما هم مفید باشه.در این قسمت از سری آموزش پاورشل، می خواهم شما را با تاریخچه این ابزار و همچنین دلایل لزوم یادگیری پاورشل آشنا کنم.

تاریخچه کوتاه PowerShell :

مایکروسافت در ۲۵ April سال ۲۰۰۶ پاورشل را به عنوان یکی از مهمترین و قابل توجه ترین ابزارهای مدیریتی ویندوز معرفی کرد.

چند ماه بعد از ارائه PowerShell 2.0 می گذشت که مایکروسافت درباره یادگیری مهارت پاورشل در TechNet Magazine  گفت :

“the single most important skill a Windows administrator will need in the coming years”.

ترجمه : “مهمترین مهارتی که ادمین های ویندوز در سال های پیش رو نیاز خواهند داشت”

PowerShell 6.0

اما یکی دیگر از مهمترین اتفاقات در تاریخ پاورشل این بود که سورس کد پاورشل در GitHub قرار گرفت، به این دلیل که مایکروسافت در ۱۸ August 2016 نسخه ای از پاورشل را بصورت Open-Source و Cross-Platform ارائه کرد. به این نسخه از پاورشل “PowerShell Core” گفته می شود که بر روی .NET Core اجرا می شود و همچنین بر روی سیستم عامل های windows, macOS, CentOS, Ubuntu قابل اجرا است. البته نسخه “Windows PowerShell” از نسخه “PowerShell Core” مجزا است و بر روی Full .NET Framework اجرا می شود.

تاریخچه نسخه های PowerShell :

Windows PowerShell 1.0 :

در سال ۲۰۰۶ برای ویندوزهای  “XP, Vista, Server 2003 SP1 and Server 2008”

عرضه شد.

 

Windows PowerShell 2.0 :

در سال ۲۰۰۹ علاوه بر سیستم عامل هایی که در ورژن قبل پشتیبانی می کرد Windows 7 نیز اضافه شد. در این ورژن امکانات بسیار زیادی به پاورشل اضافه شد که برخی از مهمترین آن ها شامل :

PS Remoting+

PS Job+

PowerShell ISE (Integrated Scripting Environment)+

And More Than 240 cmdlets+

 

Windows PowerShell 3.0 :

در سال ۲۰۱۲ برای سیستم عامل های زیر ارائه شد:

Windows 8,7-

Windows Server 2012-

Windows Server 2008,2008 R2-

برخی از مهمترین امکاناتی که در ورژن ۳٫۰ پاورشل اضافه شد شامل :

Scheduled Job+

IntelliSense(Code Completion) Added in ISE+

Help Update Command+

Automatic Load Module+

 

Windows PowerShell 4.0 :

در سال ۲۰۱۳ برای سیستم عامل های زیر ارائه شد:

Windows 8.1,7-

Windows Server 2012,2012 R2-

Windows Server 2008 R2-

امکاناتی که در ورژن ۴٫۰ پاورشل اضافه شد شامل :

+  Save-Help

+ New default execution policy : RemoteSigned

 

Windows PowerShell 5.0 :

در سال ۲۰۱۶ معرفی شد که بیشترین امکانات اضافه شده در این ورژن مربوط به مطالب DSC و همچنین پشتیبانی از مدیریت سوئیچ های لایه ۲ است.

 

Windows PowerShell 5.1 :

مایکروسافت این نسخه را همراه با ویندوز ۱۰ ورژن ۱۶۰۷ معرفی کرد، یعنی در سال ۲۰۱۶٫ همچنین

Windows Server 2016 و ورژن های پایین تر نیز پشتیبانی می شد.

نکته مهم که در معرفی این ورژن از پاورشل وجود دارد این است که با دو نسخه متفاوت یعنی “Desktop” , “Core” ارائه شد.

نسخه “Desktop” که همان ورژن قدیمی هست که بر روی full .NET Framework اجرا می شود، اما نسخه “Core” پاورشلی است که بر روی .NET core 2 اجرا می شود.

این ورژن از پاورشل آخرین ورژنی است که بر روی full .NET Framework اجرا می شود. البته مایکروسافت برای این ورژن  همچنان پچ های امنیتی ارائه میدهد ولی دیگر هیچ امکانات دیگری به این نسخه اضافه نخواهد شد.

 

PowerShell Core 6 :

این ورژن همانطور که میدانید با هدف Cross-Platform شدن پاورشل در سال ۲۰۱۶ معرفی شد.

درواقع این ورژن بر روی .NET Core 2 اجرا می شود و به همین علت نمی تواند بسیاری از cmdlet هایی که در powerShell 5.1 برای مدیریت ویندوز و سرور های مایکروسافتی هستند را اجرا کند.

 

PowerShell 7 :

این نسخه از پاورشل به منظور ارتقای PowerShell Core 6 و PowerShell 5.1 در نیمه دوم سال ۲۰۱۹ معرفی شد.

این نسخه بر روی .NET Core 3 اجرا می شود و تقریبا نزدیک به ۹۰ درصد ماژول های ورژن ۵٫۱ را پشتیبانی می کند.

تغییر به سمت .NET Core 3 فقط Compatibility را افزایش نداد بلکه در بهبود سرعت و Performance پاورشل نیز موثر بود.

چرا باید PowerShell یاد بگیریم؟

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

اگر از نظر بیزینسی یا مالی درباره پاورشل صحبت کنیم، میشه گفت مایکروسافت سرمایه گزاری بسیار زیادی رو این موضوع کرده چون از سال ۲۰۰۶ که اولین نسخه از پاورشل ارائه شد تقریبا نزدیک به ۱۶ سال هست که میگذره و همین عامل نشون میده که پاورشل بسیار مورد توجه مایکروسافت هست.

 

حالا میرسیم به دلایل حرفه ای و فنی برای یادگیری پاورشل :

 

  • انجام Task ها در مقیاس بالا

اگر شما هم تا به الان در انجام Task های خود به کارهایی برخورده اید که تکراری هستند، کاملا این موضوع را درک می کنید که برای انجام بعضی از Task ها در شبکه نیاز به یک ساختاری تقریبا شبیه به Automation دارید.

برای مثال اعمال تغییرات بر روی چندین یوزر کار بسیار خسته کننده ای خواهد ولی با استفاده از پاورشل می توانید این کار را سریع تر را انجام دهید.

 

  • Option های بیشتر نسبت به GUI

در اکثر مواقع انجام یک کانفیگ با استفاده از پاورشل به شما امکان استفاده از Option های بیشتری را نسبت به GUI میدهد، که در بعضی کانفیگ ها شما حتما باید از پاورشل استفاده کنید چون در طی کانفیگ بصورت GUI گزینه ای که شما به آن نیاز دارید وجود ندارد.

 

  • انجام بعضی امور تنها با پاورشل

در حال حاضر سیاست مایکروسافت درمورد پاورشل کاملا واضح است به این دلیل که بیشتر امکانات جدیدی که اضافه می شود، تنها در پاورشل قابل کانفیگ و استفاده است.

 

نیم نگاهی به موضوعات در مقالات آینده

  • درباره Help و آپدیت کردن فایل Help
  • نحوه استفاده از Command History
  • تجزیه و تحلیل Syntax ها
  • Customize کردن خروجی در صفحه کنسول
  • خروجی گرفتن از نتایج(CSV,Print,…)
  • بحث Profile ها در پاورشل
  • آموزش ExecutionPolicy و مفهوم Scope
  • انجام Pipeline
  • یادگیری PSProvider و PSDrive
  • درباره Module و ساختن Module انحصاری
  • انواع روش Remote در پاورشل
  • کار با Variable ها
  • ساختن Job در پاورشل
  • استفاده از تکنیک parameterize
  • ساختن انواع Hash Table
  • نحوه کار با ForEach, For, While,Do
  • کار با IF,else
  • کار با Regular Expression
  • یادگیری Format Operators
  • و…..

 

البته امیدوارم در طول مقالات آینده به مباحث بیشتری بپردازم و تمامی این موضوعات با ریزبینی بسیار بیشتری توضیح بدهم.

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

امیدوارم این مقاله برای شما مفید بوده باشه.

منتظر مقالات دیگر باشید 🙂

2 نظرات
  1. میلاد اسحاقی می گوید

    به به خیلی عالی مهندس عزیز ، بی صبرانه منتظر ادامه مقالات هستیم ، شخصا خیلی امیدوارم بتونم پاورشل به کمک مطالب شما جلو ببرم و یاد بگیرم

    1. حمیدرضا سالم می گوید

      بله حتما استاد عزیز، منم تمام تلاشمو برای کامل بودن مطالب می کنم. امیدوارم کاربردی باشه :))

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.