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

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

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

Какво е PowerShell?

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

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

За да отворите PowerShell, натиснете бутона Старт(Start ) , въведете “ powershell †в полето за търсене и изберете Windows PowerShell . Ще отворите интерфейса на командния ред, където сте готови да започнете да въвеждате команди.

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

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

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

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

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

Get-Help * 

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

Тип:

Get-Help <command name>

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

Get-Help <command name> -Full

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

Get-Help <command name> -Example

2. Get-Command

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

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

Get-Command -<CommandType>

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

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

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

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

Get-Command -Name <name of command>

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

Get-Command -Name <name of command> -UseFuzzyMatching

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

3. Get-Content

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

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

4. Get-Process

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

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

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

Start-Process <process name or ID>   

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

Stop-Process <process name or ID>

5. Get-Service

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

Сега можете да използвате името на услугата, за да я контролирате. Използвайте команди като Restart-Service <service name> , за да отстраните замразените, Stop-Service <service name> , за да ги спрете напълно, и Start-Service , за да ги стартирате отново.

6. Get-Item

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

Get-Item C:

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

Get-Tem C:\users\<user name>\*

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

За да изтриете елементи, можете да замените суфикса „Get“ с „Remove“. Това ще ви позволи да изтриете всичко, от файлове и папки до ключове и функции в системния регистър. Въведете Remove-Item <location\ name> . Можете да разработите тази кратка команда и да изтриете само скрити и „само за четене“ файлове или да изтриете елементи от конкретни папки и подпапки.

7. ConvertTo-Html

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

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

Get-Process | ConvertTo-Html -Property Name, Path, Company -Title “Process Information” | Out-File filename.htm

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

За да отворите създадения файл, използвайте cmdlet Invoke-Item(Invoke-Item cmdlet ) плюс <file name.htm> . Съдържанието трябва да изглежда като изображението по-долу.

8. Set-Executionpolicy

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

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

помощ Set-ExecutionPolicy(help 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 на типа на атрибута (Modules)ProcessName :

Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-list

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

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

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

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

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

Get-Command | Select Name, Source, Version | export-csv D:\AllCommands.csv

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



About the author

Аз съм уеб разработчик с над 10 години опит, включително 8 години като професионален софтуерен инженер. Също така имам опит в разработването на мобилни приложения и игри, както за настолни компютри, така и за мобилни устройства. В свободното си време обичам да играя видео игри и да гледам филми, да слушам музика, да чета книги и да се занимавам с градинарство.



Related posts