PowerShell

powershell логотип

PowerShell - программа автоматизации задач и управления конфигурацией от компании Microsoft, состоящая из оболочки командной строки и соответствующего языка сценариев. Изначально она была компонентом только для Windows и называлась Windows PowerShell, но 18 августа 2016 года, с появлением PowerShell Core, стала кроссплатформенной и с открытым исходным кодом. Первая построена на .NET Framework, вторая - на .NET (ранее .NET Core).

Начиная с Windows 10 build 14971, PowerShell заменила Command Prompt и стала командной оболочкой по умолчанию для File Explorer.

В PowerShell административные задачи обычно выполняются с помощью командлетов (произносится как command-lets), которые представляют собой специализированные классы .NET, реализующие ту или иную операцию. Они работают путем доступа к данным в различных хранилищах данных, таких как файловая система или реестр Windows, которые предоставляются PowerShell через провайдеров. Сторонние разработчики могут добавлять в PowerShell команды и провайдеры. Команды могут использоваться скриптами, которые, в свою очередь, могут быть упакованы в модули. Команды работают в связке с API .NET.

Поддержка PowerShell в .NET Remoting, WS-Management, CIM и SSH позволяет администраторам выполнять административные задачи как на локальных, так и на удаленных системах Windows. PowerShell также предоставляет API хостинга, с помощью которого среда выполнения PowerShell может быть встроена в другие приложения. Эти приложения могут использовать функциональность PowerShell для выполнения определенных операций, в том числе и через графический интерфейс.

Пример кода

TypeName: System.Diagnostics.Process

Name                           MemberType     Definition
----                           ----------     ----------
Handles                        AliasProperty  Handles = Handlecount
Name                           AliasProperty  Name = ProcessName
NPM                            AliasProperty  NPM = NonpagedSystemMemorySize
PM                             AliasProperty  PM = PagedMemorySize
VM                             AliasProperty  VM = VirtualMemorySize
WS                             AliasProperty  WS = WorkingSet
add_Disposed                   Method         System.Void add_Disposed

Источники