5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Windows PowerShell 2.0

Windows PowerShell: Краткий обзор удаленного управления в версии 2.0

У вас уже была возможность поэкспериментировать с последней версией CTP Windows PowerShell 2.0? В последней версии, CTP2, удаленное управление еще больше переработано, и теперь пришло время приступить к ознакомлению с ее новыми возможностями. Прежде чем приступить к рассмотрению Windows PowerShell 2.0, необходимо загрузить программу с веб-узла go.microsoft.com/fwlink/?LinkID=119707.

Прежде всего, позвольте мне уточнить ряд важных моментов. CTP – это предоставляемая корпорацией Майкрософт предварительная бета-версия кода, позволяющая нетерпеливым пользователям наподобие меня получить представление о направлении, в котором движется Майкрософт, при помощи следующей версии приложения. Каждая веха или выпуск CTP (как это называется в промышленности) может полностью отличаться от предыдущих выпусков. Это происходит потому, что группы разработки собирают отзывы пользователей, внимательно изучают их, а затем на основе этих отзывов вносят в приложение изменения. Такая методика обуславливает важное преимущество и ограничение использования CTP.

Преимущество заключается в том, что при использовании CTP вы можете предоставить отзыв (через веб-узел connect.microsoft.com) о продукте во время разработки, когда группа разработчиков может отреагировать на него! Если вы подождете до бета-версии или, что еще хуже, до стадии подготовки к выпуску, отреагировать на ваш отзыв гораздо сложнее. При подготовке к выпуску может случиться все, что угодно, и группа разработки при необходимости может внести большие и значительные изменения.

Это представляет для меня ограничение. Версия CTP не готова к выпуску. Конечно, версия CTP2 Windows PowerShell™ 2.0 может быть одной из самых устойчивых частей предварительной версии кода, которую вы когда-либо видели, но необходимо помнить, что следующая версия CTP может полностью отличаться от нее. Поэтому пока не следует полагаться на версию CTP2, потому что после выпуска следующей версии может потребоваться начать все сначала.

Имейте в виду, что версия CTP не может быть установлена вместе с Windows PowerShell 1.0. В идеале в системе также должна быть установлена платформа Microsoft® .NET Framework 3.5, чтобы обеспечить поддержку всех доступных функций. В противном случае функции будут ограничены.

Кроме того, поскольку версия CTP является очень ранней, пока корпорация Майкрософт уделяла основное внимание последним операционным системам, т.е. Windows Vista® и Windows Server® 2008. Совместимость с ОС в данный момент никоим образом не означает совместимости с ОС, которую можно ожидать в итоговом выпущенном коде. Портированию в более ранние версии уделяется внимание на последующих этапах цикла разработки.

Два типа удаленной работы

В мире удаленного управления обычно присутствуют два типа удаленного управления: удаленная работа слияния и развертывания. При удаленной работе слияния несколько администраторов подключаются к одному серверу по протоколу SSH. Windows PowerShell поддерживает подобное подключение безопасным и разделенным образом, чтобы, например, компания, размещающая Exchange Server, могла предоставить своим клиентам административный доступ к отдельным частям сервера. Удаленная работа слияния обеспечивает надежный удаленный интерактивный доступ к копии Windows PowerShell (только версии 2.0!), установленной на удаленном сервере.

Удаленная работа развертывания заключается в выдаче набора команд для группы удаленных серверов одновременно. Команды параллельно «разветвляются» с рабочей станции на группу серверов. Команды выполняются на всех серверах, а результаты — в форме объектов Windows PowerShell — возвращаются на рабочую станцию для просмотра и работы с ними. Windows PowerShell поддерживает две основные технологии для удаленной работы разветвления — инструментарий управления Windows® (WMI) и удаленное управление Windows (WinRM), которые впервые появились в составе Windows Server 2008, а затем были обновлены в версии CTP Windows PowerShell 2.0.

Синхронная и асинхронная

В действительности, еще в Windows PowerShell 1.0 существовали определенные возможности разветвления, привязанные к инструментарию управления WMI. Например, можно просто создать массив имен компьютеров, а затем получить из каждого класс WMI:

Для выполнения методов, например, перезагрузки компьютера, необходимы некоторые дополнительные действия, поскольку версия 1.0 не предоставляет способ массового выполнения методов WMI. Однако это изменилось в версии 2.0 CTP благодаря командлету Invoke-WmiMethod:

Однако этот метод имеет одну проблему. Он синхронный, что означает, что одновременно осуществляется обращение только к одному компьютеру, и для выполнения других команд необходимо подождать завершения. Но в версии CTP представлена новая концепция – фоновые задания, позволяющая выполнение подобных команд в фоновом режиме. В самом простом варианте команда WMI может быть выполнена в фоновом режиме простым добавлением параметра –AsJob:

