پاورشل چیست؟

بهترین منبع برای گرفتن پاسخ «پاورشل چیست؟»، وب‌سایت سازنده آن، یعنی مایکروسافت است که چنین توصیفی برای این ابزارش دارد:

«PowerShell یک پوسته (Shell) فرمان مدرن است که بهترین ویژگی‌های پوسته‌های محبوب دیگر را در خود دارد. برخلاف بسیاری از پوسته‌هایی که فقط با متن کار می‌کنند و همین فرمت را برمی‌گردانند، PowerShell اشیا دات‌نت را گرفته و با آن‌ها کار می‌کند.

این ابزار شامل ویژگی‌های زیر است:

مهم ترین ویژگی‌های پاورشل چیست؟ 

گرچه ویژگی‌های پاورشل با هر به‌روزرسانی بهبود و توسعه می‌یابد، اما ما در ادامه این بخش به چهار مورد از مهم‌ترین‌ها و اساسی‌ترین آن‌ها می‌پردازیم.

۱. کشف سریع و کامل دستورات 

پاورشل چیست

کاربران می‌توانند ویژگی‌های PowerShell را با استفاده از مجموعه cmdlet‌ها – مانند Get-Command که فهرستی از تمام دستورات است- را کشف کنند. این دستور پارامترهایی را دارد که برای محدود کردن دامنه جست‌وجو از آن‌ها استفاده می‌شود.

۲. کمک‌ مستقیم به کاربر برای کار با پاورشل

کاربرد پاورشل چیست

کاربران پاورشل می‌توانند از طریق cmdlet Get-Help، درباره اصول PowerShell و اجزای خاص آن، مانند cmdletها اطلاعات بیشتری به‌دست آورند. برای مثال، پارامتر -online این اسکریپت، دسترسی به مقالات راهنمایی و نحوه استفاده را در اینترنت پیدا کرده و در اختیارتان قرار می‌دهد.

۳. امکان نوشتن و اجرای دستورات از راه دور 

مدیران IT و سرورها می‌توانند با استفاده از فناوری‌هایی مانند Windows Management Instrumentation و WS-Management، کارهای سرورشان را از راه دور پیش ببرند. به‌عنوان مثال، پروتکل WS-Management به کاربران اجازه می‌دهد تا دستورات و اسکریپت‌های PowerShell را روی کامپیوترهای Remote اجرا کنند.

بیشتر بخوانید: سرور چیست؟ معرفی انواع سرور به زبان ساده

۴. پایپ‌لاین

کاربرد پاورشل چیست

با PowerShell، دستورات را می‌توان از طریق عمل‌گرهای پایپ‌لاین به یکدیگر وصل کرد؛ آن هم فقط با درج نماد ساده “|”. این رویکرد، به خروجی یک دستور اجازه می‌دهد تا به ورودی دستور بعدی در دنباله پایپ‌لاین تبدیل شود.

 از طرفی دیگر، پایپ‌لاین پاورشل رشته‌های متنی را شی دیده و به آن‌ها اجازه می‌دهد تا از یک cmdlet به cmdlet دیگر منتقل شوند. این قابلیت قدرت‌مند برای اسکریپت‌های پیچیده و دقیق خودکارسازی اهمیت زیادی دارد.

نحوه کار پاورشل چگونه است؟

پاورشل از مجموعه‌ای از دستورات تشکیل شده است که عملکردها (Functions) یا وظایف (Tasks) خاصی را انجام می‌دهند. در پشت هر cmdlet، تعدادی اتفاق در حال وقوع است:

دستوری که در پاورشل اجرا می‌شود با کلاس‌ها، متدها، چند شی، فراخوانی‌های API و بسیاری موارد دیگر ادغام می‌شود تا کار به‌درستی انجام شود.

پاورشل ابزاری قدرتمند برای خودکارسازی وظایف در سیستم‌عامل ویندوز است. یکی از کاربردهای آن می‌تواند مدیریت و ارسال درخواست‌های API باشد. برای درک بهتر روش‌های احراز هویت در APIها، پیشنهاد می‌کنیم مقاله “api key چیست” را مطالعه کنید.

با تمام این اوصاف، می‌دانید مزیت PowerShell چیست؟ شما مجبور نیستید همه این اصول بک‌اند را به‌شکل عمیق درک کنید؛ چون cmdletها همه این‌ها را از بر هستند و تمام فرآیندها را به‌صورت خودکار برای شما انجام می‌دهند.

