PowerShell موجود در سیستمعامل ویندوز، یکی از ابزارهای اتوماسیون وظایف است که توسط مایکروسافت توسعه داده شده تا بتواند حجم کاری مدیران و کاربران را کاهش دهد. این قابلیت به شما کمک میکند تا وظایف و پردازشهای ساده ویندوز را خودکارسازی کنید. بدین ترتیب بهتر میتوانید بر روی کارهای پیچیدهتر تمرکز کنید.
بسیاری از کاربران سیستمعامل ویندوز با Command Prompt آشنایی دارند، اما شاید این قضیه در رابطه با PowerShell صدق نکند. در ادامه بیشتر به دومی خواهیم پرداخت.
PowerShell در ویندوز چیست؟
پیش از هر چیز بهتر است که از خود بپرسیم، Shell چیست؟ Shell یک برنامه کامپیوتری بوده که دستورات را از طریق صفحهکلید دریافت کرده، آنها را پردازش میکند و سپس جهت اجرا به سیستمعامل میفرستد. در واقع Shell نقش یک رابط را در بین شما و سیستمعامل بازی میکند. Shell میتواند دارای رابط کاربری گرافیکی (GUI) و یا رابط خطی (CLI) باشد.
Shell از زمان عرضه سیستمعامل Multics در سال 1969 وجود داشته و ویندوز نیز در نوامبر 1985، نسخه Shell مختص به خود را معرفی کرد. Shell اولیه، ابزاری مفید جهت مدیریت فایلها بود و MS-DOS Executive نامیده میشد. توسعه این ابزار همچنان پس از انتشار اولیه ادامه داشت.
پیشتر کاربران جهت مدیریت سیستم و اتوماسیون از ابزارهای مختلفی استفاده میکردند تا اینکه در سال 2006، بهبودی عظیم تحت عنوان PowerShell منتشر شد. اکنون PowerShell به کاربران اجازه میدهد که کارهایی گسترده از قبیل خودکارسازی وظایف تکراری، مدیریت شبکه، تا مواردی که نیازمند دقت و خلاقیت بیشتری هستند (همانند طراحی وب) را انجام دهند. بدین ترتیب هم در وقت خود صرفهجویی کرده و هم اینکه میتوانید کنترل بیشتری بر سیستمعامل و پردازشهای آن داشته باشید.
PowerShell Cmdlet چیست؟
Cmdlet یکی از مهمترین جنبههای PowerShell است. Cmdletها دستورات PowerShell قدرتمندی هستند که از طریق آنها میتوانید اعمال ساده همانند کپی کردن تا اعمال پیشرفتهتر را در PowerShell انجام دهید. مثلا دستور Get-Help مفیدترین دستور در این رابطه بوده و با استفاده از آن میتوانید ببینید که یک Cmdlet خاص چه کارهایی انجام داده، چه پارامترهایی دارد و همچنین با روشهای گوناگون استفاده از آن نیز آشنا شوید.
دستور Get-Command نیز جهت رفع مشکلات PowerShell به کار میرود. این دستور تمامی دستورات نصب شده بر روی سیستم شما از جمله Cmdletها، عملکردها، نامهای مستعار، فیلترها، اسکریپتها و اپلیکیشنها را نمایش میدهد. در هنگام استفاده از این دستور به همراه یک پارامتر، تمامی دستورات خاص مرتبط با آن پارامتر نیز به شما نمایش داده خواهند شد.
مثلا دستور زیر، انواع مختلف دستورهایی را که بر روی کامپیوتر شما نصب شدهاند، گرفته و آنها را نمایش میدهد:
* Get-Command
Get-Command به همراه پارامتر ListImported، تنها دستورات را از Session فعلی دریافت میکند:
Get-Command -ListImported

شیوه اجرای Windows PowerShell

جهت اجرای PowerShell باید آن را در منوی استارت جستوجو کرده و سپس بهصورت Run as administrator اجرا کنید. البته با فشار دادن کلیدهای “Windows key + R”، تایپ واژه “powershell” و سپس فشار دادن “Enter” نیز میتوانید همین کار را انجام دهید.
نحوه استفاده از پاورشل
همانطور که گفتیم، PowerShell ابزاری است که به شما در زمینه خودکارسازی وظایف تکراری ویندوز و مدیریت وظایف اجرایی و به طبع، صرفهجویی در زمان، کمک میکند. در زیر به مهمترین دستورات PowerShell میپردازیم.
1. ایجاد اسکریپت
اسکریپتها مجموعهای از دستورات بوده و در واقع بخشی از یک برنامه بزرگتر به حساب میآیند. با استفاده از PowerShell میتوانید نسبت به ایجاد و استفاده مجدد از اسکریپتها اقدام کنید. سادهترین راه نیز در این رابطه، ایجاد یک اسکریپت PowerShell با استفاده از Notepad است.
واژه “notepad” را در منوی استارت جستوجو و سپس اجرا کنید.
در Notepad باید اسکریپت موردنظر را وارد کنید، مثلا:
“.Write-Host “I make memes; Therefore I am
در ادامه بر روی “File” و سپس “Save As” کلیک کرده، نامی را وارد کنید و سپس “Save” را برگزینید.
جهت اجرای اسکریپت موردنظر نیز باید PowerShell را بهصورت Administrator اجرا، دستور زیر را تایپ و در نهایت کلید “Enter” را فشار دهید:
Set-ExecutionPolicy RemoteSigned
بدین ترتیب میتوانید سیاست اجرا (Execution Policy) در دستگاه خود را تغییر داده (بهصورت دائمی) و بنابراین اسکریپتها را بر روی PowerShell اجرا کنید. سیاست اجرا یک قابلیت امنیتی بوده و از اجرای اسکریپتهای مخرب، جلوگیری میکند.
در نهایت “A” را تایپ و سپس “Enter” را فشار دهید. دستور زیر را تایپ کنید، البته جای “mshaa” را با نام کاربری خود عوض کنید.
& C:\Users\mshaa\Desktop”
“cript.txt
اگر دستورات را بهترتیب وارد کرده باشید، آنگاه اسکریپت موردنظر نیز بدون مشکل اجرا خواهد شد.

