جدول محتوایی
در این مقاله به نحوه استفاده و آموزش پاورشل خواهیم پرداخت با ما همراه باشید.
PowerShell چیست؟
Windows PowerShell یک موتور اتوماسیون شی گرا و زبان برنامه نویسی است. این عمدتا برای متخصصان فناوری اطلاعات و مدیران سیستم طراحی شده است تا مدیریت سیستم عامل ویندوز و سایر برنامه ها را کنترل و خودکار کند. مفاهیم جدید قانعکنندهای را برای گسترش دانش و اسکریپتهایی که در Windows Command Prompt و Windows Script Host ایجاد کردهاید، ارائه میکند.
این ترکیبی از انعطافپذیری اسکریپتنویسی، سرعت خط فرمان، و قدرت یک ابزار مدیریت مبتنی بر رابط کاربری گرافیکی است. این به شما امکان می دهد تا با کمک به مدیر سیستم برای حذف ساعات کار دستی آینده، مشکلات را به طور موثر حل کنید. ما تمام جنبه های مهمی که برای یادگیری PowerShell باید بدانید را بررسی می کنیم.
چرا از Powershell استفاده کنیم؟
در اینجا، چند دلیل مهم برای استفاده از Powershell آورده شده است :
Powershell یک تجربه خط فرمان یکپارچه را برای سیستم عامل ارائه می دهد
PowerShell امکان دسترسی کامل به تمام انواع موجود در فریم ورک دات نت را فراهم می کند
مورد اعتماد مدیران سیستم
PowerShell یک راه ساده برای دستکاری اجزای سرور و ایستگاه کاری است
با ایجاد یک نحو ساده تر، به سمت مدیران سیستم هدایت می شود
PowerShell از اجرای VBScript یا سایر زبان های اسکریپت ایمن تر است
تاریخچه پاورشل
PowerShell اولین نسخه 1.0 در سال 2006 منتشر شد. امروز، PowerShell در نسخه 7.2 است. با گذشت سال و نسخه، قابلیت ها و محیط میزبانی PowerShell به طور قابل توجهی رشد کرد.
اجازه دهید قبل از آموزش پاورشل تاریخچه پاورشل را ببینید:
PowerShell نسخه 1 از مدیریت محلی ویندوز سرور 2003 پشتیبانی می کند
PowerShell 2.0 با Windows 7 و Windows Server 2008 R2 ادغام شد. این نسخه از راه دور پشتیبانی می کند و قابلیت های PowerShell مانند تراکنش ها، کارهای پس زمینه، رویدادها، اشکال زدایی و غیره را افزایش می دهد.
PowerShell 3.0 به عنوان بخشی داخلی از چارچوب مدیریت ویندوز منتشر شد. بر روی ویندوز 8 و ویندوز سرور 2012 نصب شده است. می توانید کارهای برنامه ریزی شده، اتصال به جلسه، بارگیری خودکار ماژول و غیره را اضافه کنید و برنامه ریزی کنید.
PowerShell 4.0 با Windows 8.1 و Windows Server 2012 R2 عرضه شد. در این نسخه پشتیبانی از پیکربندی حالت دلخواه، اشکال زدایی پیشرفته، تشخیص شبکه اضافه شده است.
PowerShell 5.0 به عنوان بخشی داخلی از چارچوب مدیریت ویندوز 5 منتشر شد. ویژگی های ارائه شده در این نسخه عبارتند از اشکال زدایی از راه دور، تعریف کلاس ها، شمارش دات نت و غیره.
PowerShell 7.2 منتشر شد. این بر روی دات نت 6.0 ساخته شده است. این نسخه اپراتورهای جدید، نمای خطای ساده و پویا، اعلان های خودکار نسخه جدید و غیره را ارائه می دهد.
ویژگی های Powershell
PowerShell Remoting: PowerShell اجازه می دهد تا اسکریپت ها و cmdlet ها را در یک ماشین راه دور فراخوانی کنید.
پروسه های پس زمینه : به شما کمک می کند تا اسکریپت ها را به صورت ناهمزمان فراخوانی کنید. شما می توانید کارهای خود را بر روی ماشین محلی یا چندین ماشین از راه دور اجرا کنید.
تراکنش ها: cmdlet را فعال کنید و به توسعه دهندگان اجازه انجام کار را می دهد
Evening: این دستور به شما کمک می کند تا به رویدادهای مدیریت و سیستم گوش دهید، فوروارد کنید و عمل کنید.
انتقال فایل شبکه: Powershell پشتیبانی بومی را برای انتقال فایلهای اولویتدار، ناهمزمان، درنگ، بین ماشینها با استفاده از فناوری سرویس انتقال هوشمند پسزمینه (BITS) ارائه میکند.
نحوه راه اندازی PowerShell
اکنون در این آموزش اسکریپت پاورشل، نحوه راه اندازی Powershell را در سیستم عامل ویندوز خواهیم آموخت.
PowerShell در تمام آخرین نسخه های ویندوز از قبل نصب شده است. ما باید PowerShell را راه اندازی کنیم تا مراحل داده شده را دنبال کنیم:
مرحله 1 ) PowerShell را در ویندوز جستجو کنید. انتخاب و کلیک کنید.
مرحله 2 ) پنجره Power Shell باز می شود
PowerShell Cmdlet
یک cmdlet که Command let is a نیز نامیده می شود یک دستور سبک وزن است که در محیط Window base PowerShell برای آموزش پاورشل استفاده می شود. PowerShell این cmdlet ها را در خط فرمان فراخوانی می کند. با استفاده از PowerShell APIS می توانید دستور cmdlets را ایجاد و فراخوانی کنید.
Cmdlet در مقابل فرمان:
Cmdlet ها به روش های زیر با دستورات موجود در سایر محیط های پوسته فرمان متفاوت هستند؟
Cmdlet ها اشیاء کلاس NET Framework هستند که نمی توان آنها را به طور جداگانه اجرا کرد
Cmdlet ها می توانند از چند خط کد بسازند
تجزیه، قالببندی خروجی و ارائه خطا توسط cmdletها کنترل نمیشوند
فرآیند Cmdlets روی اشیاء کار می کند. بنابراین جریان متن و اشیاء را نمی توان به عنوان خروجی برای خط لوله ارسال کرد
Cmdlet ها مبتنی بر رکورد هستند، بنابراین یک شی واحد را در یک زمان پردازش می کنند
بیشتر قابلیتهای PowerShell از Cmdlet میآیند که همیشه در قالب فعل-اسم و نه جمع است. علاوه بر این، Cmdlet اشیاء را برمی گرداند نه متن. cmdlet مجموعه ای از دستورات است که بیش از یک خط است و در یک فایل متنی با پسوند ps1. ذخیره می شود.
یک cmdlet همیشه از یک فعل و یک اسم تشکیل شده است که با خط فاصله از هم جدا می شوند. برخی از افعالی که برای یادگیری PowerShell استفاده می کنید عبارتند از :
Get – بدست آوردن چیزی
Start – اجرا کردن چیزی
Out – خروجی چیزی
Stop – برای متوقف کردن چیزی که در حال اجرا است
Set – برای تعریف چیزی
New – ایجاد چیزی
دستورات پاورشل
در زیر لیستی از دستورات مهم PowerShell آمده است:
Get-Help : راهنمایی در مورد دستورات و موضوعات PowerShell
مثال: نمایش اطلاعات راهنما در مورد دستور Format-Table
Get-Help Format-Table
Get-Command: اطلاعاتی در مورد هر چیزی که می توان فراخوانی کرد را دریافت کنید.
مثال Powershell Script : برای ایجاد لیستی از cmdlet ها، توابع نصب شده در دستگاه شما
Get-Command
Get-Service : تمام cmdlet ها را با کلمه “service” در آن پیدا می کند.
مثال: دریافت تمام سرویس هایی که با “vm” شروع می شوند
Get-Service "vm*"
Get- Member : نشان می دهد که با یک شی چه کاری می توان انجام داد.
مثال: اعضای فرآیندهای vm را دریافت کنید.
Get-Service "vm*" | Get-Member
سایر دستورات:
دریافت ماژول بسته های دستورات را نشان می دهد
دریافت محتوا این cmdlet می تواند یک فایل را بگیرد و محتویات آن را پردازش کند و کاری با آن انجام دهد
Get-get تمام cmdlet هایی را که با کلمه “get- شروع می شوند” پیدا می کند.
مثال: یک پوشه ایجاد کنید
New-Item -Path 'X:\Guru99' -ItemType Directory
Output
Powershell Data types :
متغیرهای ویژه آموزش پاورشل
متغیر ویژه | شرح |
---|---|
$Error | آرایه ای از اشیاء خطا که جدیدترین خطاها را نمایش می دهد |
$Host | نمایش نام برنامه میزبانی فعلی |
$Profile | کل مسیر نمایه کاربر را برای پوسته پیش فرض ذخیره می کند |
$PID | شناسه فرآیند را ذخیره می کند |
$PSUICulture | این نام فرهنگ رابط کاربری فعلی را دارد. |
$NULL | حاوی مقدار خالی یا NULL است. |
$False | حاوی مقدار FALSE است |
$True | حاوی مقدار TRUE است |
اسکریپت های پاورشل
اسکریپت های پاورشل در فایل ps1. ذخیره می شوند. به طور پیش فرض، نمی توانید یک اسکریپت را فقط با دوبار کلیک کردن روی یک فایل اجرا کنید. این سیستم شما را از آسیب تصادفی محافظت می کند. برای اجرای یک اسکریپت:
مرحله 1: روی آن کلیک راست کرده و روی Run with PowerShell کلیک کنید.
علاوه بر این، سیاستی وجود دارد که اجرای اسکریپت را محدود می کند. با اجرای دستور Get-ExecutionPolicy می توانید این سیاست را مشاهده کنید.
یکی از خروجی های زیر را دریافت خواهید کرد :
محدود – هیچ اسکریپتی مجاز نیست. این تنظیمات پیشفرض است، بنابراین اولین بار زمانی که دستور را اجرا میکنید نمایش داده میشود.
AllSigned— می توانید اسکریپت های امضا شده توسط یک توسعه دهنده مورد اعتماد را اجرا کنید. با کمک این تنظیم، یک اسکریپت تأیید می کند که می خواهید آن را قبل از اجرا اجرا کنید.
RemoteSigned- می توانید اسکریپت های خود یا امضا شده توسط یک توسعه دهنده مورد اعتماد را اجرا کنید.
نامحدود – می توانید هر اسکریپتی را که می خواهید اجرا کنید اجرا کنید
مراحل تغییر سیاست اجرا
مرحله 1 ) یک فرمان PowerShell بالا را باز کنید. روی PowerShell کلیک راست کرده و Run as Administrator را اجرا کنید.
مرحله 2 ) دستورات زیر را وارد کنید
- Get-ExecutionPolicy
- Set-executionpolicy unrestricted
- Enter Y in the prompt
- Get-ExecutionPolicy
اولین اسکریپت پاورشل
برای آموزش پاورشل
در یک دفترچه یادداشت دستور زیر را بنویسید.
Write-Host "Hello, Guru99!"
اسکریپت های پاورشل پسوند ps1 دارند. فایل را به عنوان FirstScript.ps1 ذخیره کنید.
در Powershell، اسکریپت را با استفاده از دستور فراخوانی کنید.
& "X:\FirstScript.ps1"
PowerShell ISE چیست؟
Windows PowerShell Integrated Scripting Environment (ISE) ویرایشگر پیش فرض Windows PowerShell است. در این ISE، میتوانید دستورات، تست نویسنده و اسکریپتهای اشکالزدایی را در یک محیط رابط کاربری گرافیکی مبتنی بر پنجره اجرا کنید. شما می توانید ویرایش چند خطی، رنگ آمیزی نحو، تکمیل برگه، اجرای انتخابی و بسیاری موارد دیگر را انجام دهید.
Windows PowerShell ISE همچنین به شما اجازه می دهد تا دستورات را در یک صفحه کنسول اجرا کنید. با این حال، از پنجره هایی نیز پشتیبانی می کند که می توانید از آنها برای مشاهده همزمان کد منبع اسکریپت و سایر ابزارهایی که می توانید به ISE وصل کنید استفاده کنید.
حتی می توانید چندین پنجره اسکریپت را همزمان باز کنید. این به طور خاص زمانی مفید است که در حال اشکال زدایی اسکریپتی هستید که از توابع تعریف شده در اسکریپت ها یا ماژول های دیگر استفاده می کند.
همان اسکریپتی که در notepad ایجاد کردیم، می توان در ISE ایجاد کرد
کد را در ویرایشگر قرار دهید
ذخیره اسکریپت
برای اجرای اسکریپت از F5 استفاده کنید
خروجی را در کنسول مشاهده کنید.
نمونه 2 :
کد زیر حافظه مجازی رایگان را در دستگاه شما می دهد
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
مفاهیم آموزش پاورشل
اکنون در این آموزش پاورشل برای مبتدیان، با مفاهیم مهم پاورشل آشنا خواهیم شد:
Cmdlet ها Cmdlet دستور ساخت هستند که به زبان های .net مانند VB یا C# نوشته شده اند. این به توسعه دهندگان این امکان را می دهد که مجموعه cmdlet ها را با بارگیری و نوشتن اسنپ های PowerShell گسترش دهند.
توابع توابع دستوراتی هستند که به زبان PowerShell نوشته می شوند. می توان آن را بدون استفاده از سایر IDE ها مانند ویژوال استودیو و توسعه دهندگان توسعه داد.
اسکریپت ها اسکریپت ها فایل های متنی روی دیسک با پسوند ps1. هستند
برنامه ها برنامه های کاربردی برنامه های ویندوز موجود هستند.
چه میشود اگر به cmdlet بگوید که اجرا نشود، اما به شما بگوید که اگر cmdlet اجرا شود چه اتفاقی میافتد.
قبل از اجرای دستور دستور دستور cmdlet را تائید کنید.
Verbose سطح بالاتری از جزئیات را ارائه می دهد.
Debug به cmdlet دستور می دهد تا اطلاعات اشکال زدایی را ارائه دهد.
ErrorAction به cmdlet دستور می دهد تا در صورت بروز خطا، عمل خاصی را انجام دهد. اقدامات مجاز ادامه می یابد، متوقف می شود، بی سر و صدا – ادامه می دهد و پرس و جو می کند.
ErrorVariable متغیری را مشخص می کند که اطلاعات خطا را در خود نگه می دارد.
OutVariable به cmdlet می گوید که از یک متغیر خاص برای نگهداری اطلاعات خروجی استفاده کند
OutBuffer به cmdlet دستور می دهد که تعداد خاصی از اشیاء را قبل از فراخوانی cmdlet بعدی در خط لوله نگه دارد.
ممنونم که مثل همیشه همراه ما بودید موفق و سربلند باشید D: