آموزش پاورشل (Powershell)

دسته بندی: آموزش ویندوز

پاورشل

آنچه در این صفحه می خوانید:

معرفی پاورشل

پاورشل یک فریمورک اتوماسیون وظیفه و مدیریت پیکربندی مایکروسافت است که از یک پوسته خط فرمان و یک زبان نوشتاری مرتبط تشکیل شده است. در واقع ویندوز پاورشل زبان برنامه نویسی مبتنی بر وظیفه است که به خصوص برای مدیریت سیستم طراحی شده است. ویندوز PowerShell که در فریمورک دات نت ساخته شده است، به متخصصان IT و کاربران قدرت کمک می کند تا مدیریت سیستم عامل و برنامه های Windows را که در ویندوز اجرا می شود، کنترل و خودکار کنند.

در PowerShell، وظایف اداری عموماً توسط cmdlets انجام می شود (دستورات تلفظ شده)، که به صورت تخصصی کلاس های دات نت برای اجرای یک عملیات خاص هستند. این کارها با دسترسی به داده ها در مخزن های داده مختلف، مانند سیستم فایل یا رجیستری، که از طریق ارائه دهندگان در دسترس PowerShell قرار دارند، کار می کنند. توسعه دهندگان شخص ثالث می توانند cmdlets و ارائه دهندگان را به PowerShell اضافه کنند. Cddlets ممکن است توسط اسکریپت ها استفاده شود و اسکریپت ها ممکن است در ماژول ها بسته بندی شوند.

PowerShell امکان دسترسی کامل به COM و WMI را فراهم می کند و به مدیران این امکان را می دهد تا وظایف اداری را در هر دو سیستم ویندوز محلی و از راه دور و همچنین مدیریت WS و مدیریت CIM سیستم های از راه دور لینوکس و دستگاه های شبکه را انجام دهند. PowerShell همچنین یک API هاستینگ فراهم می کند که با استفاده از آن می توان زمان اجرای PowerShell را در برنامه های دیگر تعبیه کرد. سپس این برنامه ها می توانند از قابلیت PowerShell برای اجرای برخی عملیات ها، از جمله مواردی که از طریق رابط گرافیکی در معرض دید قرار گرفته اند، استفاده کنند. این قابلیت توسط مایکروسافت Exchange Server 2007 برای افشای عملکرد مدیریتی خود به عنوان cmdlet و ارائه دهندگان PowerShell و اجرای ابزارهای مدیریت گرافیکی به عنوان میزبان های PowerShell که به فراخور cmdlet های لازم به کار رفته اند، استفاده شده است. سایر برنامه های مایکروسافت از جمله Microsoft SQL Server 2008 همچنین رابط مدیریت خود را از طریق cmdlets PowerShell در معرض نمایش قرار می دهند.

PowerShell شامل راهنمایی گسترده و کنسولی مبتنی بر خود (مشابه صفحات انسان در پوسته های یونیکس) است که از طریق Get-Help قابل دسترسی است. محتویات محلی راهنما را می توان از طریق cmdlet به روزرسانی و راهنمایی ها را از اینترنت بازیابی کرد. از طرف دیگر، کمک از وب می تواند به صورت مورد به مورد از طریق سوئیچ online- به Get-Help بدست آید.

معماری پاورشل

توسعه دهندگان PowerShell دستور زبان اصلی ابزار را بر روی پوسته POSIX 1003.2 Korn قرار دادند. Windows PowerShell می تواند چهار نوع دستورات نامگذاری شده را اجرا کند:

  • cmdlets (برنامه های فریمورک دات نت طراحی شده برای تعامل با PowerShell)
  • اسکریپت های PowerShell (فایل هایی با پسوند ps1.)
  • توابع PowerShell
  • برنامه های اجرایی مستقل

