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

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

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

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

Чтобы получить справку по командлету PowerShell, необходимо использовать командлет Get-help, за которым следует имя командлета. Например, чтобы просмотреть краткий обзор и синтаксис, связанные с командлетом get-process, введите:

instagram viewer

Получать-ПомощьПолучать-Процесс

Эта команда может читать справку как на основе комментариев, так и на основе XML, предоставленную автором функции.

В качестве альтернативы вы можете использовать Get-Help-онлайн Команда, чтобы получить справку по командлету PowerShell в Интернете. Например, чтобы просмотреть онлайн-документацию Microsoft для Получить-контент командлет, тип:

Получать-ПомощьПолучать-Содержание -В сети

2. Get-процесс

Get-процесс Команда помогает вам получить и показать список всех активных системных процессов с их идентификаторами (ID). Вы можете использовать его в качестве эффективная альтернатива диспетчеру задач Windows для просмотра, остановки и перезапуска системных процессов.

Например, если вам нужно остановить процесс GameBar, сначала вам нужно найти идентификатор процесса, связанный с ним. Итак, введите:

Get-процесс

Эта команда покажет все запущенные системные процессы. Затем найдите идентификатор, связанный с процессом, который вы хотите остановить. Чтобы остановить процесс, введите:

Get-Process-ID 20496 | Останавливаться-Процесс

Здесь -ID 20496 — это идентификатор процесса (GameBar), который вы хотите остановить.

3. Старт-Процесс

Вы можете использовать Старт-Процесс командлет в PowerShell для запуска одного или нескольких процессов на локальном компьютере. Чтобы использовать командлет, введите Start-Process, а затем имя процесса. Например, если вы хотите запустить новый процесс блокнота, введите:

Начинать-Процесс блокнота 

Кроме того, вы можете использовать параметры Start-Process для указания опций. Например, если вам нужно запустить процесс от имени администратора, введите:

Start-Process-FilePath "блокнот" -Глагол

4. Get-команда

Get-команда позволяет просматривать все команды PowerShell, установленные на вашем компьютере. Подобно Get-Help, вы можете использовать Get-Command, за которым следует поисковый запрос, чтобы найти команды для определенной функции.

Поскольку Get-Command отображает все команды, вы можете указать параметры для поиска функций с определенным именем и CommandType. Например, чтобы найти командлеты (CommandTypes), начинающиеся с A (имя), введите:

Командлет Get-Command -Name A* -CommandType

В качестве альтернативы введите Get-Help Get-Command -Примеры для просмотра дополнительных примеров.

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

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

Вы можете использовать параметры для указания и поиска служб в зависимости от их состояния, имени и зависимых служб. Например, чтобы просмотреть все службы, имена которых начинаются с имени Win, введите:

Get-Service -Имя "Победить*"

6. Get-ChildItem

Вы можете использовать PowerShell для поиска в каталогах. Get-ChildItem Команда — это удобный командлет для поиска папок и файлов и быстрого поиска по содержимому без использования Проводника.

Чтобы просмотреть все папки верхнего уровня в каталоге C:\, введите:

Get-ChildItem "С:\"

Кроме того, используйте -Путь параметр для просмотра определенной папки, подпапок и содержимого. Например, чтобы просмотреть все подпапки и файлы в папке Programs Files, введите:

Get-ChildItem-Путь "C:\Программные файлы"

Кроме того, используйте -Рекурсия параметр для просмотра всех файлов в указанной папке и -Имя параметр для просмотра имен элементов в каталоге.

Get-ChildItem-Путь "C:\Program Files\Fodler_Name" -Рекурсия | Выберите полное имя

В приведенной выше команде замените подпапка с именем папки, чтобы просмотреть ее содержимое.

7. Копировать элемент

Копировать элемент Командлет позволяет копировать и вставлять файлы и папки и их содержимое в другой каталог. Чтобы скопировать файлы и папки, введите Копировать элемент затем источник -Путь, -Место назначения параметр и адрес назначения. Например, чтобы скопировать Е:\Папка1 и его содержимое для Е:\Папка2, тип:

Копировать элемент "Е:\Папка1" -Место назначения "Е:\Папка2" -Рекурсия

Обратите внимание, что -Рекурсия Параметр в приведенной выше команде отвечает за перемещение всего содержимого папки. Без него PowerShell будет копировать только папку верхнего уровня (Folder1) и файлы, указанные в команде.

8. Move-Item

Точно так же, чтобы переместить элемент, вы можете использовать Move-Item командлет. Например, чтобы переместить папку, файлы, подпапки и все их содержимое в указанное место, введите:

Move-Item-Path "Е:\Папка1" -Место назначения "Е:\Папка2"