اگر PowerShell را بهصورت Administrator اجرا نکنید، آنگاه نخواهید توانست که سیاست اجرا را تغییر دهید. در این صورت، اجرای برنامه شما متوقف شده و رابط کاربری PowerShell نیز ظاهری همانند تصویر زیر خواهد داشت.

2. حذف محتوای یک فایل خاص
با استفاده از دستور clear-content میتوانید محتوای قدیمی یک فایل را حذف کرده، اما خود فایل را دستنخورده باقی بگذارید.
Clear-Content C:\Temp\TestFile.txt
مسیر فایل را به مسیر فایل موردنظر خود، تغییر دهید.
3. اجرای دستور در یک کامپیوتر از راه دور
قابلیت اجرای یک دستور بر روی یک یا چند کامپیوتر از راه دور را PowerShell Remoting مینامند. در این رابطه به یک کامپیوتر در طرف خود و همچنین یک اتصال اینترنت پایدار نیاز دارید.
پیش از هر چیز باید اتصال مابین کامپیوترها را برقرار کنید. با استفاده از دستور PSSession میتوانید دستورهای از راه دور را اجرا کنید.
Enter-PSSession -ComputerName RemotePCName -Credential UserID
پس از اتصال به کامپیوتر موردنظر میتوانید دستورات را همانند یک کامپیوتر محلی، اجرا کنید.
جهت اجرای یک دستور بر روی چندین کامپیوتر از راه دور، باید دستور زیر را اجرا کنید:
Invoke-Command -ComputerName Server01, Server02 -FilePath c:\Scripts\DiskCollect.ps1
این دستور اسکریپت DiskCollect.ps1 را بر روی کامپیوتر از راه دور، Server01 و Server02 اجرا میکند. جهت دسترسی به دستورات از راه دور بیشتر میتوانید به وبسایت مایکروسافت سر بزنید.
4. اسکن جهت پیدا کردن بدافزارها
جهت اجرای یک اسکن سریع باید دستور زیر را در PowerShell وارد کرده و سپس “Enter” را فشار دهید:
Start-MpScan -ScanType QuickScan
جهت اجرای یک اسکن کامل نیز باید دستور زیر را اجرا کنید:
Start-MpScan -ScanType FullScan
از آنجایی که اسکن کامل ممکن است که زمان زیادی به طول بینجامد، پس بهتر است که آن را در پسزمینه اجرا کنید. در این رابطه باید در عوض دستور زیر را استفاده کنید:
Start-MpScan -ScanType FullScan -AsJob
5. کار با فایلها و پوشهها
با استفاده از PowerShell ویندوز میتوانید با فایلها و پوشههای خود نیز کار کنید. از این تغییرات میتوان به انتقال، باز کردن، تغییر نام و … اشاره کرد. در اینجا نیز باید “mshaa” را با نام کاربری خود عوض کنید.
تغییر نام فایل و پوشهها
با استفاده از دستور Rename-Item در پاورشل میتوانید این کار را انجام دهید:
Rename-Item c:\Users\mshaa\Desktop\MemesAreLame.xls MemesAreCool.xls
انتقال فایل و پوشهها
در این رابطه نیز میتوانید از پاورشل کمک بگیرید.
Move-Item c:\Users\mshaa\Desktop\MemesAreLame.xls c:\Users\mshaa\Documents
باز کردن فایلها
با استفاده از دستور زیر میتوانید فایلهای تصادفی را بر روی کامپیوتر خود باز کنید:
Invoke-Item c:\MakeUseOf\HelloWorld.txt
با اعمال کمی تغییرات در دستور بالا میتوانید چندین فایل را بهصورت یکجا باز کنید.
Invoke-Item c:\MakeUseOf\*.txt
نام فایل موردنظر خود را به جای علامت “*” قرار داده تا بدین ترتیب دستور Invoke-Item، چندین فایل را بهصورت یکجا برای شما باز کند.
نوشته PowerShell در ویندوز چیست و چه کاربردی دارد؟ اولین بار در اخبار فناوری و موبایل پدیدار شد.