Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Отличие PowerShell от других оболочек – ориентация на объекты




При разработке любого языка программирования одним из основных является вопрос о том, какие типы данных и каким образом будут в нем представлены. При создании PowerShell разработчики решили не изобретать ничего нового и воспользоваться унифицированной объектной моделью .NET. 

Рассмотрим пример.В Windows XP есть консольная утилита tasklist.exe, которая выдает информацию о процессах, запущенных в системе (рис. 1).Предположим, что в командном файле интерпретатора Cmd.exe с помощью этой утилиты требуется определить, сколько оперативной памяти тратит процесс lsass.exe. Для этого нужно выделить из выходного потока команды tasklist соответствующую строку, извлечь из нее подстроку, содержащую нужное число и убрать пробелы между разрядами. В PowerShell задача решается с помощью команды Get-process, которая возвращает коллекцию объектов, каждый из которых соответствует одному запущенному процессу. Для определения памяти, затрачиваемой процессом lsass.exe нет необходимости в дополнительных манипуляциях с текстом, достаточно просто взять значение свойства WS объекта, соответствующего данному процессу.

 

Рис.1. Результаты работы утилиты tasklist

 

Объектная модель .NET позволяет PowerShell напрямую использовать функциональность различных библиотек, являющихся частью платформы .NET. Например, чтобы узнать, каким днем недели было 9 ноября 1977 года, в PowerShell можно выполнить следующую команду:

(get-date "09.11.1974").dayofweek.tostring()

В этом случае команда get-date возвращает .NET-объект DateTime, имеющий свойство DayOfWeek, при обращении к которому вычисляется день недели для соответствующей даты.

 

Ниже указаны новые возможности Windows PowerShell 2.0.

· Удаленное взаимодействие.Оболочка Windows PowerShell 2.0 позволяет выполнять команды на одном или нескольких удаленных компьютерах с одного компьютера, на котором она запущена. Механизм удаленного взаимодействия PowerShell поддерживает несколько способов подключения. К ним относятся интерактивный способ (1:1), разветвление (1:много) и объединение (много:1, с использованием серверной модели IIS).

· Интегрированная среда сценариев.Интегрированная среда сценариев PowerShell позволяет выполнять интерактивные команды, а также редактировать и отлаживать сценарии в графической среде. К основным возможностям относятся цветовое выделение синтаксиса, выборочный запуск, графическая отладка, поддержка Юникода и контекстно-зависимая справка.

· Модули.Используя модули, разработчики сценариев и администраторы могут разделять код Windows PowerShell и группировать его в самодостаточные объекты с возможностью многократного их использования. Код модуля выполняется в собственном контексте и не влияет на состояние объектов за его пределами.

· Расширенные функции.К расширенным относятся функции, имеющие такие же возможности и поведение, как и командлеты. Однако они создаются целиком на языке Windows PowerShell, а не на C# с последующей компиляцией.

· Фоновые задания.Windows PowerShell 2.0 поддерживает фоновое асинхронное выполнение команды или выражения без взаимодействия с консолью.

· Отправка событий.Эта функция добавляет в инфраструктуру Windows PowerShell поддержку прослушивания, перенаправления и обработки системных событий и событий управления.

· Интернационализация сценариев.Эта новая функция делает возможным вывод сообщений в сценариях Windows PowerShell на языке пользователя, заданном на компьютере.

· Отладка сценариев.Благодаря новым функциям отладки, добавленным в Windows PowerShell, можно устанавливать точки останова в строках, столбцах, переменных и командах, а также задавать действия, выполняемые при их достижении.

· Новые командлеты.В Windows PowerShell 2.0 представлено более 100 встроенных командлетов. Помимо решения других задач, они позволяют выполнять административные операции, связанные с компьютером, журналом событий и счетчиком производительности.










Последнее изменение этой страницы: 2018-06-01; просмотров: 282.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...