اگر دستور یک برنامه اجرایی مستقل باشد، PowerShell آن را در فرآیند جداگانه راه اندازی می کند. اگر cmdlet باشد، در فرآیند PowerShell اجرا می شود. پاور شل رابط خط فرمان تعاملی فراهم می کند، که در آن می توان دستورات را وارد کرد و خروجی آنها نمایش داده شد. رابط کاربری، بر اساس کنسول win32، تکمیل برگه قابل تنظیم را ارائه می دهد. PowerShell امکان ایجاد نام های مستعار برای cmdlets را فراهم می کند، که پاور شل به صورت متنی به فراخوانی دستورات اصلی تبدیل می کند. PowerShell از پارامترهای نامگذاری شده و موقعیتی برای دستورات پشتیبانی می کند. در اجرای یک cmdlet، کار اتصال مقدار آرگومان به پارامتر توسط خود پاور شل انجام می شود، اما برای اجرا های خارجی، آرگومان ها توسط مجری خارجی مستقل از تفسیر پاور شل تجزیه می شوند.

PowerShell Extended Type System مبتنی بر نوع سیستم دات نت است، اما با معنای گسترده (به عنوان مثال مجموعه دارایی و قابلیت توسعه شخص ثالث). به عنوان مثال، با افشای تنها زیرمجموعه ای از فیلدهای داده، خصوصیات و روش ها و همچنین با مشخص کردن قالب بندی و رفتار مرتب سازی، امکان ایجاد نماهای مختلف از اشیا را فراهم می کند. این نماها با استفاده از فایلهای پیکربندی مبتنی بر XML به شی اصلی منتقل می شوند.

Cmdlets

Cmdlets دستورات تخصصی در محیط PowerShell هستند که عملکردهای خاصی را پیاده سازی می کنند. این دستورات نیتیو در پشته پاور شل هستند. Cmdlets از الگوی نامگذاری Verb-Pron مانند Get-ChildItem پیروی می کنند و به آنها در توصیف خود کمک می کند. Cmdlets نتایج خود را به عنوان اشیاء به دست می آورد و همچنین می تواند اشیا را به عنوان ورودی دریافت کند و آنها را برای استفاده به عنوان گیرنده در pipeline مناسب می کند. اگر cmdlet از اشیاء مختلفی خارج شود، هر شی از مجموعه، قبل از پردازش جسم بعدی از طریق کل pipeline منتقل می شود.

کاربرد پاورشل

PowerShell یک Windows Shell جدید است که توسط مایکروسافت ساخته شده است و تقریباً در هر سیستم عامل ویندوز (کلاینت و سرور) این روزها در دسترس است. این موارد کاربردهای مهم زیر را دارد:

  • PowerShell به شما در اتوماسیون کارهای مختلف کمک می کند. فرض کنید اگر مایل هستید ساعت 12 نیمه شب ماشین هایتان را به طور خودکار خاموش کنید، می توانید از اسکریپت PowerShell استفاده کنید. یک اسکریپت PowerShell بنویسید و آن را با استفاده از برنامه ریز کار تنظیم کنید.
  • PowerShell به مهندسان سیستم در کارهای روزمره خود کمک می کند و زندگی آنها را در صورت انجام کارهای تکراری و تکراری فرض می کند که تصور می کند هزاران کاربر AD یا ایجاد غیرفعال یا حذف حساب کاربری خود ایجاد می کند.
  • پیکربندی پیچیده را می توان در چند cmdlet PowerShell انجام داد. فرض کنید شما صدها دستگاه مشتری دارید و دوست دارید آنها را به دامنه فهرست فعال بپیوندید یا دوست دارید همه دستگاههای حذف شده متصل به سیستمهای خود را بدانید. شما می توانید آن را در چند سانتی متر انجام دهید، بدون PowerShell ممکن است مجبور شوید تعدادی از ویندوزها را برای انجام کار انجام دهید.
  • PowerShell از cmdlets استفاده می کند، نه از دستورات. اکنون، cmdlets فقط روش دیگری برای فراخوانی همان چیز نیست، بلکه آنها عملکردهای پیچیده مدیریت سیستم مانند مدیریت رجیستری و ابزار مدیریت ویندوز (WMI) را در اختیار کاربر قرار می دهند. این امر آنها را بسیار مفیدتر از اعلان فرمان می کند.
  • PowerShell شی گرا است. داده های حاصل از cmdlets اشیا هستند (نمونه ای از چگونگی جهت گیری شی باعث می شود PowerShell جذاب شود) و نه فقط متن. این انعطاف پذیری بیشتری را برای بازی با داده های پیچیده فراهم می کند.
  • PowerShell با استفاده از فریمورک دات نت توسعه داده شده است. این به اسکریپت های PowerShell اجازه می دهد تا از رابط های دات نت استفاده کنند و ویژگی هایی را که به صورت پیش فرض از طریق cmdlet ارائه نمی شوند، گسترش دهند. راه دیگر نیز از طریق تعبیه اسکریپت های PowerShell با کد NET. امکان پذیر است.

