5 دلیل برای استفاده از PowerShell به جای Batch Scripting
1396/10/14 15:51 , شایان مسلمی

5 دلیل برای استفاده از PowerShell به جای Batch Scripting

اغلب کاربران تابحال اسم PowerShell را نشنیده اند،و آن را امتحان نکرده اند.این شاید به دلیل نام آن باشد که در وهله ی اول ذهن هرکسی را به طرف سخت افزار و IT می کشاند.یا شاید به دلیل این باشد که مزیت های استفاده از پاورشل مشخص نیست و یا پیچیدگی یادگیری ابتدایی آن .

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

به طور خلاصه،اگر از Command Prompt به همراه Batch Scripting استفاده می کنید،PowerShell چیزی است که در اینباره به آن نیاز خواهید داشت.گیج شدید؟ در این مقاله چند دلیل منطقی عنوان شده که نشان می دهد چرا باید از آن استفاده کنید.

 

1)پاورشل اسکریپتینگ پیشرفت کرده است

مانند batch script ها،اسکریپت های پاورشل خط های دستوری هستند که به عنوان یک فایل ساده نوشته می شوند،بجر فایل هایی که از یک اکستنشن .PS! به جای اکستنشن .BAT و .CMD استفاده می کنند.اما در پایان شبیه خواهند بود.

اسکریپت های بَچ یک محدودیت بزرگ دارند: تنها دستوراتی که در دسترس هستند،دستورات Command Prompt می باشند.به معنای دیگر،یک بچ اسکریپت مجموعه ای از دستورات Command Prompt است.این برای فعالیت های ابتدایی و اتوماتیک سازی های ساده مورد قبول می باشد اما مانع واقعی زمانی جلوه می کند که بخواهید فعالیت پیچیده ای انجام بدهید.

از طرفی دیگر،اسکریپت های پاورشل توسط زبان Powershell  نوشته شده اند،که یک زبان واقعی برنامه نویسی است که دارای لاجیک دقیقی برای کارهای واقعاً حرفه ای دارد.یادگیری خود زبان آسان است،مخصوصاً اگر تجربه ی قبلی برنامه نویسی داشته باشید. این زبان از متغیرها،قابلیت ها،لوپ ها،exception handling و غیره پشتیبانی می کند.

یک نکته ی دیگر که باید متذکر شد این است که PowerShell ISE (محیط یکپارچه شده ی اسکریپت پاورشل) نسبت به Command Prompt معمولی بسیار پیشرفته تر است.این محیط دارای ویژگی ها و امکانات سودمندی است که در هنگام نوشتن اسکریپت ها به کمک شما خواهد آمد،مانند هایلایت ترکیب ها(سینتاکس ها)،تکمیل سازی خودکار،tabbed editing و context-sensitive help.

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

 

2)پاورشل از .NET API به صورت کامل پشتیبانی می کند

قابلیت ها و انعطاف پذیری های فراوان پاورشل با یکپارچه شدن با فریم ورک .NET تکمیل می شود.هر دستور پاورشل (cmdlet خوانده میشود) در واقع یک کلاس .NET است که در زمان اجرا درخواست داده میشود،به این معنی که cmdlet ها میتوانند در هر زبان .NET نوشته شوند(مثلاً Visual Basic,Visual C++,C# ).

خب،مزیت ساپورت از .NET API چیست؟

.NET API پر از ابزارها و قابلیت هایی است که به عنوان مجموعه ای از لایبرری های کلاس استاندارد مرتب شده اند.شما می توانید از این منظرهای API برای انجام کارهایی مانند گردآوری ورودی ها یا مدیریت داده ها بدون اینکه مجبور باشید همه ی آنها را بازنویسی کنید،استفاده کنید.

پاورشل،با پیوستگی با .NET API و سرویس دهنده های مختلف که خود پاورشل را نیز ساخته اند،به شما این امکان را می دهد که به عمیق ترین قسمت های اکوسیستم ویندوز وارد شوید.این قسمت ها شامل فایل سیستم،رجیستری و certificate store میشود.به همین دلایل ،cmdlet های پاورشل و اسکریپت ها میتوانند کارهای بسیار بیشتری نسبت به بچ اسکریپت ها انجام دهند.

و شاید جالب ترین نکته این است که پاورشل به شما این امکان را میدهد که از خروجی یک cmdlet به عنوان ورودی برای cmdlet دیگر استفاده کنید.اغلب شل های دیگر،مثل Bash، می توانند اطلاعات را از یک دستور به دستور دیگر تنها به عنوان متن ساده پایپ کنند.متد پاورشل تمیزتر،قوی تر و امکان خطای کمتری دارد.

 

3)پاورشل میتواند اسکریپت های بچ را اجرا کند

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

پاورشل بالاتر از Command Prompt ساخته نشده است.هر دو شل کاملاً متفاوت و با ساختارهای اولیه ی جداگانه ای هستند،پس به طور تکنیکی در نظر گرفتن پاورشل به عنوان “Command Prompt 2.0” اشتباه است.با این حال، پاورشل قابلیت سازگاری های گذشته را نیز دارد.

