- •Курсовая работа по дисциплине «Компьютерные сети и коммуникации»
- •Введение
- •Распределение iр-адресов по подсетям
- •Определите:
- •Проектирование компьютерной сети
- •2.1. Физическое подключение
- •2.2 Логическое подключение
- •Коммутатор d-Link des-1016d
- •2.3. Описание оборудования
- •Коммутатор d-Link des-1008d
- •2.4. Настройка сервера
- •2.5. Расчет стоимости локальной сети
- •Введение в Windows PowerShell
- •Причины и цели создания оболочки PowerShell
- •Отличие PowerShell от других оболочек – ориентация на объекты
- •Типы команд PowerShell
- •Командлеты
- •Имена и структура командлетов
- •Общие параметры командлетов
- •Функции
- •Сценарии
- •Внешние исполняемые файлы
- •Диски PowerShell
- •Провайдеры PowerShell
- •Навигация по дискам PowerShell
- •Приемы работы в оболочке
- •Редактирование в командном окне PowerShell
- •Автоматическое завершение команд
- •Справочная система PowerShell
- •Получение справки о командлетах
- •Справочная информация, не связанная с командлетами
- •История команд в сеансе работы
- •Заключение
- •Список испольЗованных источников
Причины и цели создания оболочки PowerShell
К началу XXI века в операционной системе Windows поддерживались три разных инструмента для автоматизации работы: оболочки командной строки cmd.exe и WMIC, а также сервер сценариев WSH. Зачем же компании Microsoft понадобилась разработка ещё одной совершенно новой оболочки командной строки со своим языком сценариев?
Дело в том, что у каждого из перечисленных инструментов автоматизации имелись довольно серьёзные недостатки, не позволяющие сказать, что Windows обладает по-настоящему мощным и эффективным средством для работы с командной строкой и написания сценариев (см. таблицу 11). С одной стороны, функциональности и гибкости языка оболочки cmd.exe было явно недостаточно, а с другой стороны, сценарии WHS, работающие с объектными моделями ADSI и WMI, оказались слишком сложными для пользователей среднего уровня и начинающих администраторов.
Таблица 11. Требования к инструменту автоматизации
Требования |
cmd.exe |
WSH |
WMIC |
Работа во всех версиях операционной системы без установки дополнительного программного обеспечения. |
Да |
Да |
Нет (только Windows XP и выше) |
Интеграция с командной строкой. |
Да |
Нет |
Да |
Согласованный и непротиворечивый синтаксис команд и утилит. |
Нет |
Нет |
Да |
Поддержка псевдонимов (кратких синонимов) для длинных названий команд. |
Нет |
Нет |
Да |
Автоматическое завершение команд и имён файлов при вводе их с клавиатуры. |
Частично (автоматическое завершение имён файлов и папок) |
Нет |
Нет |
Поддержка истории введённых команд с возможностью их повторного вызова, просмотра и редактирования. |
Да |
Нет |
Да |
Наличие подробной встроенной справки по командам с примерами. |
Частично |
Нет |
Да |
Возможность автоматического выполнения сценариев. |
Да (язык командных файлов) |
Да (языки сценариев VBScript, Jscript и т.д.) |
Частично (команды WMIC можно встраивать в командные файлы) |
Доступ и использование всех технологий и возможностей, поддерживаемых ОС. |
Нет (нет прямого доступа к объектам COM, WMI, ADSI, NET) |
Да |
Нет (доступ только к объектам WMI) |
Начав дорабатывать WMIC, специалисты Microsoft поняли, что реализовать оболочку, которая не ограничивалась бы только работой с объектами WMI, а также предоставляла бы доступ к любым классам платформы .NET Framework, обеспечивая тем самым возможность пользоваться из командной строки всем мощным функциональными возможностями данной среды.
Новая оболочка Windows PowerShell (первоначально она называлась Monad) была задумана разработчиками Microsoft как более мощная среда для написания сценариев и работы из командной строки. Разработчики PowerShell преследовали несколько целей. Главная и наиболее амбициозная из них – создать среду составления сценариев, которая наилучшим образом подходила бы для современных версий операционной системы Windows и была бы более функциональной, расширяемой и простой в использовании, чем какой-либо аналогичный продукт для любой другой операционной системы. В первую очередь эта среда должна была подходить для решения задач, стоящих перед системными администраторами (тем самым Windows получила бы дополнительное преимущество в борьбе за сектор корпоративных платформ), а также удовлетворять требованиям разработчиков программного обеспечения, предоставляя им средства для быстрой реализации интерфейсов управления создаваемыми приложениями.
Для достижения этих целей были решены следующие задачи:
Обеспечение прямого доступа из командной строки к объектам COM, WMI и .NET. В новой оболочке присутствуют команды, позволяющие в интерактивном режиме работать с COM-объектами, а также с экземплярами классов, определённых в информационных схемах WMI и. NET.
Организация работы с произвольными источниками данных в командной строке по принципу файловой системы. Например, навигация по системному реестру или хранилищу цифровых сертификатов выполняется из командной строки с помощью аналога команды cd интерпретатора cmd.exe.
Разработка интуитивно понятной унифицированной структуры встроенных команд, основанной на их функциональном назначении. В новой оболочке имена всех внутренних команд (в PowerShell они называются командлетами) соответствуют шаблону «глагол-существительное», например, Get-Process (получить информацию о процессах), Stop-Service (остановить службу), Clear-Host (очистить экран консоли) и т.д. Для одинаковых параметров внутренних команд используются стандартные имена, структура параметров во всех командах идентична, все команды обрабатываются одним синтаксическим анализатором. В результате облегчается изучение и запоминание команд.
Обеспечение возможности расширения встроенного набора команд. Внутренние команды PowerShell могут дополняться командами, создаваемыми пользователями. При этом они полностью интегрируются в оболочку, информация о них может быть получена из стандартной справочной системы PowerShell.
Организация поддержки знакомых команд из других оболочек. В PowerShell на уровне псевдонимов собственных внутренних команд поддерживаются наиболее часто используемые стандартные команды из оболочки cmd.exe и UNIX-оболочек. Например, если пользователь, привыкший работать с UNIX-оболочкой, выполнит Is, то он получит ожидаемый результат: список файлов в текущем каталоге (то же самое относится к команде dir).
Разработка полноценной встроенной справочной системы для внутренних команд. Для большинства внутренних команд в справочной системе дано подробное описание и примеры использования. В любом случае встроенная справка по любой внутренней команде будет содержать краткое описание всех её параметров.
Реализация автоматического завершения при вводе с клавиатуры имён команд, их параметров, а также имён файлов и папок. Данная возможность значительно упрощает и ускоряет ввод команд с клавиатуры.
Разработчики старались собрать в PowerShell все лучшие аспекты других оболочек командной строки из разных операционных систем. По их словам, сильное влияние на PowerShell оказали следующие аспекты:
Bash, ksh (конвейеризация или композиция команд);
As/400, VMS (стандартные названия команд, ускоряющие изучение);
Tel, WSH (поддержка встраиваемости и нескольких языков);
Perl, Python (выразительность и стиль).
PowerShell одновременно является и оболочкой командной строки (пользователь может работать в интерактивном режиме) и средой выполнения сценариев, которые пишутся на специальном языке PowerShell.
Интерактивный сеанс в PowerShell похож на работу в оболочке UNIX-систем. Все команды PowerShell имеют подробную встроенную справку (для большинства команд приводятся примеры их использования), поддерживается функция автоматического завершения названий команд и их параметров при вводе с клавиатуры, для многих команд имеются псевдонимы, аналогичные названиям UNIX-утилит (is, pwd, tee и т.д.).
Отдельное внимание было уделено вопросам безопасности при работе со сценариями (например, запустить сценарий можно только с указанием полного пути к нему, а по умолчанию запуск сценариев PowerShell в системе вообще запрещён).
Язык PowerShell несложен для изучения, писать на нём сценарии, обращающиеся к внешним объектам, проще, чем на VBScript или Jscript. В целом, оболочка PowerShell намного удобнее и мощнее своих предшественников (cmd.exe и WSH), а основным недостатком, сдерживающим распространение нового инструмента, является тот факт, что PowerShell работает не во всех версиях операционной системы Windows. Оболочкой можно пользоваться только на версиях не ниже Windows XP Service Pack 2 с установленным пакетом .NET Framework 2.0.
Главной особенностью среды PowerShell, отличающей её от всех других оболочек командной строки, является то, что единицей обработки и передачи информации здесь является объект, а не строка текста. В командной строке PowerShell вывод результатов команды представляет собой не текст (в смысле последовательности байтов), а объект (данные вместе со свойственными им методами). В силу этого работать в PowerShell становится проще, чем в традиционных оболочках, так как не нужно выполнять никаких манипуляций по выделению нужной информации из символьного потока.
