PowerShell может запускать три вида программ: встроенные команды, внешние программы и сценарии. Здесь прослеживается аналогия с обычной средой командной строки, где можно использовать встроенные команды, обслуживаемые самой программой cmd. exe, запускать внешние программы или создавать пакетные файлы, позволяющие организовать оба типа команд для выполнения этапов более сложной задачи. В PowerShell встроенными командами являются командлеты. Но в отличие от оболочки командной строки, эти встроенные команды не привязаны к программе PowerShell, а добавляются к ней через механизм интегрирования, как один или несколько. DLL-файлов, хранящихся на вашем жестком диске. Поэтому к среде можно добавлять специально созданные командлеты. Замысел состоит в том, что Microsoft и сторонние производители могут добавлять устанавливаемые командлеты управления для своих приложений и служб, чтобы они могли управляться сценариями PowerShell. К примеру, специализированные интернируемые командлеты есть у серверов Microsoft SQL Server, Microsoft Exchange и VMWare. При наличии достаточного опыта программирования на платформе. NET вы можете создавать свои собственные специализированные командлеты, используя такие средства разработки, как Windows PowerShell 2.0 Software Development Kit (SDK) и Microsoft Visual Studio Express Edition, которые можно свободно загрузить с веб-сайта Microsoft. Кроме того, PowerShell отвечает за командные ключевые слова, являющиеся частью совершенно уникального встроенного языка программирования этой оболочки. Это не VBScript, и не VB. NET, и не С#. Это PowerShell. Более подробно язык PowerShell будет рассмотрен в главе 15 «Программирование в среде PowerShell». Можно также создать и использовать. NET — и COM-объекты не только в сценариях, как при использовании WSH, но и непосредственно в командной строке PowerShell.