Большинство из нас предпочитает PowerShell из-за его возможностей автоматизации. Это оболочка командной строки с полностью разработанным языком сценариев. Вы можете использовать встроенные командлеты или написать собственный сценарий для автоматизации административных задач Windows и других совместимых операционных систем. Это позволяет вам делать все, что вы можете делать с приложениями с графическим интерфейсом, и многое другое.
Однако для овладения функциональностью и гибкостью PowerShell требуется крутая кривая обучения. Если вы только начинаете работать с PowerShell, вот основные команды, которые вы можете изучить, чтобы освоить этот язык сценариев в долгосрочной перспективе.
1. Получить помощь
Получить помощь, как следует из названия, является частью интегрированной справочной системы PowerShell. Это поможет вам найти необходимую информацию для команды, концепций и функций, определить псевдоним, сценарии и многое другое.
Чтобы получить справку по командлету PowerShell, необходимо использовать командлет Get-help, за которым следует имя командлета. Например, чтобы просмотреть краткий обзор и синтаксис, связанные с командлетом get-process, введите:
Получать-ПомощьПолучать-Процесс
Эта команда может читать справку как на основе комментариев, так и на основе 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 известен своими возможностями автоматизации. Это может помочь вам автоматизировать сотни действий в процессе разработки, чтобы сэкономить время и повысить производительность.
Хотя мы рассмотрели только основные команды, попробуйте изучить синтаксис, псевдонимы и переменные, функции, доступные во многих из этих команд, чтобы освоить этот высокоэффективный язык сценариев.