برای کمک به استفاده از cmdlets، پاورشل از یک الگوی نام‌گذاری فعل-اسم (Verb-noun Naming Pattern) پیروی می‌کند تا کاربران بتوانند هدف دستورات را درک کنند. افعال عبارتند از New، Set، Get، Add و Copy. 

با این مقدمه، در ادامه با نحوه کار پاورشل آشنا می‌شویم.

۱. Cmdlets

نحوه کار با پاورشل چیست

Cmdletها که به‌صورت “command-lets” تلفظ می‌شوند که دستورات تک عملکردی پایه پاورشل هستند. اگر پاورشل یک پاراگراف باشد، cmdletها حروف هر کلمه از این بخش متن هستند. 

می‌توان از این مقادیر به‌شکل انفرادی و برای انجام یک عملکرد یا ترکیب آن‌ها استفاده کرد تا انجام کارهای مهم‌تر محقق شود. توجه داشته باشید که هر cmdlet در نقش یک تابع جداگانه ظاهر می‌شود تا به خروجی cmdlet در تابع ترکیبی کمک کند.

بااین‌حال، cmdletها در پاورشل نوشته نمی‌شوند؛ بلکه به زبان دیگری نوشته و کامپایل شده‌اند و بستر استفاده از آن‌ها، پاورشل است. Cmdlets یک دستور حیاتی در PowerShell هستند؛ چراکه محدودیت عملکرد آن‌ها به خلاقیت توسعه‌دهنده بستگی دارد. برای مثال، توسعه‌دهندگان و مهندسان DevOps از پایپ‌لاین‌ها برای ارسال یک خروجی cmdlet به ورودی cmdlet دیگر به‌عنوان شی استفاده می‌کنند. 

برای درک بهتر مفاهیم دواپس پیشنهاد می کنیم مقاله devops چیست؟ و به چه کسی مهندس دواپس می‌گویند؟ را بخوانید

۲. توابع 

نحوه کار پاورشل چیست

توابع یکی از دستورات متعددی هستند که برای اجرای کدها در پاورشل استفاده می‌شوند. برخلاف cmdletها، توابع به زبان PowerShell نوشته می‌شوند. این اجزا دنباله‌ای از دستورالعمل‌ها هستند که در ابتدا ساخته و سپس با فراخوانی استفاده می‌شوند. ورودی توابع در پاورشل پارامتر است؛ اما خروجی می‌تواند سه حالت زیر را داشته باشد:

۳. اسکریپت 

اسکریپت‌های پاورشل با cmdlet نوشته می‎شوند. این اسکریپت‌ها برای ایجاد اتوماسیون کارهای مختلف استفاده می‌شوند. اسکریپت‌های پاورشل پیچیدگی کد را هنگام نوشتن و استفاده از آن‌ها در اتوماسیون، کاهش می‌دهند.

سه نوع دستور در اسکریپت PowerShell وجود دارد: 

۴. دستورات اجرایی

نحوه کار پاورشل چیست

دستورات اجرایی (Executable Commands) دستوراتی هستند که در اجرای فایل‌های Executable استفاده می‌شوند. فایل‌های اجرایی پسوند exe دارند و جز نرم‌افزارهای ویندوز هستند. 

در اجرای فایل‌های exe از سه دستور استفاده می‌شود: 

بیشتر بخوانید: دستور cut در لینوکس + کاربردهای پیشرفته

۶ کاربرد پاورشل چیست؟

PowerShell یک برنامه دومنظوره است که چهار کاربرد جالب را به کاربران هدیه می‌دهد. لیست این کاربردها را در ادامه خواهید خواند.

۱. اتوماسیون کارهای تکراری

اولین کاربرد پاورشل که مهم‌ترین مسئولیت آن است را همین مورد می‌دانیم. این اتوماسیون در وظایف DevOps انجام می‌شود. فرایند اتوماسیون در این برنامه برای همه جنبه‌ها و کاربردهای پاورشل صورت می‌گیرد. 

علاوه‌براین، اتوماسیون‌ها روی سایر زبان‌های اسکریپت‌نویسی هم انجام می‌شوند؛ اما در PowerShell، بیشتر به‌دلیل سیستم فرمت منحصربه‌فرد کاربرد دارند. از طرفی دیگر، پاورشل برای اتوماسیون‌سازی کارها گزینه بهتری است؛ به این دلیل که هر برنامه‌ای با توابع، کلاس‌ها، cmdlet‌ها و ماژول‌ها قابل توسعه خواهد بود.

۲. دسترسی ساده به داده‌ها

