10 простых команд PowerShell, которые должны знать все пользователи Windows

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

Изучение PowerShell также научит вас выполнять большинство административных задач Linux внутри оболочки bash. PowerShell аналогичен тому, что вы найдете в большинстве дистрибутивов (Linux )Linux(Distros)

Что такое PowerShell?

Windows PowerShell — это интерфейс командной строки и язык сценариев, разработанный Microsoft для системных администраторов. Но вам не нужно быть администратором или программистом, чтобы использовать его, потому что он намного проще, чем другие языки программирования. Он похож на обычный английский(English) , и каждый может его понять и использовать для администрирования своих компьютеров.

Команды, используемые в Windows PowerShell , известны как «командлеты». Они позволяют вам активировать определенное действие или серию действий на вашем компьютере. Эти действия могут быть простыми, например вход в беспроводную сеть, или более сложными, например, автоматизация определенных повторяющихся задач. 

Чтобы открыть PowerShell, нажмите кнопку « Пуск(Start ) », введите « powershell » в поле поиска и выберите Windows PowerShell . Вы откроете интерфейс командной строки, где вы будете готовы начать вводить команды.

В этой статье мы рассмотрим десять самых полезных и простых команд PowerShell .

1. Получить помощь

Командлет Get-Help(Get-Help) — отличное место для начала работы с PowerShell . Он предоставляет обзор того, что вы можете сделать, а также отлично подходит, когда вам нужна дополнительная информация о конкретном командлете. 

Просто(Simply) откройте окно PowerShell и введите (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) сделает это за вас. В Get-Command(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

Этот командлет заставит ваш компьютер найти команды, точно соответствующие тому, что вы ввели в поле <имя>. Вы также можете использовать этот командлет, если склонны к орфографическим ошибкам и не хотите постоянно себя исправлять.

3. Получить контент

Если вы хотите просмотреть содержимое файла, используйте командлет Get-Content. Вам нужно будет указать точное местоположение указанного файла, чтобы ваш компьютер мог его найти.

В приведенном выше примере вы можете увидеть содержимое тестового текстового файла, созданного для этой цели. Это простая команда, но если вы знаете, что она делает, вы можете комбинировать ее с другими командами и выполнять действительно мощные задачи с помощью Windows PowerShell .

4. Получить-процесс

Командлет Get-Process(Get-Process) предоставит вам информацию о запущенных в данный момент процессах на вашем компьютере. Вы можете увидеть использование памяти, циклы ЦП(CPU) , идентификатор процесса и другие атрибуты  .

Если вы добавите имя процесса в этот командлет, вы сможете увидеть информацию о конкретном процессе. Например, если вам нужна информация о процессе приложения Discord , просто введите Get-Process Discord .

Вы можете запускать или останавливать процессы через PowerShell , просто заменяя префикс «Get» синтаксиса. Чтобы запустить процесс, введите:

Start-Process <process name or ID>   

Чтобы остановить процесс, введите:

Stop-Process <process name or ID>

5. Получить-Сервис

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

Теперь вы можете использовать имя сервиса для управления им. Используйте такие команды, как Restart-Service <service name> , чтобы открепить зависшие, Stop-Service <service name> , чтобы полностью остановить их, и Start-Service , чтобы запустить их снова.

6. Получить элемент

Если вам нужен определенный элемент, может быть быстрее найти его с помощью PowerShell , чем с помощью панели поиска, встроенной в вашу операционную систему. Это особенно удобно, если вы знаете расположение нужного вам файла. Просто(Simply) используйте команду таким образом:

Получить-Элемент C:(Get-Item C:)

Это принесет вам список файлов на жестком диске «C:». Вы можете быть еще более конкретным и выполнять поиск во всех каталогах в профиле пользователя или углубляться в каталоги «документы» или «загрузки». Для этого введите:

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

Если вам нужно получить дочерний элемент из контейнера, например из системного каталога, вы можете использовать командлет Get-ChildItem . Эта команда покажет вам все файлы и каталоги внутри этого контейнера. Как и в случае с командлетом Get-Item , вам потребуется указать путь к контейнеру.

Чтобы удалить элементы, вы можете заменить суффикс «Получить» на «Удалить». Это позволит вам удалить все, от файлов и папок до разделов реестра и функций. Введите 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 на любое имя файла, которое вы хотите.

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

8. Установить политику выполнения

Если вы хотите запускать локальные сценарии PowerShell , вам придется изменить политику выполнения самой PowerShell . На компьютерах с Windows политика выполнения всегда ограничена, и вам нужно будет изменить ее на RemoteSigned или Unrestricted . На компьютерах, отличных от Windows , таких как Linux или Mac , обычно установлено значение Unrestricted , и его нельзя изменить. 

Если вы хотите узнать больше о политике выполнения PowerShell , просто введите:

help Set-ExecutionPolicy

PowerShell отобразит файлы справки(PowerShell) о политике выполнения на вашем компьютере или уведомит вас, если их нет. Но он также предоставит вам ссылку, по которой вы можете перейти и прочитать об этом в Интернете.

Чтобы установить политику RemoteSigned , просто введите:

Set-Executionpolicy RemoteSigned

Чтобы установить тип Unrestricted:

Set-Executionpolicy Unrestricted

Чтобы проверить текущую настройку политики выполнения, введите: 

Get-Executionpolicy

Поскольку политики выполнения являются частью стратегии безопасности PowerShell, вам будет предложено подтвердить изменение. Введите Y , только если вы уверены, что хотите продолжить.

9. Выбрать объект

Эта команда используется для выбора объектов и наборов объектов, уникальных объектов и объектов в определенной позиции в массиве. Существуют различные параметры, которые можно использовать для указания объектов, которые необходимо выбрать. Среди них свойства, числовые значения и определенные объекты ввода. 

Чтобы выбрать объекты по атрибуту свойства, вам нужно указать такие атрибуты, как имя, идентификатор или ЦП(CPU) . Вы даже можете сгруппировать атрибуты, но вы должны разделять их запятыми при вводе команды. Чтобы увидеть командлет Select-Object в действии, введите:

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

PowerShell отобразит(PowerShell) список всех текущих процессов и их атрибутов, как показано ниже.

Теперь вы можете использовать команду -EpandProperty для получения подробной информации о конкретном атрибуте. Если вам нужны подробности о свойстве Modules типа атрибута (Modules)ProcessName :

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

Вывод «Format-list» команды предназначен для того, чтобы сделать результаты отформатированными и удобочитаемыми.

10. Экспорт-CSV

Иногда команды PowerShell приводят к длинным спискам, как мы видели с командлетом Get-Command . Длинные списки и большое количество информации трудно читать, и вы захотите, чтобы они были более организованными. Для этого экспортируйте все данные в файл CSV . Это можно сделать непосредственно в PowerShell с помощью функции Export- CSV .

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

Для этого введите следующую команду в командную строку PowerShell , но обратите внимание, что вы можете указать любой путь, который хотите, и вы можете назвать свой файл по-другому:

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

Теперь вы можете открыть список в Excel , и вы должны увидеть что-то похожее на следующее изображение.



About the author

Я Windows MVP и работаю с Windows с 2007 года. Мой опыт включает разработку программного обеспечения, оборудования и звука, а также приложений для Windows. Я всегда ищу лучшие способы улучшить взаимодействие с пользователем в своей работе, поэтому, если вам нужна помощь в проектировании или разработке программного приложения, я определенно могу предложить свои услуги.



Related posts