دستورات پاورشل

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

مثال اسکریپت پاورشل

PowerShell کشف ویژگی های آن را آسان می کند. به عنوان مثال، برای یافتن لیستی از cmdlet هایی که سرویس های ویندوز را مشاهده و تغییر می دهند:

Get-Command *-Service

بعد از اینکه بفهمید کدام cmdlet یک کار را انجام می دهد، می توانید با استفاده از cmdlet Get-Help اطلاعات بیشتری کسب کنید. به عنوان مثال، برای نمایش راهنمایی در مورد cmdlet Get-Service تایپ کنید:

Get-Help Get-Service

بیشتر cmdlet ها اشیایی را که می توانند دستکاری شده و سپس به عنوان متنی برای نمایش داده شوند، باز می گردانند برای درک کامل خروجی یک mdlet، خروجی را به cmdlet Get-Member وصل کنید. به عنوان مثال، دستور زیر اطلاعات مربوط به اعضای شیء را توسط cmdlet Get-Service نمایش می دهد.

Get-Service | Get-Member

آیا این نوشته را دوست داشتید؟
linkedin-powershell-7-essential-training

آموزش اساسی PowerShell 7


مدرس Liam Cleary به شما نشان می دهد که چگونه اطمینان حاصل کنید که از گزینه مدیر در PowerShell استفاده می کنید، چگونه کنسول PowerShell تغییر دهید و محی...

1399/12/26 4220 بازدید زیرنویس دارد
pluralsight-powershell-unplugged-with-jeffrey-snover-and-jason-helmick

دوره PowerShell Unplugged با Jeffrey Snover و Jason Helmick


برای به روزرسانی سالانه PowerShell، به Jeffrey Snover و Jason Helmick بپیوندید. در این کنفرانس، جدیدترین و جالب ترین ویژگی های PowerShell را یاد بگیری...

1399/12/19 322 بازدید
pluralsight-powershell-devops-playbook

آموزش پلی بوک PowerShell DevOps


در این دوره، شما می آموزید که چگونه مهارت های PowerShell خود را در طیف گسترده ای از موارد استفاده در عرصه DevOps بکار بگیرید. شما با اجرای اسکریپت های...

1399/10/07 1110 بازدید
pluralsight-powershell-playbook-automating-active-directory

آموزش پلی بوک PowerShell: خودکارسازی اکتیو دایرکتوری


در این دوره، شما نحوه خودکارسازی مدیریت Active Directory را یاد خواهید گرفت. در ابتدا، نحوه مدیریت چرخه عمر کاربر را یاد خواهید گرفت. سپس، نحوه نگهدار...

1399/09/17 1337 بازدید
pluralsight-getting-started-with-powershell-core-on-linux-and-macos

شروع کار با PowerShell Core روی Linux و macOS


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

1399/06/16 1327 بازدید
linkedin-azure-for-developers-implementing-vms-and-batch-jobs

آژور برای توسعه دهندگان: پیاده سازی ماشین های مجازی و Batch Job