9. Убрать предмет

Убрать предмет Командлет позволяет удалять файлы, папки, функции и другие типы данных из указанного каталога. Например, чтобы удалить файл Test.txt в папке E:\Folder1, введите:

Убрать предметЕ:\Папка1\Тест.текст

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

Получить-контент Командлет позволяет просматривать содержимое элемента элемента без использования текстового редактора. Например, чтобы получить содержимое файла Test.txt, введите:

Получить-контент "E:\Folder1\Test.txt"

Вы можете дополнительно указать длину содержимого для просмотра с помощью -Общее количество параметр.

11. Очистить содержимое

Вы можете использовать Очистить содержимое Командлет для удаления содержимого указанного файла без удаления самого файла. Полезно для автоматизации задач, когда у вас есть жестко запрограммированное имя файла, но вы хотите иметь чистый файл при каждом запуске сценария.

Чтобы протестировать команду, создайте текстовый файл с некоторым содержимым. Далее введите:

Clear-Content-Путь "E:\Folder1\Test1.txt"

Это приведет к удалению содержимого файла без удаления файла.

12. Set-ExecutionPolicy

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

Set-ExecutionPolicy Командлеты позволяют изменять уровни безопасности для выполнения скриптов. Чтобы узнать текущую политику выполнения, введите:

Get-ExecutionPolicy

Если вам нужно выполнить неподписанный скрипт, в командной строке PowerShell с повышенными привилегиями введите:

Набор-ExecutionPolicy RemoteSigned

Другие допустимые значения Set-ExecutionPolicy включают Ограниченный, AllSigned, и Неограниченный.

13. Set-Location

По умолчанию PowerShell использует C:\Пользователи\Имя пользователя как рабочий каталог по умолчанию. Set-Location Командлет позволяет установить текущий рабочий каталог в указанное место. Полезно, если вы хотите запустить сценарий или команду из определенного места без необходимости каждый раз указывать путь.

Например, чтобы установить C:\Пользователи\Имя пользователя\Документы в качестве текущего рабочего каталога введите:

Set-Location "C:\Users\usrename\Документы"

Это временная мера, так как PowerShell сбросит рабочий каталог обратно в каталог по умолчанию после перезапуска.

14. Экспорт-CSV

Если вы хотите экспортировать и представлять выходные данные PowerShell более организованным образом, вы можете использовать Экспорт-CSV командлет. Он берет выходной файл для указанной команды и преобразует его в файл CSV.

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

Get-процесс | Экспорт-CSV PSprocess.csv

Приведенная выше команда создаст psporcess.csv файл со всеми данными активных процессов.

15. ConvertTo-HTML

Если вы хотите создать отчет в формате HTML, вы можете использовать ConvertTo-HTML Командлет. Чтобы создать HTML-отчет обо всех запущенных процессах на вашем ПК, введите:

Get-процесс | ConvertTo-HTML > PSprocess.html

В приведенной выше команде пспроцесс имя файла экспорта, а HTML является расширением. Вы можете получить доступ к экспортированному файлу HTML в текущем рабочем каталоге, расположенном в C:\Users\username.

16. Получить-История

Вы можете использовать Вверх вниз Клавиша со стрелкой для прокрутки недавно выполненных команд в PowerShell. Однако, чтобы просмотреть список всех недавно выполненных команд в текущем сеансе одновременно, вы можете использовать Получить-История командлет.

Он отобразит список всех недавно выполненных команд с их идентификатором. Полезно, если вы хотите просмотреть полный контекст ранее выполненных команд. Для этого введите:

Идентификатор истории получения | фл

Например, чтобы просмотреть сведения о выполнении, такие как состояние, время начала и окончания, а также продолжительность третьей команды, введите:

получать-история 3 | эт, 

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

Invoke-History, за которым следует команда идентификатор

Например, тип Invoke-История 3 для повторного запуска ранее выполненной команды без ее повторного ввода.

Кроме того, используйте Чистая история для очистки истории текущего сеанса.

Теперь, когда у вас есть общее представление о командах PowerShell, приступайте к изучению нашего руководства по лучшим Командлеты PowerShell для улучшения навыков администратора Windows. Здесь вы можете научиться работать с данными с помощью командлетов, таблиц форматирования и списка, а также получить краткий обзор команды Get-Member.

Команды PowerShell для оптимизации ваших задач

PowerShell известен своими возможностями автоматизации. Это может помочь вам автоматизировать сотни действий в процессе разработки, чтобы сэкономить время и повысить производительность.

Хотя мы рассмотрели только основные команды, попробуйте изучить синтаксис, псевдонимы и переменные, функции, доступные во многих из этих команд, чтобы освоить этот высокоэффективный язык сценариев.