بیشتر دستورات رایج که شما در Command Prompt استفاده میکنید،میتوانند در پاورشل نیز مورد استفاده واقع شوند.پاورشل در واقع cmdletهای داخلی از پیش ساخته شده ای دارد که به منظور انجام کارهای مشابهی که آن دستورات انجام میدهند،اسکریپت شده اند،اما از نام های دیگری برای "اتصال" نام های دستور قدیمی به cmdletهای جدید استفاده میکنند.

 

برای مثال،زمانی که cd را در پاورشل اجرا میکنید،شما در واقعcmdlet  Set-Location را اجرا کرده اید.در این مورد،”cd” تنها نامی برای “Set-Location” است و این برای راحتی شماست.به طور مشابه،زمانی که از rename در پاورشل استفاده میکنید،cmdlet Rename-Item به طور مخفیانه اجرا می شود.

بنابراین،جای تعجبی ندارد که شما بتوانید بچ اسکریپت ها را در پاورشل اجرا کنید،به این معنی که میتوانید از بچ اسکریپتینگ به پاورشل اسکریپتینگ به سادگی منتقل شوید.

 

4)پاورشل آینده ی مایکروسافت خواهد بود

پاورشل ابتدا در سال 2006 معرفی شد.حالا،بعد از یک دهه،تبدیل به یکی از مهمترین پروژه های مایکروسافت شده است.تیمی که در پشت پاورشل وجود دارد در حال تلاش است تا آن را به بهترین شل موجود تبدیل کند و مایکروسافت قصد دارد آن را در میان حرفه ای های IT بزرگ کند.

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

اما مهم تر از همه،مایکروسافت در حال افزایش تعداد سؤالات وابسته به پاورشل است که در امتحانات گواهینامه پرسیده میشود.در حقیقت،بر اساس مصاحبه ای در سال 2009 در مجله ی TechNet ، مایکروسافت اعلام کرد : " تنها مهارت مهمی که یک ادمین ویندوز در سال های آتی نیاز خواهد داشت،ویندوز پاورشل خواهد بود."

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

 

5)پاورشل میتواند روی لینوکس اجرا شود

در طول چند سال اخیر،مایکروسافت تحرکات متعددی در مورد نرم افزارهای منبع باز داشته است.در اسل 2014،آن ها .Net Framework را منبع باز کردند و برای چندین پلتفرم در دسترس قرار دادند،سپس در سال 2016، Bash shell را با ویندوز 10 یکپارچه کردند.و در سال 2017، نصب پاورشل روی لینوکس راحت تر از همیشه شد.در هنگام نگارش این مقاله،مایکروسافت منابعی از پکیج ها دارد که میتوانید برای نصب پاورشل در نسخه های متعدد لینوکس از آن ها استفاده کنید.اگر سیستم شما از apt-get یا yum پشتیبانی کند،پس شما احتمالاً مشکلی برای نصب پاورشل نخواهید داشت،اگرچه هنوز راهکارهای قدیمی برای استفاده نیز موجود هستند.

چرا این خبر خوبی به حساب می آید؟به این دلیل که دانش پاورشل شما محدود به یک سیستم عامل نخواهد بود.بچ اسکریپت ها تنها میتوانند روی ویندوز اجرا شوند (یا از طریق Wine در لینوکس،مه ما آن را پیشنهاد نمی کنیم)بنابراین محدودیت دارند،در حالی که پاورشل میتواند در گسترش مهارت شما نقش بسزایی ایفا کند.

 

شروع کار با ویندوز پاورشل

متقاعد شدید؟ اگر نشدید،مشکلی نیست.همانطور که در بالا گفتم،پاورشل برای همه نیست،و اگر شما از بچ اسکریپت ها برای استفاده ی شخصی تان راضی هستید،به کارتان ادامه دهید.اما اگر می خواهید همگام با تکتولوژی پیش بروید و اگر میخواهید یک متخصص IT باشید،یادگیری PowerShell قطعاً پیشنهاد میشود.

در صورت مایل بودن به آغاز کار،با دستورات ساده ی پاورشل شروع کنید که آسان و سرراست هستند.هنگامی که در آن ها ماهر شدید،برخی از کارها را میتوانید اتوماتیک سازی کنید.این برای آغاز کار،کافی به نظر می رسد.

شما از بچ اسکریپت ها برای چه کارهایی استفاده میکنید؟ آیا به پاورشل کوچ خواهید کرد؟ اگر جوابتان منفی است،چه چیزی برای اینکار متقاعدتان خواهد کرد؟نظراتتان را با ما در میان بگذارید!

منبع : MakeUseOf

 مطالب مرتبط

نصب و استفاده از PowerShell برروی لینوکس
7 دلیل منطقی برای آموختن #C
چگونه از طریق پاور‌شل (PowerShell) ایمیل ارسال کنیم
چگونه یک عنصر از اجزاء React را دریافت کنیم ؟
 LINQ(زبان جستجوی یکپارچه)
برنامه نویسی شیءگرا چیست؟

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات