10 فرمان آسان PowerShell که همه کاربران ویندوز باید بدانند

پاورشل تمام کنترلی را که بر روی رایانه شخصی ویندوز خود نیاز دارید در اختیار شما قرار می دهد و یادگیری آن آسان است. بنابراین خط فرمان را رها کنید و از دستورات Windows PowerShell برای خودکارسازی آن وظایف اداری تکراری استفاده کنید.

آموزش PowerShell همچنین به شما یاد می دهد که چگونه اکثر لینوکس وظایف اداری را در داخل پوسته bash انجام دهید. PowerShell شبیه چیزی است که در اکثر لینوکس توزیع ها می‌بینید.

PowerShell چیست؟

Windows PowerShell یک رابط خط فرمان و زبان برنامه نویسی است که توسط مایکروسافت برای مدیران سیستم توسعه یافته است. اما برای استفاده از آن لازم نیست مدیر یا برنامه نویس باشید زیرا بسیار ساده تر از سایر زبان های برنامه نویسی است. این شبیه به انگلیسی معمولی است و همه می توانند آن را بفهمند و از آن برای مدیریت رایانه های خود استفاده کنند.

فرمان های مورد استفاده در Windows PowerShell به عنوان "cmdlets" شناخته می شوند. آنها به شما این امکان را می دهند که یک اقدام خاص یا مجموعه ای از اقدامات را در رایانه خود فعال کنید. این اقدامات می تواند ساده باشد، مانند ورود به یک شبکه بی سیم، یا پیچیده تر، مانند خودکار کردن کارهای تکراری خاص.

برای باز کردن PowerShell، دکمه شروع را فشار دهید، "powershell " را در کادر جستجو تایپ کنید و Windows PowerShell را انتخاب کنید. به رابط خط فرمان باز می‌شوید، جایی که آماده شروع تایپ دستورات هستید.

در این مقاله، به ده مورد از مفیدترین و آسان‌ترین دستورات PowerShell می‌پردازیم.

1. Get-Help

cmdlet Get-Help مکانی عالی برای شروع در PowerShell است. این یک نمای کلی از آنچه می توانید انجام دهید ارائه می دهد و همچنین زمانی که به اطلاعات بیشتری در مورد cmdlet خاصی نیاز دارید عالی است.

به سادگی پنجره PowerShell را باز کرده و Get-Help را تایپ کنید. این یک مرور کلی را باز می کند که به شما می آموزد PowerShell چیست و عملکرد و ساختار آن را درک خواهید کرد. همچنین می‌توانید مستقیماً از طریق رابط برای فایل‌های راهنمای پیشرفته‌تر به وب دسترسی داشته باشید. می توانید این فایل ها را برای استفاده بعدی دانلود کنید.

اما این پایان فرمان get-help نیست. نوع: 

دریافت کمک * 

PowerShell تمام cmdlet هایی را که می توانید در آن لحظه استفاده کنید فهرست می کند. لیست احتمالاً بزرگ خواهد بود و نیازی به یادگیری تمام cmdlet های نمایش داده شده ندارید. اما با خیال راحت آنها را بخوانید و تمام امکاناتی را که در اختیار دارید بررسی کنید..

نوع:

Get-Help

شما نیازی به براکت ندارید، به سادگی نام دستوری را که به آن علاقه دارید تایپ کنید، و این cmdlet اطلاعات اولیه در مورد آن را به شما می دهد. برای توضیح دقیق تر یک دستور، تایپ کنید:

Get-Help <نام فرمان>-کامل

اگر به مثالی از نحوه استفاده از یک نوع دستور خاص نیاز دارید:

Get-Help -مثال

2. Get-Command

آیا می خواهید اطلاعات مربوط به یک فرمان خاص یا مجموعه ای از دستورات را به سرعت بازیابی کنید؟ cmdlet Get-Command این کار را برای شما انجام می دهد. گزینه های زیادی در Get-Command وجود دارد، اما شما به عنوان یک کاربر اصلی PowerShell، به اکثر آنها نیاز ندارید. در اینجا چند cmdlet اولیه وجود دارد که مفید خواهند بود، به خصوص هنگام پیمایش دستورات موجود.

اگر لیستی از cmdlet های خاص از همان نوع را می خواهید:

Get-Command -

به عنوان مثال، این عبارت پیچیده به رایانه شما دستور می دهد تا لیستی از تمام دستورات نوع cmdlet موجود را نمایش دهد و آنها را بر اساس ترتیب حروف الفبای اسم در نام خود مرتب کند:

Get-Command -Type Cmdlet | مرتب سازی - شی - اسم ویژگی| Format-Table -GroupBy Noun

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

اگر می خواهید فرمان خاصی را با نام آن پیدا کنید، به سادگی تایپ کنید:

Get-Command -Name

اگر نام دقیق دستوری را که به دنبال آن هستید نمی دانید، اما بخشی از نام را می دانید، می توانید تایپ کنید: 

Get-Command -Name <نام فرمان>-UseFuzzyMatching

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

3. Get-Content

اگر می خواهید محتوای یک فایل را ببینید، از cmdlet Get-Content استفاده کنید. باید محل دقیق فایل مذکور را مشخص کنید تا رایانه شما بتواند آن را پیدا کند..

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

4. Get-Process

cmdlet Get-Process اطلاعاتی در مورد فرآیندهای در حال اجرا در رایانه شما به شما می دهد. می توانید میزان استفاده از حافظه، چرخه های CPU، شناسه پردازش و سایر ویژگی ها را ببینید.

اگر نام فرآیند را به این cmdlet اضافه کنید، می توانید اطلاعات مربوط به یک فرآیند خاص را مشاهده کنید. برای مثال، اگر اطلاعاتی در مورد فرآیند برنامه Discord می‌خواهید، به سادگی Get-Process Discord را تایپ کنید.

می‌توانید فرآیندها را از طریق PowerShell با جایگزین کردن پیشوند «دریافت» نحو شروع یا متوقف کنید. برای شروع یک فرآیند، تایپ کنید:

شروع فرآیند <نام یا شناسه فرآیند>   

برای توقف فرآیند، تایپ کنید:

توقف فرآیند <نام یا شناسه فرآیند

5. Get-Service

به عنوان یک مدیر سیستم، ممکن است cmdlet Get-Service را بسیار مفید بیابید. این cmdlet ساده تمام سرویس هایی که در حال حاضر روی سیستم شما در حال اجرا هستند را نمایش می دهد و به شما امکان کنترل آنها را می دهد. این بدان معنی است که می توانید تمام برنامه هایی را که در حال حاضر برای اجرای رایانه خود کار می کنند، مشاهده کنید.

اکنون می توانید از نام سرویس برای کنترل آن استفاده کنید. از دستوراتی مانند Restart-Service برای جدا کردن موارد ثابت، Stop-Service برای متوقف کردن کامل آنها و Start-Service استفاده کنید. برای شروع دوباره آنها.

6. Get-Item

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

Get-Item C:

با این کار لیستی از فایل های موجود در هارد دیسک "C:" را برای شما به ارمغان می آورد. می‌توانید حتی دقیق‌تر باشید و در همه فهرست‌های زیر نمایه کاربر جستجو کنید یا به فهرست‌های «اسناد» یا «دانلودها» عمیق‌تر بروید. برای انجام این کار، تایپ کنید:

Get-Tem C:\users\\* .

اگر نیاز به بازیابی یک مورد فرزند از یک ظرف، مانند فهرست راهنمای سیستم دارید، می‌توانید از cmdlet Get-ChildItem استفاده کنید. این دستور تمام فایل ها و دایرکتوری های داخل آن کانتینر را به شما نشان می دهد. همانند Get-Item cmdlet، باید مسیر کانتینر را مشخص کنید.

برای حذف موارد، می‌توانید پسوند «دریافت» را با «حذف» جایگزین کنید. این به شما امکان می دهد همه چیز را حذف کنید، از فایل ها و پوشه ها گرفته تا کلیدهای رجیستری و عملکردها. Remove-Item را تایپ کنید. شما می توانید این cmdlet را دقیق تر بسازید و فقط فایل های پنهان و "فقط خواندنی" را حذف کنید یا موارد را از پوشه ها و زیرپوشه های خاص حذف کنید.

7. ConvertTo-Html

این دستور به شما کمک می کند یک شی .NET را به یک فایل HTML تبدیل کنید که می تواند در مرورگرهای وب نمایش داده شود. این یک cmdlet خروجی است که به این معنی است که با cmdlet های دیگر عالی کار می کند. به سادگی آن را به انتهای cmdlet های دیگر اضافه کنید و یک مسیر فایل خاص را وارد کنید.

به عنوان مثال، اگر می‌خواهید یک فایل HTML ایجاد کنید که نام، مسیر و شرکت همه فرآیندهای فعلی یک رایانه محلی را نشان دهد، تایپ کنید: 

دریافت فرآیند | ConvertTo-Html -Property Name, Path, Company -Title “Process Information” | Out-File filename.htm

filename.htm را با هر نامی که می خواهید جایگزین کنید.

برای باز کردن فایل ایجاد شده، از Invoke-Item cmdlet plus استفاده کنید. محتوا باید چیزی شبیه به تصویر زیر باشد.

8. Set-Executionpolicy

اگر می خواهید اسکریپت های محلی PowerShell را اجرا کنید، باید سیاست اجرای خود PowerShell را تغییر دهید. در رایانه های ویندوزی، سیاست اجرا همیشه محدود است و باید آن را به RemoteSigned یا Unrestricted تغییر دهید. در رایانه‌های غیرویندوزی مانند لینوکس یا مک، معمولاً روی Unrestricted تنظیم می‌شود و نمی‌توان آن را تغییر داد.

اگر می خواهید درباره سیاست اجرای PowerShell اطلاعات بیشتری کسب کنید، به سادگی تایپ کنید:

به Set-ExecutionPolicy کمک کنید

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

برای تنظیم خط مشی روی RemoteSigned، به سادگی تایپ کنید:

Set-Executionpolicy RemoteSigned

برای تنظیم آن به نوع نامحدود:

Set-Executionpolicy نامحدود

برای بررسی تنظیم فعلی برای سیاست اجرا، تایپ کنید: 

Get-Executionpolicy

از آنجایی که خط‌مشی‌های اجرا بخشی از استراتژی‌های امنیتی PowerShell هستند، از شما درخواست تأیید تغییر می‌کند. فقط اگر مطمئن هستید که می‌خواهید ادامه دهید، Y را تایپ کنید.

9. Object

را انتخاب کنید

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

برای انتخاب اشیا بر اساس ویژگی ویژگی، باید ویژگی هایی مانند نام، شناسه یا CPU را مشخص کنید. حتی می توانید ویژگی ها را گروه بندی کنید، اما هنگام تایپ دستور باید آنها را با کاما از هم جدا کنید. برای دیدن cmdlet Select-Object در نوع عمل:

دریافت فرآیند | Select-Object -Property ProcessName, Id, CPU

PowerShell تمام فرآیندهای فعلی و ویژگی های آنها را فهرست می کند، همانطور که در زیر نشان داده شده است.

اکنون می توانید از دستور -EpandProperty برای دریافت اطلاعات دقیق در مورد ویژگی خاص استفاده کنید. اگر جزئیات مربوط به ویژگی Modules از نوع ویژگی ProcessName را می‌خواهید:

Get-Process Chrome | Select-Object -PropertyProcessName -ExpandProperty Modules | Format-list

خروجی "Format-list" فرمان برای قالب بندی و خواندن نتایج وجود دارد.

10. صادرات-CSV

گاهی اوقات دستورات PowerShell منجر به لیست های طولانی می شود، همانطور که در cmdlet Get-Command دیدیم. خواندن لیست های طولانی و اطلاعات زیاد دشوار است و شما آن را به شیوه ای سازماندهی شده تر می خواهید. برای انجام این کار، تمام داده ها را در یک فایل CSV صادر کنید. می‌توانید این کار را مستقیماً در PowerShell با استفاده از تابع Export-CSV انجام دهید.

به عنوان مثال، دیدیم که cmdlet Get-Command یک لیست طولانی از تمام cmdlet های موجود که می توانیم در آن لحظه در PowerShell استفاده کنیم به ما می دهد. می توانید Get-Command و Export-CSV را برای ایجاد یک لیست دقیق با مقادیر جدا شده با کاما مانند نام، منبع و نسخه که برنامه هایی مانند Excel می توانند تشخیص دهند، ترکیب کنید..

برای انجام این کار، دستور زیر را در خط فرمان PowerShell تایپ کنید، اما توجه داشته باشید که می‌توانید هر مسیری را که می‌خواهید تنظیم کنید، و می‌توانید نام فایل خود را به شکل دیگری انجام دهید:

Get-Command | نام، منبع، نسخه | را انتخاب کنید export-csv D:\AllCommands.csv

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

.

پست های مرتبط:


28.06.2022