Можно просмотреть состояние итогового задания, выполнив Get-PSJob, а окончательные результаты задания можно просмотреть, выполнив Receive-PSJob. (Управление заданиями будет рассмотрено более подробно в следующей статье.) Однако командлет Invoke-Command предоставляет лучшие способы выполнения команд в фоновом режиме, например следующий:

Таким образом, команда Get-WmiObject передается всем указанным компьютерам, затем выполняется локально. Обычное выполнение происходит гораздо быстрее без необходимости использования подключений RPC инструментария WMI. Вместо этого Invoke-Command использует WinRM, который по умолчанию использует порт 80 или 443. Эти порты упрощают перемещение брандмауэров и являются полностью настраиваемыми. Invoke-Command также поддерживает дополнительные параметры для альтернативных учетных данных и регулирования, позволяя работать с сотнями компьютеров при параллельной работе всего некоторых из них. Это позволяет избежать перегрузки и излишних издержек.

Повторно используемые пространства выполнения

Если планируется удаленное управление определенным набором компьютеров более одного раза, следует рассмотреть использование пространств выполнения, а не простых списков имен компьютеров. Пространство выполнения в Windows PowerShell – это просто экземпляр механизма интерпретатора команд, выполняемый локально на компьютере как окно консоли интерпретатора команд или в фоновом режиме на удаленном компьютере. Запуск пространства выполнения осуществляется очень просто:

Поскольку пространства выполнения также используют WinRM, они также по умолчанию используют порт 80 (или 443, если указан параметр –UseSSL). Они также должны принимать альтернативные учетные данные и т. д. При получении итоговых объектов пространства выполнения их можно передать командлету Invoke-Command, и Windows PowerShell передаст команду компьютерам, на которых существуют пространства выполнения:

Преимущество заключается в том, что пространства выполнения остаются активными, пока интерпретатор команд открыт, поэтому их можно просто повторно использовать для дополнительных команд.

Удаленная работа слияния

Пространства выполнения также являются ключевыми объектами для удаленной работы слияния. Например, на рис. 1 показано созданное мною пространство выполнения на удаленном компьютере, полученная ссылка на это пространство выполнения и последующее использование командлета Push-Runspace для активации пространства выполнения. После этого я выполняю команды на удаленном компьютере аналогично тому, как позволяет SSH или средства удаленного интерпретатора команд. Выполнение Pop-Runspace возвращает исходное пространство выполнения «local», а командная строка оболочки помогает отслеживать местонахождение.

Рис. 1. Использование пространства имен для выполнения команд на удаленном компьютере (щелкните изображение, чтобы увеличить его)

Точная последовательность выполненных мною команд выглядит следующим образом:

Этот прием называется слиянием, поскольку одновременно удаленные интерактивные пространства выполнения на одном сервере могут быть открыты несколькими администраторами — происходит их «слияние» с отдельных рабочих станций на сервер. Новая модель безопасности в Windows PowerShell 2.0 позволяет создавать ограниченные интерпретаторы команд и командлеты, поэтому может быть запрещено внесение каждым администратором глобальных изменений. Каждый администратор ограничивается собственной областью в интерпретаторе команд. (Для этих новых методов обеспечения безопасности требуется установка определенного специального программного обеспечения на языке, предназначенном для платформы .NET Framework. Это выходит за рамки статьи о Windows PowerShell, но приятно знать, что такие возможности существуют.)

«Убойное» приложение в 2.0

В версию CTP Windows PowerShell 2.0 входит потрясающий список новых возможностей. По моему мнение, удаленная работа – это «убойное» приложение. Она выгода для всех администраторов практически во всех средах.

Вам следует ознакомиться с этими новыми функциями, чтобы вы могли предоставить свои предложения группе разработки. Вам необходимо управления портами WinRM по умолчанию через групповую политику? Должны ли командлеты работать по-другому? Присутствуют ли проблемы производительности? Достаточно ли просто осуществляется настройка WinRM? Вы можете внести свой вклад, отправив предложения на веб-узле connect.microsoft.com, или поделиться мнением с обладателями звания MVP, включая меня (чтобы связаться со мной, оставьте отзыв на форумах ScriptingAnswers.com). Поэтому примите участие и помогите в создании «убойного» приложения для Windows PowerShell следующего поколения!

Командлет месяца: Select-Object

Попробуйте выполнить следующую команду: Get-Service | ConvertTo-HTML | Out-File Services.htm. Теперь просмотрите полученный файл HTML в веб-обозревателе. Довольно много информации, не так ли? Если бы только существовал способ немного ограничить ее, выбрав только нужную информацию. Именно это выполняет командлет Select-Object. Например, предположим, необходим список имен служб и их текущего состояния. Можно использовать следующее: Get-Service | Select Name,Status | ConvertTo-HTML | Out-File Services.htm.

