Самые полезные команды Powershell: шпаргалка с примерами
Опубликовано: 2023-07-23- Начало работы с PowerShell
- Глубокое погружение в структуры команд PowerShell
- Управление файлами и папками
- Управление системными процессами
- Сетевое администрирование
- Управление Active Directory
- Управление журналом событий
- Мониторинг и анализ производительности
- Удаленное взаимодействие и сеансы PowerShell
- Политики безопасности и исполнения
- Расширенные методы PowerShell
- 30 дополнительных команд PowerShell ниже
- Заключение
- Часто задаваемые вопросы
- Как использовать команды Windows PowerShell?
- Как я могу получить список команд PowerShell в Windows 7?
- Могу ли я использовать PowerShell в системах, отличных от Windows?
- Могу ли я писать сценарии в PowerShell?
- Могу ли я использовать PowerShell для управления облачными средами?
Если вы когда-либо имели удовольствие погружаться в мир системного администрирования, вы, вероятно, сталкивались с Windows PowerShell и командами PowerShell. Это удобный инструмент, язык сценариев оболочки, который дает вам доступ к внутренней работе вашей операционной системы.
Он превосходит традиционную командную строку (CMD), предлагая больше возможностей, гибкости и контроля.
В отличие от CMD, в котором используются простые инструкции командной строки, Windows PowerShell использует более обширный язык, использующий список команд PowerShell или командлетов для сложных системных задач.
Как системный администратор, ваша работа может значительно улучшиться с этим инструментом в вашем арсенале. Дело не только в том, чтобы сделать вещи проще; речь идет об эффективности, точности и способности автоматизировать повторяющиеся задачи.
Начало работы с PowerShell
Теперь, когда вы знакомы с тем, что такое PowerShell, пришло время погрузиться в него. Начать очень просто. У вас есть два основных маршрута:
- консоль PowerShell
- Интегрированная среда сценариев (ISE).
Консоль — это ваш интерфейс командной строки. Это прямой путь для доступа ваших команд к системе и управления ею. ISE, с другой стороны, является вашей игровой площадкой для написания сценариев. Здесь вы можете писать, тестировать и отлаживать сценарии PowerShell в удобной, ориентированной на пользователя среде.
Чтобы помочь вам сориентироваться, давайте рассмотрим несколько основных команд PowerShell .
Описание : отображает справочную информацию о командах и разделах Windows PowerShell .
Пример : Набрав Get-Help Get-Process, вы увидите справку по команде Get-Process.
Как следует из названия, Get-Help — это ваш проводник по вселенной PowerShell . Это встроенное руководство, позволяющее изучить функциональность других команд.
Описание : извлекает список всех доступных команд в PowerShell.
Пример : Ввод Get-Command -Module ActiveDirectory отобразит список всех команд, доступных в модуле ActiveDirectory.
Get-Command — еще один ценный инструмент в вашей шпаргалке по командам PowerShell . С его помощью вы можете просмотреть каждую команду, которую может предложить PowerShell.
Глубокое погружение в структуры команд PowerShell
Команды PowerShell построены вокруг трех основных структур: командлетов, псевдонимов и сценариев.
Командлеты (Command-let) — сердце PowerShell. Это легкие команды, выполняющие определенные функции. В отличие от традиционных исполняемых программ, командлеты являются объектами класса .NET Framework — многословно, не так ли? Проще говоря, это фрагменты кода, которые выполняют такие действия, как извлечение данных, изменение системных настроек или запуск процессов.
Описание : Получает список всех запущенных процессов.
Пример : Ввод Get-Process покажет вам все процессы, запущенные в настоящее время в вашей системе.
Псевдонимы — это просто ярлыки для командлетов. Например, вместо того, чтобы набиратьGet-ChildItem, вы можете просто набратьdir, что быстрее и легче запомнить.
Наконец, сценарии — это текстовые файлы, содержащие набор командлетов, которые нужно запускать по порядку. Они являются основой автоматизации, позволяющей выполнять сложные задачи без ручного ввода. Обладая этими знаниями и растущим списком команд PowerShell , вы уже на пути к тому, чтобы стать профессионалом PowerShell.
Управление файлами и папками
Быть у руля файловой системы может быть непростой задачей. К счастью, PowerShell помогает. С помощью арсенала командлетов вы можете легко управлять файлами и папками.
Описание : Отображает элементы и дочерние элементы в указанных местах.
Пример : введите Get-ChildItem C:\Documents, и вы увидите все элементы в каталоге Documents.
Этот командлет является важным элементом вашего списка команд PowerShell для управления файлами. Он не только перечисляет файлы и папки, но также может углубляться в каталоги, раскрывая скрытые сокровища внутри.
Описание : Создает новый элемент, например файл или папку.
Пример : введите New-Item-Path.-Name «file.txt» -ItemType «file» -Value «powershell new-item demo file current directory».
и наблюдайте за появлением нового файла file.txt в папке «Документы».
Управление системными процессами
Теперь давайте переключим передачу и поговорим о системных процессах. Думайте о них как о закулисной команде театральной постановки, усердно работающей за кулисами, чтобы убедиться, что представление идет без сучка и задоринки. PowerShell предлагает команды для наблюдения, манипулирования и управления этими невоспетыми героями.
Описание: Получает состояние списка указанных процессов.
Пример: Ввод Get-Process отобразит все процессы, запущенные в данный момент на вашем компьютере.
Выше приведена одна из наиболее часто используемых команд PowerShell в Windows 10 для управления системными процессами. Он обеспечивает моментальный снимок того, что происходит за вашим экраном.
Работа с сервисами
Как и системные процессы, службы являются важными винтиками в колесе, которые обеспечивают бесперебойную работу наших систем. Есть программы, которые работают в фоновом режиме, и с помощью PowerShell вы можете внимательно следить за ними.
Описание : Получает статус служб на локальном или удаленном компьютере.
Пример . При запуске Get-Service вы получите обновление состояния всех служб на вашем компьютере.
Описание : Останавливает одну или несколько запущенных служб.
Пример : Stop-Service -Name «serviceName» остановит указанную службу.
Эти примеры команд PowerShell лишь поверхностно показывают, что вы можете делать с помощью PowerShell. Настоящая красота PowerShell заключается в его гибкости и степени, в которой его можно настроить в соответствии с вашими конкретными потребностями.
Сетевое администрирование
Управление сетью может быть похоже на попытку решить головоломку с бесконечными кусочками. К счастью, с PowerShell у вас есть инструменты, облегчающие эту работу. Вот несколько основных команд PowerShell, которые помогут вам.
Описание : Отображает диагностическую информацию для соединения.
Пример : введите Test-NetConnection, чтобы проверить сетевое подключение вашего компьютера.
Описание : Отображает конфигурацию IP-адреса.
Пример . Запуск Get-NetIPAddress показывает сведения об IP-адресе вашего компьютера.
Эти командлеты могут помочь диагностировать проблемы и раскрыть важные сведения о конфигурации сети.
Управление Active Directory
В мире сетевого администрирования Active Directory (AD) — это менеджер офиса, отслеживающий каждый сетевой ресурс. PowerShell поставляется с полезными командами, упрощающими управление AD.
Описание : извлекает пользовательский объект или выполняет поиск для получения нескольких пользовательских объектов.
Пример : Get-ADUser -Filter * выведет список всех пользователей в вашем AD.
Описание : Создает нового пользователя AD.
Пример : С помощью такой команды, как New-ADUser -Name «JohnDoe», вы можете создать нового пользователя с именем JohnDoe.
Управление журналом событий
Журналы событий подобны дневнику вашей системы, в котором записываются ее мысли и действия. Они являются бесценным инструментом для устранения неполадок. Вот как запускать команды PowerShell в Windows 10, которые взаимодействуют с вашими журналами событий.
Описание : Получает события в журнале событий или список журналов событий.
Пример : Get-EventLog -LogName Система отобразит журналы системных событий.
Описание : Удаляет все записи из указанных журналов событий.
Пример : Clear-EventLog -LogName «Application» очистит список событий вашего журнала приложений.
Важно помнить, что, несмотря на то, что это одни из самых распространенных команд PowerShell , существует множество других, которые можно изучить. Адаптивность и надежная функциональность PowerShell делают его незаменимым инструментом для любого системного администратора.
Мониторинг и анализ производительности
Как и хорошо настроенный оркестр, ваша система нуждается в регулярной тонкой настройке для достижения наилучших результатов. Мониторинг производительности обеспечивает эффективное использование системных ресурсов. Вот несколько команд Windows PowerShell, которые позволяют вам заглянуть под капот.
Описание : Получает статус списка указанных процессов.
Пример : Запуск Get-Process показывает все процессы, запущенные в данный момент на вашем компьютере.
Описание : Измеряет время, необходимое для запуска блоков скриптов.
Пример : Measure-Command {Get-Process} покажет время, затраченное на выполнение команды Get-Process.
Описание : Получает данные счетчиков производительности с локальных и удаленных компьютеров.
Пример : Get-Counter -Counter «\Processor(_Total)\% процессорного времени» предоставит вам статистику использования ЦП.
Читайте также: Как ускорить работу жесткого диска в Windows?
Удаленное взаимодействие и сеансы PowerShell
Ключевая сила PowerShell заключается в его способности управлять удаленными компьютерами. Вы можете устанавливать сеансы или постоянные соединения с удаленными машинами. Шпаргалка по командам PowerShell была бы неполной без этих командлетов.
Описание : Начинает интерактивный сеанс с удаленным компьютером.
Пример : Enter-PSSession -ComputerName Server01 позволяет напрямую взаимодействовать с Server01.
Описание : Создает новый сеанс PowerShell.
Пример : New-PSSession -ComputerName Server02 создает новый сеанс с Server02.
Описание : закрывает один или несколько сеансов PowerShell.
Пример : Remove-PSSession -Session $s закрывает сеанс, сохраненный в переменной $s.
Работа с профилями PowerShell
Как и ваш личный профиль, профиль PowerShell — это сценарий, который запускается при запуске Powershell и определяет вашу среду. Вот несколько команд команд PowerShell для управления вашими профилями.
Описание : Определяет, существуют ли все элементы пути.
Пример : Test-Path $profile проверит, существует ли профиль.
Описание : Создает новый элемент, например файл или папку.
Пример : если Test-Path $profile возвращает False, New-Item -Type file -Path $profile -Force создаст новый профиль.
Описание : Открывает файлы в блокноте.
Пример : Блокнот $profile открывает ваш профиль в Блокноте, позволяя вам редактировать его.
Понимая и используя эти команды, вы можете настроить свою среду PowerShell в соответствии со своими предпочтениями и стилем работы.
Политики безопасности и исполнения
В сфере PowerShell безопасность похожа на надежного привратника, обеспечивающего безопасное выполнение сценариев и команд. Вот несколько основных команд PowerShell , которые помогут вам определить и понять политики выполнения.
Описание : Получает политики выполнения для текущего сеанса.
Пример : Get-ExecutionPolicy отображает текущую политику выполнения.
Описание : устанавливает политику выполнения для сеанса PowerShell.
Пример : Set-ExecutionPolicy RemoteSigned устанавливает политику для запуска только сценариев, подписанных доверенным издателем.
Описание : Получает цифровую подпись скрипта или файла.
Пример : Get-AuthenticodeSignature C:\Scripts\Test.ps1 показывает цифровую подпись сценария Test.ps1.
Расширенные методы PowerShell
По мере того, как вы будете углубляться в океан PowerShell, вы обнаружите, что он наполнен не только простыми командлетами. Расширенные функции обеспечивают большую гибкость и функциональность, позволяя вам работать эффективнее, а не усерднее. Ниже приведены некоторые примеры команд PowerShell , иллюстрирующие возможности.
Описание : Запускает команды на локальном и удаленном компьютерах.
Пример : Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} запускает команду Get-Process на сервере Server01.
Описание : Преобразует объекты .NET в строки CSV и сохраняет результаты в файле CSV.
Пример : Get-Process |Export-Csv -Path .\ProcessList.csv сохраняет список процессов в файл CSV.
Описание : Преобразует объект в его представление JSON.
Пример : Get-Process |ConvertTo-Json преобразует список процессов в формат JSON.
Описание : Выбирает указанные свойства объекта или набора объектов.Он также может выбирать уникальные объекты из массива.
Пример : Get-Process |Select-Object -Property Name,ID показывает только имя и идентификатор ваших процессов.
Описание : фильтрует ввод из конвейера, позволяя контролировать, какие объекты будут переданы в последовательности команд.
Пример : Get-Process |Where-Object {$_.CPU -gt 10} отображает процессы, использующие более 10 единиц ЦП.
Описание : Выполняет операцию над каждым из набора входных объектов.
Пример : Get-Process |ForEach-Object { $_.Name + " " + $_.Id } отображает список имен процессов вместе с их идентификаторами.
Эти полезные команды PowerShell демонстрируют расширенные методы, которые вы можете использовать для дальнейшего использования возможностей Powershell. От вызова команд на удаленных компьютерах до фильтрации и форматирования вывода возможности огромны.
Помните, что командлет Get-Help — ваш друг, когда вы не знаете, как выполнять команды PowerShell . Просто введите Get-Help, а затем командлет, с которым вам нужна помощь. Этот список основных команд PowerShell — только начало; Возможности PowerShell ограничены только вашим воображением.
30 дополнительных команд PowerShell ниже
Команда | Описание |
вне файла | Отправляет вывод в файл. |
Сортировать-Объект | Сортирует объекты по значениям свойств. |
Set-переменная | Устанавливает значение переменной. |
Чтение хоста | Считывает строку ввода с консоли. |
Write-Host | Записывает настроенный вывод на хост. |
Добавить контент | Добавляет содержимое к указанным элементам, например, добавляет строки в файл. |
Копировать элемент | Копирует элемент из одного места в другое. |
Тест-Путь | Проверяет существование пути и возвращает True, если путь существует, иначе False. |
Get-Date | Получает текущую дату и время. |
Clear-Host | Очищает отображение в хост-программе. |
Объект сравнения | Сравнивает два набора объектов. |
ConvertTo-Html | Преобразует объекты .NET в HTML, который можно отобразить в веб-браузере. |
Получить учетные данные | Получает объект учетных данных на основе имени пользователя и пароля. |
Get-Random | Получает случайное число или случайным образом выбирает объекты из коллекции. |
Новый объект | Создает экземпляр .NET Framework или COM-объекта. |
Переименовать-Элемент | Переименовывает элемент в пространстве имен поставщика Windows PowerShell. |
Старт-Сон | Приостанавливает действие скрипта на указанный период. |
Запись-вывод | Отправляет указанные объекты следующей команде в конвейере. |
Разделенный путь | Возвращает указанную часть пути. |
Путь присоединения | Объединяет путь и дочерний путь в один путь. |
ForEach-Object | Выполняет операцию над каждым элементом в коллекции входных объектов. |
Где-объект | Выбирает объекты из коллекции на основе значений их свойств. |
Старт-Процесс | Запускает один или несколько процессов на локальном компьютере. |
Список форматов | Форматирует выходные данные как список свойств, в котором каждое свойство отображается в отдельной строке. |
Таблица форматов | Форматирует вывод в виде таблицы. |
Экспорт-Clixml | Создает XML-представление объекта или объектов и сохраняет его в файле. |
Импорт-Clixml | Импортирует файл CliXML и воссоздает сохраненные объекты. |
ConvertFrom-CSV | Преобразует свойства объектов в строках CSV в CSV-версии исходных объектов. |
ConvertTo-CSV | Преобразует объекты .NET в набор строк CSV. |
Select-String | Находит текст в строках и файлах. |
Заключение
К настоящему времени у вас должен быть полный список команд PowerShell и четкое представление об их потенциале. Независимо от того, автоматизируете ли вы задачи , управляете сетевыми ресурсами или устраняете неполадки, PowerShell — незаменимый инструмент для любого пользователя или администратора Windows.
Эти командлеты PowerShell лишь касаются поверхности того, что возможно. Когда вы освоитесь с консолью, вы обнаружите, что открываете для себя новые команды и создаете сценарии, которые идеально соответствуют вашим потребностям.
Помните, что командлет Get-Help всегда готов предоставить справку по командам PowerShell всякий раз, когда вам нужна дополнительная информация о конкретном командлете. Просто введите Get-Help, а затем командлет, с которым вам нужна помощь.
Часто задаваемые вопросы
Как использовать команды Windows PowerShell?
Использовать команды Windows PowerShell просто. Вы вводите команду в консоль PowerShell и нажимаете Enter. Если вам нужна помощь с определенной командой, просто введите Get-Help, а затем команду, которую вы хотите лучше понять.
Как я могу получить список команд PowerShell в Windows 7?
Вы можете получить список команд в PowerShell в Windows 7, введя Get-Command в консоли и нажав Enter. Это отобразит все доступные командлеты и функции, которые вы можете использовать.
Почему мой Windows PowerShell не может понять никакие команды?
Если PowerShell не понимает ваши команды, это может быть связано с ошибками синтаксиса. Проверьте свою команду на наличие опечаток или неправильных параметров. Кроме того, убедитесь, что вы используете правильную версию PowerShell для команды, которую пытаетесь выполнить.
Могу ли я использовать PowerShell в системах, отличных от Windows?
Да, ты можешь. С появлением PowerShell Core PowerShell от Microsoft больше не ограничивается Windows. Вы также можете использовать его на macOS и Linux.
Могу ли я писать сценарии в PowerShell?
Абсолютно! PowerShell — это не только интерфейс командной строки, но и язык сценариев. Вы можете создавать сценарии для автоматизации повторяющихся задач, что может сэкономить вам много времени и усилий.
Могу ли я использовать PowerShell для управления облачными средами?
Да, PowerShell — это мощный инструмент для управления облачными средами. Многие поставщики облачных услуг, в том числе Microsoft Azure и Amazon AWS, предоставляют модули PowerShell для взаимодействия со своими службами.