یکی دیگر از دلایل محبوبیت PowerShell دسترسی سریع و ساده به داده‌ها است؛ چون بخش قابل توجهی از کاربردهای PowerShell فعالیت‌های اداری است. در شبکه‌های کامپیوتری بزرگ، بسیاری از سرویس‌ها به‌طور مستقل کار می‌کنند و توسط یک ادمین مرکزی IT کنترل می‌شوند. PowerShell به این افراد دسترسی آسان به سرویس‌ها، سیستم‌ فایل‌ها و رجیستری‌ها را می‌دهد.

۳. مدیریت زیرساخت به‌شکل کد

کاربرد پاورشل چیست

پاورشل از یک فریمورک مدیریتی استفاده می‌کند تا کاربرانش بتوانند زیرساخت شرکت‌شان را با پیکربندی ویژه و معروف، به‌نام «زیرساخت به‌عنوان یک کد» یا “Infrastructure As Code” مدیریت کنند. این فریمورک، “Desired State Configuration (DSC)” نامیده می‌شود که امکان اعمال تنظیمات پیکربندی، دستیابی به استقرارهای تکرارپذیر و ایجاد پیکربندی‌های خاص را ممکن می‌سازد.

۴. دستیابی به سیستم از راه دور

پاورشل امکاناتی را برای به سیستم از راه دور فراهم می‌کند که باب میل متخصصان IT و DevOps است؛ چون با کمک این قابلیت‌ها، می‌توانند دستورات را از راه دور و روی چند سیستم اجرا کنند و کارشان را بدون نیاز به حضور در محل پیش ببرند. تسهیل دسترسی Remote با کمک ابزارهای Windows Management و WS-Management ممکن می‌شود.

۵. ترکیب چند محصول 

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

۶. استفاده از REST API

کاربرد پاورشل چیست

پاورشل یک API 100٪ جامع و سازگار با سیستم‌های مختلف است که امکان استفاده از آن برای سازندگان APIهای شخص ثالث فراهم است. این برنامه قابلیت‌های REST API را در اختیار کاربرانش قرار می‌دهد که با استفاده از cmdlet “Invoked-RestMethod” فعال می‌شود. 

 ۳ روش ساده برای راه اندازی PowerShell ویندوز

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

۱. منوی استارت

۲. پنجره Run

۳. با استفاده از Command Prompt

فعالسازی پاورشل روی مک

برای فعالسازی پاورشل روی مک، باید نسخه اصلی آن را نصب کنید که در لیست زیر، آخرین نسخه‌ پاورشل (آبان ۱۴۰۳) را به‌همراه لینک مستقیم دانلود مشاهده می‌کنید:

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

sudo installer -pkg ./Downloads/powershell-7.4.5-osx-x64.pkg -target /

اگر این برنامه را روی macOS Big Sur 11.5 یا نسخه‌های جدیدتر اجرا می‌کنید، ممکن است هنگام نصب پکیج با پیام خطای زیر مواجه شوید:

powershell-7.4.5-osx-x64.pkg" cannot be opened because Apple cannot check it for malicious software

دو راه برای حل این مشکل وجود دارد:

  1. استفاده از Finder
  1. از خط فرمان
sudo xattr -rd com.apple.quarantine ./Downloads/powershell-7.4.5-osx-x64.pkg.

اگر از PowerShell 7 یا نسخه‌های جدیدتر استفاده می‌کنید، می‌توانید از cmdlet Unblock-File استفاده کنید. در این دستور، حتما مسیر کامل فایل pkg. را بنویسید؛

جمع بندی

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

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

سوالات متداولی که شما می‌پرسید

  1. پاورشل چیست؟

PowerShell یک خط فرمان مدرن است که بهترین ویژگی‌های خط فرمان‌های محبوب دیگر را در خود جا داده است؛ ویژگی‌هایی مانند کشف سریع دستورات در این ابزار و امکان اجرای دستورات از راه دور.

  1. از پاورشل در چه سناریوهایی استفاده می‌شود؟

ترکیب چند محصول یا سرویس، مدیریت زیرساخت‌های شرکتی و خودکارسازی فرایندهای تکراری.

  1. آیا نصب و راه‌اندازی Powershell سخت است؟

خیر. این ابزار به‌صورت پیش‌فرض در ویندوز ۱۰ و ۱۱ وجود دارد و فقط از سه طریق خط فرمان، منوی استارت یا پنجره Run می‌توانید به آن دسترسی پیدا کنید. برای فعالسازی پاورشل روی مک هم فقط با نصب پکیج آن و اجرای یک دستور ترمینال، کار به‌اتمام می‌رسد.

منابع:

Spiceworks

ninjaone

 

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *