• У дома /
  • Windows 11 /
Юни 21, 2022

10 лесни команди на PowerShell, които всички потребители на Windows трябва да знаят

PowerShell ви дава целия контрол, от който се нуждаете върху вашия компютър с Windows, и е лесен за научаване. Така че ров Command Prompt и използвайте команди на Windows PowerShell, за да автоматизирате тези повтарящи се административни задачи. 

Изучаването на PowerShell също ще ви научи как да боравите с повечето Linux административни задачи в bash shell. PowerShell е подобен на това, което намирате в повечето Linux дистрибуции

Какво е PowerShell?

Windows PowerShell е интерфейс на командния ред и скриптов език, разработен от Microsoft за системни администратори. Но не е нужно да сте администратор или програмист, за да го използвате, защото е много по-опростен от другите езици за програмиране. Той е подобен на обикновен английски и всеки може да го разбере и да го използва за администриране на компютрите си.

Командите, използвани в Windows PowerShell, са известни като „кратки команди“. Те ще ви позволят да активирате конкретно действие или поредица от действия на вашия компютър. Тези действия могат да бъдат прости, като влизане в безжична мрежа, или по-сложни, като автоматизиране на конкретни повтарящи се задачи. 

За да отворите PowerShell, натиснете Начало бутон, въведете „PowerShell” в полето за търсене и изберете Windows PowerShell. Ще отворите интерфейса на командния ред, където сте готови да започнете да въвеждате команди.

В тази статия ще разгледаме десет от най-полезните и лесни команди на PowerShell.

1. Получаване на помощ

Командлетът Get-Help е чудесно място за стартиране в PowerShell. Предоставя общ преглед на това, което можете да правите, а също така е страхотен, когато имате нужда от повече информация за конкретен cmdlet. 

Просто отворете прозореца на PowerShell и въведете Извикай помощ. Това ще отвори цялостен преглед, който ще ви научи какво е PowerShell и ще разберете неговата функционалност и структура. Можете също така да получите достъп до уеб за по-разширени помощни файлове директно през интерфейса. Можете да изтеглите тези файлове за по-късна употреба. 

Но това не е краят на командата get-help. Тип: 

Извикай помощ * 

PowerShell ще изброи всички кратки команди, които можете да използвате в този момент. Списъкът вероятно ще бъде огромен и не е необходимо да научавате всички показани командлети. Но не се колебайте да ги прочетете и да проучите всички налични възможности.

Тип:

Извикай помощ

Не се нуждаете от скоби, просто въведете името на командата, която ви интересува, и тази кратка команда ще ви даде основната информация за нея. За още по-подробно обяснение на команда, въведете:

Извикай помощ -Пълна

Ако имате нужда от пример как да използвате определен тип команда:

Извикай помощ -Пример

2. Get-Command

Искате ли бързо да извлечете информация за конкретна команда или набор от команди? Get-Command cmdlet ще направи това вместо вас. Има толкова много опции в Get-Command, но вие, като основен потребител на PowerShell, не се нуждаете от повечето от тях. Ето някои основни кратки команди, които ще бъдат полезни, особено при навигация в наличните команди.

Ако искате списък с конкретни кратки команди от същия тип:

Get-Command -

Например, тази сложна фраза ще нареди на вашия компютър да покаже списък с всички налични команди от типа cmdlet и да ги сортира по азбучен ред на съществителното в името им:

Get-Command -Type Cmdlet | Sort-Object -Property Noun| Format-Table -GroupBy Noun

Това е отличен пример за по-сложна команда, която ще накара PowerShell да изпълни сложна задача. След като разберете синтаксиса, ще видите, че използването на PowerShell често е най-бързият и лесен начин за извършване на някои неща на вашия компютър.

Ако искате да намерите конкретна команда по нейното име, просто въведете:

Get-Command -Име

Ако не знаете точното име на командата, която търсите, но знаете част от името, можете да въведете: 

Get-Command -Име -Използвайте FuzzyMatching

Тази кратка команда ще натовари компютъра ви да намери команди, които точно съответстват на това, което сте въвели в поле. Можете също така да използвате този cmdlet, ако сте склонни към правописни грешки и не искате да се притеснявате да се коригирате през цялото време.

3. Get-Content

Ако искате да видите съдържанието на файл, използвайте cmdlet Get-Content. Ще трябва да посочите точното местоположение на споменатия файл, за да може вашият компютър да го намери.

В примера по-горе можете да видите съдържанието на тестов текстов файл, направен за тази цел. Това е проста команда, но ако знаете какво прави, можете да я комбинирате с други команди и да изпълнявате наистина мощни задачи чрез Windows PowerShell.

4. Get-Process

Командлетът Get-Process ще ви даде информация за текущо изпълняваните процеси на вашия компютър. Можете да видите използването на паметта, циклите на процесора, ID на процеса и други атрибути. 

Ако добавите името на процеса към тази кратка команда, можете да видите информацията за конкретен процес. Например, ако искате информация за процеса на кандидатстване в Discord, просто въведете Get-Process Discord.

Можете да стартирате или спирате процеси чрез PowerShell, като просто замените префикса „Get“ на синтаксиса. За да започнете процес, въведете:

Старт-процес  

За да спрете процес, въведете:

Стоп-процес

5. Get-Service

Като системен администратор може да намерите кратката команда Get-Service за много полезна. Тази проста кратка команда ще покаже всички услуги, работещи в момента на вашата система, и ще ви позволи да ги контролирате. Това означава, че можете да видите всички програми, които в момента работят, за да накарат вашия компютър да работи. 

