7.Возможности оболочки командной строки Windows Powershell (PS). Отличия командного процессора Windows и Windows PS.
Новая оболочка Windows PowerShell была задумана
разработчиками Microsoft как более мощная среда для
написания сценариев и работы из командной строки. Разработчики PowerShell преследовали несколько целей, главная из которых
– создание среды составления сценариев, которая наилучшим образом подходила бы
для современных версий ОС Windows и была бы более
функциональной, расширяемой и простой в использовании, чем какой-либо
аналогичный продукт для любой другой ОС. В первую очередь эта среда должна была
подходить для решения задач, стоящих перед системными администраторами, а также
удовлетворять требованиям разработчиков программного обеспечения, предоставляя
им средства для быстрой реализации интерфейсов управления к создаваемым
приложениям
Главной особенностью
среды PowerShell, отличающей ее от всех других оболочек
командной строки, является то, что единицей обработки и передачи информации
здесь является объект, а не строка
текста.
Предположим, что мы в
командном файле интерпретатора Cmd.exe с помощью этой утилиты хотим определить,
сколько оперативной памяти тратит процесс kavsvc.exe. Для этого нужно выделить
из выходного потока команды tasklist соответствующую строку, извлечь из нее
подстроку, содержащую нужное число и убрать пробелы между разрядами (при этом
следует учесть, что в зависимости от настроек операционной системы разделителем
разрядов может быть не пробел, а другой символ). В PowerShell
аналогичная задача решается с помощью команды get-process, которая возвращает коллекцию объектов, каждый из которых
соответствует одному запущенному процессу. Для определения памяти,
затрачиваемой процессом kavsvc.exe, нет необходимости в дополнительных
манипуляциях с текстом, достаточно просто взять значение свойства WS объекта,
соответствующего данному процессу.