powershell چیست
powershell چیست
آیا تا به حال فکر کردهاید که چگونه میتوانید کارهای روتین خود را در محیط ویندوز خودکار کنید؟ یا چگونه میتوانید بهسرعت به اطلاعات سیستمی دسترسی داشته باشید و آنها را مدیریت کنید؟ PowerShell بهعنوان یک ابزار کلیدی، همه آن چیزی است که دنبال آن هستید. درواقع پاورشل یک ابزار منبعباز و رابط خط فرمان قدرتمند است که یک محیط کامل اسکریپتنویسی را ارائه میدهد. به بیان ساده، PowerShell به کاربران امکان میدهد تا وظایف سیستمی را بهطورخودکار انجام دهند و به اطلاعات مهم بهسرعت دسترسی پیدا کنند.
برای درک بهتر این مفهوم، در ادامه ابتدا توضیح میدهیم که powershell چیست، سپس به بررسی دستورات، کاربردها و آموزش فعالسازی آن میپردازیم. فرقی نمیکند کاربری عادی هستید یا یک متخصص IT؛ در ادامه این مطلب مطالب بسیار کاربردی درباره powershell مطرح شده است؛ پس با ما همراه باشید.
در پاسخ به سوال «powershell چیست» باید گفت که PowerShell یک رابط خط فرمان (CLI) و زبان اسکریپتنویسی قدرتمند از مایکروسافت است که برای مدیریت خودکار وظایف و تنظیمات سیستم عامل ویندوز طراحی شده است. این ابزار، که اغلب بهعنوان جایگزینی پیشرفتهتر برای CMD یا همان Command Prompt تلقی میشود، امکانات گستردهای برای مدیریت سیستم، توسعه اسکریپتها و اتوماسیون فراهم میکند.
پاورشل بر اساس تکنولوژی .Net شرکت مایکروسافت طراحی شده است؛ این ابزار دومنظوره بهصورت Shell منبعباز با استفاده از رابط خط فرمان سیستمعامل برای کنترل کامپیوتر و بهصورت زبان برنامه نویسی مورداستفاده قرار میگیرد.
چه کسی خالق پاور شل است؟
PowerShell، که ابتدا تحت نام Monad شناخته میشد، توسط مایکروسافت توسعه یافت. خالق اصلی آن جفری اسنوور (Jeffrey Snover) است که در مایکروسافت بهعنوان یک مهندس ارشد کار میکرد. او این محیط خط فرمان و زبان اسکریپتنویسی را با هدف ارائه یک ابزار قدرتمند برای اتوماسیون و مدیریت تسکهای پیچیده در سیستمهای مبتنی بر ویندوز در سال ۲۰۰۲ طراحی کرد. در سال ۲۰۰۶ نسخه اولیه پاورشل بهعنوان جایگزینی برای خط فرمان سنتی ویندوز (cmd.exe) و VBScript توسط مایکروسافت منتشر شد.
در سال ۲۰۰۹ تا ۲۰۱۰، با انتشار PowerShell ۲.۰، مایکروسافت از قابلیتهای جدیدی مثل پشتیبانی از اسکریپتنویسی ماژولار و مدیریت از راه دور در این ابزار رونمایی کرد. در بازه سالهای ۲۰۱۲ تا ۲۰۱۶، نسخههای ۳.۰ تا ۵.۱ منتشر شدند، که هرکدام ویژگیها و بهبودهای مختلفی را ارائه دادند؛ مانند: افزایش تواناییهای اتوماسیون و مدیریت پیکربندی. در سال ۲۰۱۶ نیز مایکروسافت نسخه متنباز PowerShell Core را منتشر کرد که برای اولین بار امکان استفاده از PowerShell را روی سیستمعاملهای غیر ویندوزی مثل لینوکس و macOS فراهم کرد.
تفاوت powershell و command در چیست؟
برخلاف Command Prompt که بیشتر برای اجرای دستورات ساده استفاده میشود، PowerShell یک محیط اسکریپتنویسی قدرتمند با قابلیتهای پیشرفته است که به کاربران امکان میدهد فرآیندهای پیچیده را اتوماتیک کنند. درحالیکه Powershell بسیار پیچیدهتر از Command Prompt است، ولی درعینحال ابزاری بسیار قدرتمندتر را در اختیار کاربران ویندوزی قرار میدهد. Command Prompt از محیطهای خط فرمان سیستمعاملهایی Linux و Unix بسیار ضعیفتر است، ولی Windows powershell این ضعف را جبران کرده است و با قدرت با سایر محیطهای خط فرمان در سیستمعاملهای دیگر رقابت میکند.
کاربردهای powershell
پاورشل بهعنوان یک محیط خط فرمان و اسکریپتینگ، کاربردهای متعددی دارد. ازجمله کاربردهای اصلی Powershell در سیستمعامل ویندوز میتوان به موارد زیر اشاره کرد:
- مدیریت سیستمها: از طریق پاورشل، مدیران سیستم میتوانند وظایف مختلفی مانند مدیریت کاربران و گروهها، نصب و حذف نرمافزارها، مدیریت خدمات سیستمی و تنظیمات سیستم را انجام دهند.
- مدیریت شبکه: پاورشل میتواند برای مدیریت شبکه، از جمله مدیریت سرورها، سوئیچها و روترها استفاده شود.
- اتوماسیون وظایف: پاورشل بهعنوان یک ابزار قدرتمند برای اتوماسیون وظایف روزمره کاربران و مدیران سیستم استفاده میشود. با نوشتن اسکریپتها و دستورات خط فرمانی، میتوانید وظایف تکراری را بهصورت خودکار انجام دهید.
- توسعه نرمافزار: برنامهنویسان میتوانند پاورشل را بهمنظور توسعه اسکریپتها و ابزارهای سفارشی برای مدیریت ویندوز و سیستمهای مایکروسافت استفاده کنند.
- مانیتورینگ و دیباگ: پاورشل ابزارهای مفیدی برای مانیتورینگ و دیباگ وظایف و اسکریپتها ارائه میدهد تا بتوانید مشکلات را پیدا و رفع کنید.
بهطورکلی، پاورشل یکی از قدرتمندترین ابزارها برای مدیریت ویندوز و محیطهای مایکروسافت است و که در اتوماسیون و بهبود بهرهوری در محیطهای کاری مختلف بسیار مفید واقع میشود.
آموزش راهاندزی و نصب powershell در ویندوز
پیش از نصب powershell توجه داشته باشید که در ویندوزهای جدیدتر مانند ویندوز 10 و 11، PowerShell بهصورت پیشفرض نصب شده است؛ اما ممکن است بخواهید نسخهی جدیدتری را نصب کنید. بهاینترتیب برای راهاندازی و نصب powerShell در ویندوز، مراحل زیر را دنبال کنید:
- وارد سایت گیت هاب به نشانی https://github.com/PowerShell/PowerShell شوید و از قسمت Releases، آخرین نسخه منتشرشده پاورشل را پیدا کنید.
- سپس از بخش Assets، فایل نصبی مناسب برای نسخه ویندوز خود (معمولاً فایل با پسوند .msi) را دانلود کنید.
- فایل .msi دانلود شده را باز کنید و طبق دستورالعملهای نصب پیش بروید. نصب فایلهایی با پسوند .msi مشابه نصب فایلهای .exe است. براساس تنظیمات پیشفرض، PowerShell معمولاً در مسیر C:Program FilesPowerShell نصب میشود.
پس از نصب بهراحتی میتوانید با جستجو عبارت «Windows PowerShell» در منوی Start، پاورشل را اجرا کنید. برای شروع استفاده از پاورشل، میتوانید دستورات پاورشل را بهصورت مستقیم در پنجره PowerShell بنویسید تا اجرا شود. همچنین، میتوانید از اسکریپتهای پاورشل برای انجام وظایف خودکار استفاده کنید. در ادامه برخی از کاربردیترین دستورات پاورشل را بررسی میکنیم.
معرفی کاربردیترین دستورات پاورشل
دستورات پاورشل، که به آنها Cmdlets (کامند-لتس) گفته میشود، بلوکهای اساسی از زبان اسکریپتنویسی PowerShell هستند. شاید برایتان سوال پیش آمده باشد که Cmdlet چیست؛ در پاسخ باید گفت که Cmdlets در PowerShell بهمنظور انجام وظایف خاص در محیط ویندوز طراحی شدهاند. آنها معمولاً خروجی را به صورت آبجکتهای .NET برمیگردانند که این امر باعث میشود پردازش و انتقال اطلاعات بین Cmdlets بسیار آسان و قدرتمند باشد. برخی از رایجترین دستورات پاورشل عبارتاند از:
- Get-Command: این دستور لیستی از همه Cmdlets، توابع، فایلهای اسکریپت و سایر دستورات موجود در محیط PowerShell را نمایش میدهد.
- Get-Help: این دستور اطلاعات راهنمایی دربارهی استفاده از Cmdlets و سایر دستورات PowerShell را نشان میدهد.
- Get-Process: لیستی از فرایندهای در حال اجرا در سیستم را نمایش میدهد.
- Get-Service: اطلاعات دربارهی سرویسهای در حال اجرا یا متوقف در ویندوز را نمایش میدهد.
- Set-ExecutionPolicy: این دستور سیاست اجرایی برای اسکریپتهای PowerShell را تنظیم میکند، که امنیت اسکریپتهای در حال اجرا را کنترل میکند.
- Copy-Item: برای کپی کردن فایلها و پوشهها در محیطهای مختلف استفاده میشود.
- Select-Object: این دستور برای انتخاب خصوصیات خاصی از یک یا چند آبجکت استفاده میشود.
- Where-Object: برای فیلتر کردن آبجکتها بر اساس شرایط خاص مورد استفاده قرار میگیرد.
- Export-Csv: اطلاعات را به فایل CSV صادر میکند.
- Invoke-WebRequest: برای ارسال درخواستهای HTTP و پردازش پاسخهای وب استفاده میشود.