Читать еще:  Как отменить обновление с Windows 8.1 до Windows 10

Однако необходимо помнить только одно: командлет Select-Object сбрасывает исходный объект, в этом случае службы, и создает пользовательский объект (тип объекта PSCustom), содержащий только указанные свойства. Все функции исходного объекта более недоступны, поэтому, наверное, вам потребуется разместить Select-Object в конце конвейера, обеспечивая максимально долгую работу с объектом.

Windows PowerShell

Windows PowerShell – расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев. Впервые публично язык был продемонстрирован на Профессиональной конференции разработчиков (англ. Professional Developers Conference, PDC) в сентябре 2003 года под кодовым названием Monad. Версия 1.0 выпущена в 2006 году и сейчас доступна для Microsoft Windows XP с пакетом обновления 2-3, Microsoft Windows Server 2003, Microsoft Windows Vista, и встроена в Microsoft Windows Server 2008 как необязательный компонент.

Windows PowerShell 2.0 был выпущен в составе Microsoft Windows 7, Microsoft Windows 8 и Microsoft Windows Server 2008 R2 как неотъемлемый компонент системы. Кроме того, вторая версия доступна и для других систем, таких как Microsoft Windows XP SP3, Microsoft Windows Server 2003 SP2, Microsoft Windows Vista SP1, Microsoft Windows Vista SP2 и Microsoft Windows Server 2008.

Windows PowerShell построен на базе Microsoft .NET Framework и интегрирован с ним. Дополнительно PowerShell предоставляет удобный доступ к COM, WMI и ADSI, равно как и позволяет выполнять обычные команды командной строки, чтобы создать единое окружение, в котором администраторы смогли бы выполнять различные задачи на локальных и удалённых системах.

Эти административные задачи обычно выполняются с помощью командлетов (в оригинале cmdlets), которые являются специализированными классами .NET. Пользователь может комбинировать их в скриптах (сценариях), используя различные конструкции, утилиты командной строки и обращения к обычным классам .NET, объектам WMI или COM. Кроме того, можно использовать различные хранилища данных, такие как файловая система или реестр Windows, которые предоставляются PowerShell посредством поставщиков (англ. providers).

Windows PowerShell также предоставляет механизм встраивания, благодаря которому исполняемые компоненты PowerShell могут быть встроены в другие приложения. Эти приложения затем могут использовать функциональность PowerShell для реализации различных операций, включая предоставляемые через графический интерфейс. Этот подход применён в Microsoft Exchange Server 2007 для реализации управляющей функциональности в виде командлетов PowerShell и графических утилит управления в виде оболочек PowerShell, которые вызывают необходимые командлеты. Таким образом, графический интерфейс управления находится поверх промежуточного слоя – PowerShell. Другие приложения Microsoft, включая Microsoft SQL Server 2008, System Center Operations Manager и System Center Data Protection Manager также предоставляют доступ к своим интерфейсам управления через командлеты PowerShell. В будущем все серверные приложения Microsoft на платформе Windows будут использовать PowerShell тем или иным образом.

Windows PowerShell включает свою собственную расширяемую справку, доступную (в том числе из командной строки) через командлет Get-Help.

Установка PowerShell 2.0 в Windows XP — 2008

В настоящий момент доступен релиз PowerShell 2.0, а сам PowerShell второй версии по-умолчанию входит в состав Windows 2008R2 и Windows 7. Но для Windows XPSP3, Windows 2003SP2, Windows VistaSP1, Windows 2008 и 2008SP2 все необходимое можно установить единым пакетом, который называется Windows Management Framework. В состав фрейворка входят — Windows PowerShell 2.0, WinRM 2.0 и BITS 4.0. Скачать готовый пакет можно с адреса — support.microsoft.com/kb/968929. . Для XP предлагается exe файл, для Windows 2008 — msu. Доступна и русская версия поэтому будьте внимательны. Устанавливаются оба двойным щелчком.
После распаковки пакета принимаем лицензионное соглашение.

Ждем пока распакуются и установятся обновления.

По окончании потребуется перезагрузка системы.

Поле перезагрузки ждем пока будут применены новые обновления.

После чего значок для запуска PowerShell (Windows PowerShell Modules) появится в меню Администрирование. При первом запуске скорее всего появится сообщение о том, что на даннгом компьютере выполнение PowerShell скриптов запрещено и как рекомендация набрать «get-help about_signing«. Если был установленн heccrqb вариант, то все подстказки будут полуены на русском.

Вся идея в том, что выполнение скриптов регулируется политикой. Просмотреть текущий статус политики выполнения можно командой:

PS> Get-ExecutionPolicy AllSigned

Существует четыре типа политики:

  • Restricted — возможно выполнение отдельных команд, сценарии запрещены;
  • AllSigned — разрешено выполнение подписанных сценариев, перед запуском запрашивается подтверждение;
  • RemoteSigned – похож на предыдущий, не запрашивается выполнение сценариев, подписанных надежным издателем, не требуется подпись для локальных сценариев;
  • Unrestricted – можно запускать неподписанные сценарии.

Основы Windows PowerShell

В данной статье мы рассмотрим такую технологию от компании Microsoft как Windows PowerShell, мы поговорим о том, что такое PowerShell, что такое командлеты и конвейер, как писать сценарии и модули, а также затронем другие не менее важные и полезные возможности Windows PowerShell.

Что способствовало появлению Windows PowerShell?

До появления PowerShell существовали (и существуют) следующие инструменты для автоматизации и администрирования сервисов: командная строка Windows и Windows Script Host. Но у этих технологий есть недостатки.

У командной строки Windows есть и возможность выполнять какие-то административные задачи и возможность записать алгоритм действий, сохранив его в виде скрипта (bat-файла), при этом можно использовать некие элементы программирования, например, использовать переменные, условные конструкции и даже что-то вроде циклов.

Большинство программных продуктов имеет консольный интерфейс, т.е. мы можем управлять программой, используя командную строку, при этом экономя ресурсы за счет отсутствия затрат на работу графического интерфейса. Компания Microsoft для серверной операционной системы Windows Server даже выпускает редакции без графического интерфейса (Server Core, в Windows Server 2016 даже есть Nano Server), но всего этого недостаточно, так как возможности командной строки ограничены, т.е. написать какую-то сложную логику для автоматизации чего-либо мы не сможем, а если и сможем, то на это нам потребуется время и знания.

Также недостатком командной строки является то, что для полноценного управления сервером мы используем различные консольные утилиты программных продуктов, и поэтому использовать командную строку для администрирования на самом деле сложно, с точки зрения того, что у всех этих утилит разный синтаксис, параметры, методы использования и для того чтобы выполнять типовые задачи, т.е. каждодневные, приходиться держать все это в памяти, а для выполнения нетиповых задач приходиться сначала почитать справку или документацию.

Технология Windows Script Host позволяет выполнять все административные задачи, что и командная строка, включая их автоматизацию путем написания WSH скриптов, но здесь мы уже можем использовать полноценные языки программирования (VBScript и JScript), т.е. можно реализовывать сложную логику и алгоритмы. К тому же с помощью WSH мы управляем программными продуктами через объектный интерфейс, другими словами Windows Script Host намного «круче» чем командная строка. Но данная технология также не стала тем идеальным инструментом администрирования и автоматизации этого администрирования для системных администраторов, так как Windows Script Host требовал знаний вышеперечисленных языков программирования, что для системных администраторов на самом деле лишнее. Администраторам нужно всего лишь простой инструмент администрирования с возможностью запрограммировать какие-то действия, а углубляться в объектные модели программных продуктов на языках программирования VBScript и JScript им не хочется.

В итоге компании Microsoft необходимо было разработать такой инструмент администрирования для системных администраторов, который бы на 100 процентов удовлетворял все потребности сисадминов как в плане возможностей администрирования и автоматизации, так и в плане удобства и простоты использования, таким образом, появился Windows PowerShell.

Что такое Windows PowerShell?

Windows PowerShell – это язык сценариев и командная оболочка Windows, которые разработаны для администрирования и конфигурирования операционных систем Windows. PowerShell разработан на основе среды CRL и платформы .NET Framework и в отличие от командной строки, которая принимает и возвращает текст, Windows PowerShell работает с объектами. У каждого объекта в PowerShell есть свойства и методы, которые можно использовать для управления этими объектами.

В Windows PowerShell Microsoft разработала концепцию командлетов (cmdlets), которая представляет собой систему именования команд «Глагол-Существительное». Данная система позволяет системным администраторам быстрей освоить и упростить работу с PowerShell.

С помощью Windows PowerShell можно:

  • Получать доступ к файловой системе;
  • Управлять реестром;
  • Управлять службами;
  • Управлять процессами;
  • Настраивать операционную систему;
  • Устанавливать программное обеспечение;
  • Устанавливать роли и компоненты сервера;
  • Осуществлять администрирование и конфигурирование ролей и компонентов сервера;
  • Писать и использовать сценарии для автоматизации управления и администрирования;
  • Выполнять другие задачи системных администраторов.

Windows PowerShell содержит многие часто используемые утилиты и команды, запускаемые из командной строки, например ipconfig, ping и другие. Сделано это для того, чтобы облегчить переход системных администраторов с командной строки на PowerShell.

Читать еще:  Что находится в системной папке «FileRepository» и как её очистить

Также для удобства многие часто используемые команды и утилиты в PowerShell имеют синонимы (Alias), например cls — это синоним командлета Clear-Host, dir синоним Get-ChildItem (полный список синонимов можно посмотреть путем запуска командлета Get-Alias).

Для упрощения поиска нужной команды в PowerShell есть специальный командлет Get-Command, с помощью которого можно осуществлять поиск, как по глаголу, так и по существительному. Все команды в Windows PowerShell сгруппированы в модули (например, Hyper-V, NetTCPIP), что также упрощает поиск нужной команды.

После того как нужная команда найдена, можно посмотреть инструкцию по работе с этой командой, т.е. справку, для этих целей есть специальный командлет Get-Help, например следующая команда покажет справку по командлету Get-Command:

Справка в Windows PowerShell может быть краткой, детальной (параметр -Detailed), полной (параметр -Full), а также можно выводить только примеры (параметр — Examples). Следующая команда покажет только примеры использования командлета Get-Command:

Справка PowerShell обновляемая, т.е. ее можно обновить командой Update-Help.

Версии Windows PowerShell

Первая версия PowerShell 1.0 появилась 14 ноября 2006 года и выпускалась в виде отдельного дистрибутива, который можно было установить на следующие версии операционных систем Windows: Windows XP Service Pack 2, Windows Server 2003 Service Pack 1 и Windows Vista.

В Windows Server 2008 PowerShell 1.0 поставлялся в виде компонента, который также нужно было устанавливать.

Начиная с Windows 7 и Windows Server 2008 R2, PowerShell поставляется как неотъемлемый компонент системы (т.е. предустановленный, устанавливать его не надо). Ниже представлена таблица соответствия версии PowerShell и версии операционной системы Windows (т.е. какая версия PowerShell по умолчанию установлена в той или иной версии Windows):

Microsoft PowerShell Core

О программе

Что нового

Новое в версии 7.0.0 (Stable) :

Системные требования

Windows:

  • Windows 7 SP1 и выше.
  • Windows Server 2008 R2 и выше.
  • Доступны экспериментальные (неподдерживаемые) выпуски для Windows на базе ARM32/ARM64.
  • Дополнительно, для Windows 7 и Windows Server 2008 R2 требуется Windows Management Framework (WMF) 4.0 или новее.

Linux:

  • Поддерживается Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04, Ubuntu 18.10, Debian 9, CentOS 7, Red Hat Enterprise Linux (RHEL) 7, openSUSE 42.3, openSUSE Leap 15, Fedora 27, Fedora 28 и Arch Linux.
  • Доступны не поддерживаемые сборки сообщества для Arch Linux и Kali Linux, а также файл AppImage.
  • Доступны экспериментальные (не поддерживаемые) выпуски для Raspbian (Stretch).

Mac:

  • macOS версии 10.12 и выше.

Полезные ссылки

Подробное описание

PowerShell является достойной многофункциональной заменой для стандартной командной строки Windows. С выходом версии 6.0, это консольное приложение доступно для пользователей Mac и Linux, а также включает расширенные функциональные возможности.

PowerShell Core это новая кросплатформенная версия оболочки командной строки Windows. PowerShell Core имеет открытый исходный код и работает на платформе .NET Core, в отличии от предыдущих версий, работающих на .NET Framework. Приложение может получать доступ к функциям командной строки, COM-объектам и библиотекам классов .NET. Это расширяет возможности выполнения различных задач и администрирования системы.

Для упрощения работы и расширения возможностей, используются командлеты (cmdlets) – встроенные в PowerShell команды, выполняющие различные функции. PowerShell Core полностью совместим с Windows PowerShell и вы можете тестировать новые версии, параллельно с установленной рабочей версией.

Оценка пользователей

Другие программы

Microsoft .NET Core
Компоненты для разработки и запуска приложений среды .NET Core

Windows Terminal
Терминал от Microsoft объединяет инструменты CMD, PowerShell и WSL

Основы PowerShell: требования к системе