Сега можете да използвате името на услугата, за да я контролирате. Използвайте команди като Рестартиране на услугата да отлепя замразените, Стоп-Сервиз да ги спре напълно и Старт-услуга да ги стартирате отново.

6. Get-Item

Ако имате нужда от конкретен елемент, може да е по-бързо да го намерите чрез PowerShell, отколкото с помощта на лента за търсене, интегрирана във вашата операционна система. Особено удобно е, ако знаете местоположението на файла, от който се нуждаете. Просто използвайте командата по следния начин:

Get-Item C:

Това ще ви изведе списъка с файлове в твърдия диск "C:". Можете да бъдете още по-конкретни и да търсите във всички директории под профила на потребителя или да отидете по-дълбоко в директориите „документи“ или „изтегляния“. За да направите това, въведете:

Get-Tem C: потребители *

Ако трябва да извлечете дъщерен елемент от контейнер, като например системна директория, можете да използвате cmdlet Get-ChildItem. Тази команда ще ви покаже всички файлове и директории в този контейнер. Както при cmdlet Get-Item, ще трябва да посочите пътя на контейнера.

За да изтриете елементи, можете да замените суфикса „Получаване“ с „Премахване“. Това ще ви позволи да изтриете всичко, от файлове и папки до ключове и функции в системния регистър. Тип Премахни артикул. Можете да разработите тази кратка команда и да изтриете само скрити и „само за четене“ файлове или да изтриете елементи от конкретни папки и подпапки.

7. ConvertTo-Html

Тази команда ще ви помогне да конвертирате .NET обект в HTML файл, който може да се показва в уеб браузъри. Това е кратка команда за изход, което означава, че работи чудесно с други кратки команди. Просто го добавете в края на други кратки команди и включете конкретен път към файла. 

Например, ако искате да създадете HTML файл, който показва името, пътя и компанията на всички текущи процеси на локален компютър, въведете: 

Get-Process | ConvertTo-Html -Име на собственост, път, фирма -Заглавие „Информация за процеса“ | Изходен файл filename.htm

Заменете filename.htm с всяко име на файл, което искате.

За да отворите създадения файл, използвайте Командлет Invoke-Item плюс . Съдържанието трябва да изглежда като изображението по-долу.

8. Set-Executionpolicy

Ако искате да стартирате локални PowerShell скриптове, ще трябва да промените политиката за изпълнение на самия PowerShell. На компютри с Windows политиката за изпълнение винаги е ограничена и ще трябва да я промените на RemoteSigned или Unrestricted. На компютри, различни от Windows, като Linux или Mac, той обикновено е зададен на Unrestricted и не може да бъде променен. 

Ако искате да научите повече за политиката за изпълнение на PowerShell, просто напишете:

помощ Set-ExecutionPolicy

PowerShell ще покаже помощните файлове относно правилата за изпълнение на вашия компютър или ще ви уведоми, ако няма такива. Но също така ще ви предостави връзка, която можете да следвате и да прочетете за него онлайн.

За да зададете правилото на RemoteSigned, просто въведете:

Set-Executionpolicy RemoteSigned

За да го зададете на неограничен тип:

Set-Executionpolicy Unrestricted

За да проверите текущата настройка за правилата за изпълнение, въведете: 

Get-Executionpolicy

Тъй като политиките за изпълнение са част от стратегиите за сигурност на PowerShell, той ще ви помоли за потвърждение на промяната. Тип Y само ако сте сигурни, че искате да продължите.

9. Избор на обект

Тази команда се използва за избиране на обекти и набори от обекти, уникални обекти и обекти в определена позиция в масив. Има различни параметри, които можете да използвате, за да посочите обектите, които искате да изберете. Сред тях са свойства, числови стойности и специфични входни обекти. 

За да изберете обекти по атрибут на свойство, ще трябва да посочите атрибутите като име, ID или CPU. Можете дори да групирате атрибутите, но трябва да ги разделите със запетаи, когато въвеждате командата. За да видите кратката команда Select-Object в тип действие:

Get-Process | Select-Object -Property ProcessName, Id, CPU

PowerShell ще изброи всички текущи процеси и техните атрибути, както е показано по-долу.

Вече можете да използвате командата -EpandProperty, за да получите подробна информация за конкретния атрибут. Ако искате подробности относно свойството Modules на типа на атрибута ProcessName:

Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Формат-списък

Изходът „Format-list“ на командата е там, за да направи резултатите форматирани и четими.

10. Експортиране-CSV

Понякога командите на PowerShell водят до дълги списъци, както видяхме с командата Get-Command. Дългите списъци и много информация са трудни за четене и ще искате да е по-организиран. За да направите това, експортирайте всички данни в CSV файл. Можете да направите това директно в PowerShell, като използвате функцията Export-CSV.

Например видяхме, че cmdlet Get-Command ни дава дълъг списък от всички налични cmdlet, които можем да използваме в PowerShell в този момент. Можете да комбинирате Get-Command и Export-CSV, за да създадете подробен списък със стойности, разделени със запетая, като име, източник и версия, които приложения като Excel могат да разпознаят. 

За да направите това, въведете следната команда в командния ред на PowerShell, но имайте предвид, че можете да зададете произволен път, който искате, и можете да наименувате файла си по различен начин:

Get-Command | Изберете име, източник, версия | експортиране-csv D:AllCommands.csv

Вече можете да отворите списъка в Excel и трябва да видите нещо подобно на следното изображение.