نحوه استقرار ماشین های مجازی در Azure و پیاده سازی Batch jobs با استفاده از سرویس های Azure Batch را کشف کنید. در این دوره، مدرس Tiberiu Covaci عناصر ...

1399/06/10 693 بازدید زیرنویس دارد
linkedin-microsoft-office-365-administration

آموزش مدیریت مایکروسافت آفیس 365


در این دوره با نحوه مدیریت پیاده سازی مایکروسافت آفیس 365 سازمان خود از جمله صندوق پستی Exchange و SharePoint و Skype تجاری، تنظیم دامنه‌های ایمیل، اح...

1398/09/23 2026 بازدید زیرنویس دارد
skillshare-the-complete-powershell-training-for-beginners

آموزش کامل پاورشل برای مبتدیان


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

1398/09/09 3721 بازدید
skillshare-stepping-into-windows-powershell-online-self-learning

آموزش گام به گام Windows PowerShell - خودآموز آنلاین


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

1398/09/07 12000 بازدید
packtpub-powershell-core-recipes

آموزش دستورالعمل های پاورشل


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

1398/06/10 2089 بازدید
skillshare-the-advanced-powershell-scripting-crash-course-2019-learn-powershell-in-less-than-3-hours

آموزش پیشرفته اسکریپت نویسی پاورشل 2019 در کمتر از 3 ساعت


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

1398/06/03 2952 بازدید
infiniteskills-advanced-windows-powershell-scripting

اسکریپت نویسی پیشرفته در پاورشل (PowerShell)


آموزش تصویری اسکریپت نویسی پیشرفته در پاورشل (Powershell)...

1398/02/03 7410 بازدید
packtpub-powershell-toolmaking-video

آموزش ساخت ابزار PowerShell


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

1397/11/21 2063 بازدید
packtpub-mastering-system-administration-with-powershell-6-x-video

آموزش تسلط بر مدیریت سیستم با PowerShell 6.x


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

1397/11/21 2190 بازدید
packtpub-hands-on-powershell-for-active-directory-video

دوره پاورشل برای اکتیو دایرکتوری


پاورشل به کارآمد ترین ابزار مدیریت Active Directory مایکروسافت تبدیل شده است. توانایی آن برای حل مشکلات و تبدیل راه حل به یک ابزار جدید یا تسک خودکار،...

1397/08/03 3340 بازدید
pluralsight-managing-sharepoint-2016-with-powershell

آموزش مدیریت شیرپوینت 2016 با پاورشل


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

1397/07/24 1500 بازدید
lynda-automation-with-azure-powershell-and-arm-templates

آموزش خودکارسازی با Azure Powershell و قالب های ARM 


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

1397/06/21 1784 بازدید زیرنویس دارد
pluralsight-automating-cloud-operations-with-aws-tools-for-windows-powershell

آموزش خودکارسازی عملیات ابر با ابزارهای AWS برای ویندوز پاورشل


با افزایش رایانش ابری، خودکار سازی در IT اهمیت زیادی دارد. اگر سازمان شما از Microsoft Windows و AWS  استفاده می کند، شاید بخواهید بدانید بهترین رویکر...

1397/05/23 1695 بازدید
pluralsight-powershell-playbook-office-365

آموزش مدیریت Office 365 با PowerShell


در حالی که مایکروسافت یک رابط کاربری برای Office 365 ارائه می دهد، اما همه تنظیمات در داخل آن موجود است؛ برخی از آنها فقط از طریق PowerShell در دسترس ...

1397/04/01 1747 بازدید
ine-windows-powershell-for-beginners

آموزش Windows PowerShell برای مبتدیان


این دوره دلایل فنی و تئوری برای استفاده از PowerShell را توضیح می دهد درحالیکه اسکریپت نویسی را نیز پوشش می دهد. در این دوره از آخرین نسخه پاورشل یعنی...

1397/03/05 3648 بازدید