Как нет двух одинаковых операционных систем Windows, так и нет двух одинаковых версий оболочки Windows PowerShell. Шаги, которые нужно предпринять для запуска оболочки PowerShell 2.0 в системе Windows 8 (http://windowsitpro.com/windows-client/windows-8) заметно отличаются от действий, необходимых для запуска версии PowerShell 3.0 на сервере Windows Server 2008. При этом обилие документации по оболочке PowerShell может усложнить поиск точных сведений о том, что именно следует сделать для настройки определенной версии PowerShell в конкретной операционной системе

Я попытаюсь упростить информацию о системных требованиях, разделив ее в соответствии с используемой операционной системой. Точнее, я затрону те операционные системы, в которых могут быть запущены обе версии оболочки PowerShell (2.0 и 3.0): Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2 и Server 2008. Для каждой операционной системы я подробно расскажу о запуске обеих версий PowerShell, а также среды разработки PowerShell Integrated Scripting Environment (ISE). Иногда отличий между операционными системами с точки зрения запуска оболочки PowerShell будет немного, но даже в этих случаях я постараюсь четко их обозначить, чтобы вы ясно понимали, как развернуть оболочку PowerShell в своем окружении.

Windows 8

Если вы уже используете систему Windows 8, вам повезло. Ядро PowerShell 3.0 и среда ISE в ней установлены и активированы. Вы можете запустить любое из этих двух решений, как и любое другое приложение, из меню Start, с рабочего стола или из командной строки Windows. Оболочка PowerShell 3.0 готова к запуску и ждет только вашего решения использовать ее.

К сожалению, сказанное не распространяется на оболочку PowerShell 2.0. Хотя ядро PowerShell 2.0 является частью пакета, то есть установлено в системе Windows 8, необходимо сначала активировать компонент Microsoft. NET Framework 3.5. И на то есть причина. Так как ядро PowerShell 2.0 скомпилировано в среде Common Language Runtime (CLR) 2.0, ему требуется платформа. NET версии 3.5 или ниже (назад к. NET 2.0). Оболочке PowerShell 3.0 необходимы версии. NET 4.0 или. NET 4.5, каждая из которых построена на основе CLR 4.0. В системе Windows 8 компоненты. NET 4.5 установлены и активированы по умолчанию, и именно по этой причине вы можете задействовать оболочку PowerShell 3.0 без предварительной настройки.

Если вам необходима возможность использовать как версию PowerShell 3.0, так и версию PowerShell 2.0, вы должны сначала активировать компонент. NET Framework 3.5 (включает версии. NET 2.0 и 3.0) в окне Windows Features. Это шаг активирует платформу.NET 3.5 и позволяет запускать версию PowerShell 2.0 наравне с PowerShell 3.0. Однако вы не найдете пункт меню Start, запускающий оболочку PowerShell 2.0. Для запуска потребуется выполнить следующую команду из командной строки системы Windows или оболочки PowerShell:

После запуска этой команды все последующие команды, запущенные в рамках текущей сессии, будут обработаны ядром PowerShell 2.0. Однако имейте в виду, что оболочка PowerShell 3.0 обратно совместима с командами, провайдерами, сценариями, модулями и привязками из версии PowerShell 2.0. Поэтому единственный случай, когда вам может понадобиться использовать ядро PowerShell 2.0, это если вы хотите проверить совместимость сценария или основной программы, написанной специально для оболочки PowerShell 2.0 и среды CLR 2.0.

Также будьте готовы к тому, что вы не сможете запустить среду PowerShell 2.0 ISE, если установлена оболочка PowerShell 3.0. При таких условиях вам удастся запустить версию PowerShell 2.0 только из командной оболочки. Однако вы можете использовать среду PowerShell 3.0 ISE для создания сценария, и потом запустить созданный сценарий в оболочке PowerShell 2.0 для проверки совместимости. Может быть это и не оптимальное, но все же решение.

Windows Server 2012

Если говорить об оболочке PowerShell, то система Server 2012 во многом похожа на Windows 8. По умолчанию установлены, активированы и готовы к использованию ядро и среда ISE версии PowerShell 3.0. Вы можете запустить их из меню Start, с рабочего стола или из командной строки Windows. Кроме того, вы можете запустить оболочку PowerShell 3.0 из окна Server Manager.

Однако для работы оболочки PowerShell 2.0 требуется немного другой подход к подготовке системы, чем при работе с Windows 8. Для начала вы должны добавить компонент. NET 3.5, а не просто включить его. Для этого используйте функцию Add roles and Features в окне диспетчера сервера, чтобы добавить в систему компонент. NET Framework 3.5 (включающий версии 2.0 и 3.0). Чтобы получить доступ к этому компоненту, выберите тип установки Role based или Feature based, когда попадете на страницу выбора типа установки.

Следующий шаг в подготовке к PowerShell 2.0 — это добавление актуального ядра. Снова используйте функцию Add Roles and Features в окне Server Manager, выберите тип установки Role-based или Feature-based и компонент Windows PowerShell 2.0 Engine.

Читать еще:  Способ первый — Диспетчер устройств Windows

После того как вы добавили возможности пакета. NET 3.5 и ядра PowerShell 2.0, вы сможете запустить ядро PowerShell 2.0. Для этого введите следующую команду в командной строке Windows или PowerShell:

Windows 7

В отличие от систем Windows 8 и Server 2012, в состав системы Windows 7 не входят предустановленные ядро PowerShell 3.0 Engine и среда ISE. Наоборот, в состав Windows 7 входят установленные, активированные и готовые к запуску ядро PowerShell и редактор ISE версии 2.0.

Имейте в виду, что если вы щелкаете правой кнопкой мыши на значке PowerShell в меню Start и выбираете пункт Properties, то в строке Target может быть прописана версия v1.0, как показано на приведенном экране. Однако при этом оболочка PowerShell остается работоспособной и вы можете проверить данное утверждение, открыв окно PowerShell и запустив команду Get-Host.

Вы можете запустить оболочку PowerShell или редактор ISE из меню Start или командной строки. Чтобы запустить оболочку PowerShell 2.0 с помощью командной строки, введите команду:

Чтобы запустить редактор PowerShell 2.0 ISE из командной строки, введите команду:

Система Windows 7 поддерживает использование версии PowerShell 3.0, но для ее запуска вам нужно будет выполнить несколько шагов.

  1. Установите пакет обновления Windows 7 SP1 (http://www.microsoft.com/en-us/download/details.aspx?id=5842), если еще не сделали этого.
  2. Выполните полную установку компонентов. NET 4.0 (http://www.microsoft.com/en-us/download/details.aspx?id=17851) или. NET 4.5(http://www.microsoft.com/en-us/download/details.aspx?id=30653).
  3. Удалите все предыдущие сборки Windows Management Framework (WMF) 3.0.
  4. Установите последнюю сборку WMF 3.0 (http://www.microsoft.com/en-us/download/details.aspx?id=34595).

Вдобавок к ядру PowerShell 3.0 и среде ISE пакет WMF 3.0 включает и другие компоненты, необходимые для запуска оболочки PowerShell 3.0.

  • WS-Management 3.0. Этот компонент поддерживает работу службы Windows Remote Management (WinRM) и протокола WSMan, которые делают возможным использование компонентов PowerShell, связанных с дистанционным управлением.
  • Windows Management Instrumentation (WMI) 3.0. Этот компонент поддерживает функции, которым необходим инструментарий WMI, например команды Common Information Model (CIM).

Установка пакетов. NET и WMF представляет собой интуитивно понятные процессы, но убедитесь, что вы прочитали все инструкции на странице загрузки, перед тем как установить пакеты в своей системе. Еще одна важная деталь заключается в том, что пакет WMF несовместим с некоторыми приложениями:

  • Microsoft System Center 2012 Configuration Manager;
  • Microsoft System Center 2012 Virtual Machine Manager;
  • Microsoft Exchange Server 2012;
  • Microsoft Exchange Server 2007;
  • Microsoft SharePoint 2010;
  • Windows Small Business Server 2011;
  • Windows Small Business Server 2008.

Если в вашей системе были установлены приложения из приведенного списка, вам не следует устанавливать пакет WMF 3.0, а следовательно обновление до версии PowerShell 3.0 становится невыполнимой задачей (если только вы не найдете обходной путь).

Однако если рассматривать вариант, в котором вы сможете выполнить установку пакета WMF 3.0, то оболочка PowerShell 3.0 и среда ISE будут готовы к запуску, как только закончится установка. В системе Windows 7 запуск ядра PowerShell выполняется точно так же как запуск оболочки PowerShell и редактора ISE версии 2.0 (то есть из меню Start или из командной строки). Если вы хотите запустить ядро оболочки PowerShell 2.0, введите в командную строку следующую команду:

Однако имейте в виду, что после установки пакета WMF 3.0 вы сможете получить доступ к ядру оболочки PowerShell 2.0 только через эту команду. Кроме того, вы больше не сможете использовать редактор PowerShell ISE и запускать ядро PowerShell 2.0 из оболочки PowerShell 3.0. Вам придется задействовать командную оболочку PowerShell, чтобы выполнять операции версии 2.0. Однако, как и при работе с системами Windows 8 и Server 2012, вы сможете использовать редактор PowerShell 3.0 ISE, чтобы создавать свои сценарии и запускать их на ядре PowerShell 2.0 для проверки совместимости.

Windows Server 2008 R2

Система Server 2008 R2 очень похожа на Windows 7 с точки зрения настройки PowerShell. По умолчанию ядро PowerShell 2.0 и редактор ISE установлены в системе. Однако, в отличие от системы Windows 7, на платформе Server 2008 R2 активировано ядро, но не среда ISE. Вам придется установить ее вручную при помощи функции Add Features в окне Server Manager, позволяющей добавить компонент Windows PowerShell Integrated Scripting Environment (ISE). Как только этот компонент будет добавлен, вы сможете запускать и оболочку PowerShell 2.0, и ISE, точно так же, как в системе Windows 7 (с помощью меню Start или командной строки).

Процесс обновления оболочки PowerShell 2.0 до версии Powershell 3.0 похож на процесс обновления в системе Windows 7. Вы устанавливаете пакет обновления SP1, загружаете компоненты. NET 4.0 или. NET 4.5, удаляете все предыдущие сборки WMF 3.0 и устанавливаете самую последнюю сборку WMF 3.0, соблюдая все предосторожности, описанные в разделе, посвященном системе Windows 7. Однако если вы хотите использовать редактор РоwerShell 3.0 ISE после обновления, вы должны быть уверены, что редактор PowerShell 2.0 ISE был активирован до установки пакета WMF 3.0.

После установки пакета WMF 3.0 вы сможете запустить ядро PowerShell 3.0 и редактор ISE, точно так же, как вы запускали их в системе Windows 7 (то есть с помощью меню Start или командной строки). Чтобы получить доступ к ядру PowerShell 2.0, нужно ввести следующую команду в командной строке системы Windows или оболочки PowerShell:

Windows Server 2008

Когда дело дойдет до настройки PowerShell, вы увидите, что платформа Windows Server 2008 действительно отличается от других систем. Эта операционная система не включает в себя предустановленных компонентов PowerShell 2.0 или PowerShell 3.0. В результате вам придется проделать больше работы, чтобы запустить какую-либо из этих версий в своей системе.

Если вы хотите установить ядро PowerShell 2.0 и редактор ISE на компьютер с системой Server 2008, сначала придется удалить все предыдущие версии служб PowerShell или WinRM. Затем, вам нужно установить пакет WMF Core (http://support.microsoft.com/kb/968929/en-us), включающий в себя ядро PowerShell 2.0, среду ISE, а также пакет WinRM 2.0. Теперь вы сможете запускать компоненты PowerShell точно так же, как вы запускали их в системах Windows 7 или Server 2008 R2.

Процесс установки ядра PowerShell 3.0 и ISE не так прост и требует дополнительных шагов.

  • Установите пакет обновления Server 2008 SP2 (http://www.microsoft.com/en-us/download/details.aspx?id=16468), если он еще не был установлен.
  • Установите пакет WMF Core (http://support.microsoft.com/kb/968929/en-us), если он еще не был установлен. Наличие компонента WMF Core — это предварительное условие для установки пакета WMF 3.0 на компьютерах с системой Server 2008.
  • Полностью установите компоненты. NET 4.0 (http://www.microsoft.com/en-us/download/details.aspx?id=17851) или. NET 4.5 (http://www.microsoft.com/en-us/download/details.aspx?id=30653).
  • Установите компонент Extended Protection for Authentication (http://support.microsoft.com/kb/968389). Этот компонент защищает вашу систему от возможных атак и позволяет использовать параметр UseSSL при создании удаленной сессии.
  • Удалите все предыдущие сборки WMF 3.0.
  • Установите самую последнюю сборку WMF 3.0 (http://www.microsoft.com/en-us/download/details.aspx?id=34595).

После завершения процесса установки вы можете обратиться к ядру PowerShell и редактору ISE, как при запуске в системах Windows 7 или Server 2008 R2 (то есть из меню Start или командной строки). Вы можете получить доступ к ядру PowerShell 2.0 так же, как и в других системах, с помощью следующей команды в командной строке системы Windows или оболочки PowerShell:

Игра в PowerShell

Установка PowerShell может быть похожа на игру «в наперстки» — вам нужно угадать, где спрятан шарик. Если вы точно знаете, какую версию PowerShell и в какой операционной системе хотите использовать, весь вопрос заключается лишь в выборе правильного набора инструкций.

Помните, что вы можете запустить ядро PowerShell 3.0 и среду ISE в любой из перечисленных здесь операционных систем. С версией PowerShell 3.0 вы не только получаете несколько важных новых команд, но и такие компоненты как Windows PowerShell Web Access, интеграцию с моделью Common Information Model (CIM), отключенные сессии и поддержку для Windows Workflow Foundation. Редактор PowerShell 3.0 ISE был значительно расширен с добавлением поддержки таких технологий как IntelliSense, автоматическое сохранение, копирование блока, сопоставление с эталоном и раскрывающиеся-закрывающиеся разделы. И самое главное, что вы по-прежнему можете получить доступ к ядру PowerShell 2.0.

Даже если вы решили работать только с версией PowerShell 2.0, вы все равно должны убедиться в том, что работаете с правильной версией PowerShell и что она запускается в нужной вам системе. В связи с этим у вас должна быть вся необходимая информация для настройки окружения PowerShell 2.0.

Поделитесь материалом с коллегами и друзьями

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов:
×
×