Windows PowerShell – что это такое и как запустить?
Windows PowerShell представляет собой интегрированное средство автоматизации пользовательских сценариев для операционной системы Microsoft Windows, построенное на основе интерфейса командной строки. Оно предназначается главным образом для системных администраторов, а также для всех продвинутых пользователей.
История появления PowerShell в семействе операционных систем Windows такова. Надо сказать, что консольная утилита, позволяющая взаимодействовать с компьютером посредством ввода команд, присутствовала там изначально (собственно, именно посредством такой утилиты когда-то, ещё до широкого распространения средств графического интерфейса пользователя, предполагалось главным образом осуществлять взаимодействие с системой, начиная с MS-DOS самых первых версий).
Сначала существовал довольно ограниченный набор соответствующих команд. Будучи реализованными в составе соответствующей подсистемы ОС (средствами вышеназванной утилиты), они и представляли собой так называемый интерпретатор командной строки. Любые другие задачи могли вызываться из данной оболочки в качестве отдельных программ, оформленных тоже как консольные приложения. Уже в то время имелись и некоторые средства автоматизации задач, реализованные с помощью языка сценариев (с примерами его вы можете познакомиться, открыв в текстовом редакторе любой .BAT-файл).
Windows Powershell: Что это и как использовать? Основные команды ️⚙️
Очень быстро, однако, стало понятно, что для полноценной автоматизации средств уже имеющегося интерпретатора было недостаточно, особенно после широкого распространения Windows. Правда, уже тогда многие действия удобнее было автоматизировать с помощью приложений, использующих все преимущества графического интерфейса, однако по-прежнему существовала (и существует до сих пор) и потребность в командной строке, позволяющей при достаточном уровне квалификации создавать различные пакетные задания. К сожалению, тогдашний язык сценариев был ещё слишком слаб для реализации сколь либо сложных алгоритмов.
Положение несколько изменилось с появлением Windows 98, в составе которой впервые появляется такое средство, как WSH (Windows Script Host, или сервер сценариев Windows). Оно уже позволяло запускать сценарии с использованием таких скриптовых языков, как JScript и VBScript (и других дополнительно устанавливаемых языковых модулей). К сожалению, у Windows Script Host отсутствует интеграция с существующей командной оболочкой, а также встроенная документация (даже сейчас далеко не все пользователи Windows вообще знают о существовании такого средства). Поэтому в 2003 году Microsoft приступила к разработке новой продвинутой командной оболочки, призванной автоматизировать весь спектр административных задач, впоследствии ставшей известной как PowerShell.
Команды, выполняемые внутри PowerShell, теперь могут представлять собой не только стандартные операции по работе с системой, как раньше, или названия исполняемых файлов, а ещё и целые специализированные классы среды исполнения приложений .NET – так называемые командлеты. Появился и новый улучшенный язык сценариев, включающий в себя реализацию динамических типов, на основе всё того же .NET. Освоив его, продвинутые пользователи теперь могли создавать свои сценарии автоматизации, не прибегая к помощи полноценных сред программирования и таких языков, как C# или VB.NET.
Как запустить PowerShell в Windows?
Для запуска оболочки PowerShell существует несколько способов. Отметим, что её можно запускать как от имени простого пользователя, так и от имени администратора (для этого предусмотрены отдельные пункты меню).
В операционных системах, предшествующих Windows 8, вы можете открыть PowerShell из меню «Пуск», выбрав последовательно пункты «Все программы» и «Стандартные». Также вы можете найти данное средство, введя в строке поиска меню «Пуск» запрос «Интегрированная среда сценариев» или «PowerShell» (для запуска от администратора щёлкните по появившемуся пункту Интегрированная среда сценариев Windows PowerShell и выберите пункт Запуск от имени администратора.
В Windows 8 не имеется штатной поддержки меню «Пуск» (кроме того, которое вызывает оболочку Modern), однако вы легко можете найти PowerShell в контекстном меню, всплывающем по нажатию комбинации клавиш Win-X. Либо нажав правой кнопкой мыши на меню Пуск. Это же относится и к Windows 10.
Также, если вы используете Windows 10, то сможете отыскать соответствующий пункт и во вновь вернувшемся в этой системе меню «Пуск» (или любой существующей реализации этого меню сторонними компаниями).
Наконец, для запуска PowerShell непосредственно из командной строки можно использовать команду PowerShell_ISE или ISE.
На этом все. Всего хорошего!
Источник: prostocomp.net
Windows PowerShell
Шаблон:Нет изображения Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего Шаблон:Lang-en , PDC) в сентябре 2003 года под кодовым названием Monad.
Windows PowerShell 2.0 был выпущен в составе Windows 7, Windows 8 и Windows Server 2008 R2, а также Windows Server 2012 R2, как неотъемлемый компонент системы. Кроме того, вторая версия доступна и для других систем, таких, как Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP1, Windows Vista SP2, Windows Server 2008 [1] и Windows Server 2012.
Windows PowerShell включает свою собственную расширяемую справку, доступную (в том числе из командной строки) через командлет Get-Help .
- 1 Предыстория
- 2 Обзор
- 3 Командлеты
- 3.1 Конвейер
- 3.2 Сценарии
Предыстория [ ]
Microsoft пыталась решить некоторые из этих недостатков с помощью Windows Script Host, вышедшего в 1998 году в составе Windows 98, и утилиты для работы с ним из командной строки cscript.exe . Он интегрируется с JScript и VBScript , используя API , предоставляемое приложениями через Component Object Model (COM). Однако у этого решения свои недочёты. Windows Script Host не интегрирован с оболочкой, отсутствует встроенная документация. Различные версии Windows также предоставляют командные интерпретаторы специального назначения (такие, как WMIC) со своими собственными наборами команд. Они не интегрированы с командной оболочкой и не дают возможностей для взаимодействия.
В 2003 Microsoft начала разработку новой оболочки, называемой Monad (также известной как Microsoft Shell или MSH). Monad должен был стать новой расширяемой оболочкой командой строки, со свежим дизайном, который позволял бы автоматизировать весь спектр административных задач. Microsoft опубликовала первую публичную бета-версию Monad 17 июня 2005 года.
Вторая и третья бета-версии были выпущены 11 сентября 2005 и 10 января 2006 соответственно. 25 апреля 2006 года было объявлено, что Monad переименован в Windows PowerShell для позиционирования его в качестве значительной части их технологий управления. В это же время была выпущена версия Release Candidate 1 («кандидат на выпуск»). Release Candidate 2 последовал 26 сентября 2006 года.
Финальная версия (Release to Web, RTW) была выпущена 14 ноября 2006 года для Windows XP SP2 и Windows 2003. Финальная версия для Windows Vista стала доступна только 30 января 2007 года.
Последний Windows 7 и Windows Server 2008 R2 одновременно с их выпуском. Для остальных систем (Windows XP, Windows Server 2003, Windows Vista, Windows 2008), вторая версия PowerShell стала доступна в составе комплекта WinRM версии 2.0 и Обзор [ ]
Команды, исполняемые в Windows PowerShell, могут быть в форме командлетов, которые являются специализированными классами .NET , созданными с целью предоставления функциональности в PowerShell в виде сценариев PowerShell ( консоли Windows, предоставляет настраиваемый механизм автозавершения команд, но не обладает возможностью подсветки синтаксиса, хотя при желании её можно обеспечить [2] . В PowerShell также можно создавать псевдонимы ( Шаблон:Lang-en ) для командлетов, которые при вызове преобразуются в оригинальные команды. Кроме того, поддерживаются позиционные и именованные параметры для командлетов. При выполнении командлета работа по привязке значений аргументов к параметрам выполняется самим PowerShell, но при вызове внешних исполняемых файлов аргументы передаются им для самостоятельного разбора.
Другое понятие, используемое в PowerShell, — это конвейер ( Шаблон:Lang-en ). Подобно конвейерам в Шаблон:Lang-en , ETS) PowerShell базируется на системе типов .NET, но реализует некоторые дополнения. Например, она позволяет создавать различные представления объектов, отображая лишь некоторые из их свойств и методов, а также применять специальное форматирование и механизмы сортировки. Эти представления привязываются к оригинальным объектам с помощью конфигурационных файлов в формате Командлеты [ ]
Командлеты ( Шаблон:Lang-en ) — это специализированные команды PowerShell, которые реализуют различную функциональность. Это встроенные в PowerShell команды. Командлеты именуются по правилу Глагол-Существительное , например, Get-ChildItem , благодаря чему их предназначение понятно из названия. Командлеты выводят результаты в виде объектов или их коллекций.
Дополнительно командлеты могут получать входные данные в такой же форме и, соответственно, использоваться как получатели в конвейере. Хотя PowerShell позволяет передавать по конвейеру массивы и другие коллекции, командлеты всегда обрабатывают объекты поочередно. Для коллекции объектов обработчик командлета вызывается для каждого объекта в коллекции по очереди.
Экземпляры объектов создаются в PowerShell и запускаются им при вызове. Командлеты наследуются от Cmdlet или от PSCmdlet , причём последний используется тогда, когда командлету необходимо взаимодействовать с исполняемой частью PowerShell ( Шаблон:Lang-en ). В этих базовых классах оговорены некоторые методы — BeginProcessing() , ProcessRecord() и EndProcessing() , как минимум один из которых реализация командлета должна перезаписать для предоставления своей функциональности. Каждый раз при запуске командлета эти методы вызываются PowerShell по очереди. Сначала вызывается BeginProcessing() , затем, если командлету передаются данные по конвейеру, ProcessRecord() для каждого элемента, и в самом конце — EndProcessing() . Класс, реализующий Cmdlet , должен иметь один атрибут .NET — CmdletAttribute , в котором указываются глагол и существительное, составляющие имя командлета. Популярные глаголы представлены в виде перечисления ( Шаблон:Lang-en ).
В PowerShell, как и в оболочках UNIX/Linux, присутствует конвейер. Этот конвейер служит для передачи выходных данных одного командлета во входные данные другого командлета. В частности, пользователь может вывести результаты командлета Get-Process в командлет Sort-Object (например, для сортировки процессов по дескрипторам), затем в Where-Object , чтобы отфильтровать процессы, которые, например, занимают меньше 1 МБ dd (копирования специальных файлов) передаётся на ввод команды Bzip2 , которая их сжимает максимально возможно (с точки зрения алгоритма сжатия bzip2 , опция -z9 ) и результирующий поток передаёт на stdout (опция -с ), который, в свою очередь, перенаправляется в файл ex.bz2 . Результатом выполнения такой относительно короткой команды станет создание архива, внутри которого будет поток нулевых байтов размером 1 терабайт. Сам процесс создания такого архива применяет в данном случае 2 последовательных конвейера.
Сценарии [ ]
PowerShell включает язык сценариев с Шаблон:Lang-en ) или объектами. Строки могут быть заключены в одиночные кавычки или в двойные кавычки: при использовании двойных кавычек переменные, содержащиеся в строке, будут заменены их значениями. В соответствии с синтаксисом переменных, если путь к файлу помещен в фигурные скобки с предшествующим знаком доллара (то есть $ ), то это будет ссылкой на содержимое файла. Всё, что будет назначено такой переменной, будет записано в файл, и наоборот — при обращении к её содержимому будет выдано содержимое файла.
К свойствам и методам объекта можно обращаться, используя точку ( . ), как в синтаксисе . Объекты создаются с помощью командлета New-Object , добавлять к ним новые свойства можно, используя командлет Add-Member .
Для обработки ошибок PowerShell предоставляет механизм, основанный на .NET. В случае ошибки выдаются объекты, содержащие информацию об ошибке (объект Exception ), которые перехватываются ключевым словом trap . Однако поведение при возникновении ошибок настраивается. Так, можно настроить PowerShell, чтобы в случае ошибки он молча продолжал выполнение без перехвата ошибки. Во второй версии PowerShell также была добавлена конструкция Try Catch Finally .
Сценарии, написанные в PowerShell, можно сохранять между сессиями в файлах цифровой подписью для проверки их целостности.
PowerShell 2.0 [ ]
Microsoft выпустила PowerShell 2.0 в составе Windows 7 и Windows Server 2008 R2. Windows PowerShell 2.0 предустановлен в этих системах. Исключением является режим установки Windows Server 2008 R2 в режиме Core, где PowerShell 2.0 можно доустановить вручную. Для более старых платформ он доступен в составе Windows Management Framework. PowerShell 2.0 вносит некоторые изменения в язык сценариев и API для встраивания, в дополнение к новым 240 командлетам.
Неполный список новых возможностей, включённых в PowerShell 2.0:
- PowerShell Remoting. Используя Шаблон:Lang-en ) в сценариях или функциях PowerShell. Точки прерывания могут быть установлены на строки, столбцы, команды или операции чтения и/или записи переменных. Присутствуют командлеты для установки и контроля точек прерывания в сценариях.
- Eventing (событирование). Эта возможность позволяет слушать, перенаправлять, и выполнять действия при возникновении событий управления или системы. Благодаря событированию хосты PowerShell могут быть оповещены о изменениях состояния в управляемых объектах. Также позволяет сценариям подписываться на ObjectEvents, PSEvents и WmiEvents и обрабатывать их синхронно и асинхронно.
- Windows PowerShell Integrated Scripting Environment (ISE). PowerShell 2.0 включает графическую оболочку для языка, в которую входят встроенный отладчик, подсветка синтаксиса, автозавершение команд. Оболочка позволяет запускать несколько независимых консолей PowerShell с полной поддержкой Background Intelligent Transfer Service.
- Множество новых командлетов, включая, например, Out-GridView , позволяющий вывести результаты конвейера в графическую таблицу (на основе Шаблон:Lang-en ), в которых можно выполнять лишь ограниченный набор инструкций и команд PowerShell.
Сравнение командлетов с аналогичными командами [ ]
В следующей таблице содержится выборка командлетов, поставляющихся с PowerShell, с приведением максимально похожих команд из других широко известных оболочек командной строки.
Следует отметить, что данная таблица приводится для поверхностного ознакомления, она не охватывает всех возможностей представленных оболочек.
- Сравнение командных оболочек
- PowerShell ISE
Примечания [ ]
- ↑Описание Windows Management Framework
- ↑Realtime Syntax Highlighting in PowerShell Console » PowerShell и другие скрипты
- ↑cd без параметров выводит текущий каталог.
- ↑ Clear-Host реализован как предопределённая функция PowerShell.
- ↑ 5,05,1 Available in Windows NT4, Windows 98 Resource Kit, Windows 2000 Support Tools
- ↑ 6,06,1 Available in Windows XP Professional Edition and later
Литература [ ]
Ссылки [ ]
- Обучающие ресурсы по Windows PowerShell
- Центр загрузки установочного пакета Windows PowerShell 1.0 для системы Windows Vista
- Доклад о нововведениях в PowerShell 2.0
- Доклад о регулярных выражениях в Windows PowerShell
- Доклад о возможностях PowerShell и основах написания сценариев
- Windows Management Framework (включающий PowerShell 2.0, WinRM 2.0 и BITS 4.0) для Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008
- Блог «PowerShell и другие скрипты» «Блог Бешкова Андрея из Microsoft, о Powershell» Бесплатная русская книга о PowerShell Вторая бесплатная английская книга о PowerShell Веб-узел Windows PowerShell Капитан PowerShell и администрирование будущего Могучий шелл
- Виртуальная лаборатория «Creating Windows PowerShell Script Cmdlets»
- PowerShell 2.0 RTM доступен для всех версий Windows
Архивация и восстановление • COMMAND.COM • cmd.exe • Средство переноса данных • Установщик • PowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновления • Восстановление системы • Диспетчер задач • Диспетчер устройств • Консоль управления • Очистка диска • Панель управления ( Приложения
Active Directory • Службы развёртывания • Служба репликации файлов • Hyper-V • IIS • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций
NT • Диспетчер транзакций ядра • Диспетчер логических дисков • lsass.exe • csrss.exe • smss.exe • Запуск
BitLocker • Защитник • Предотвращение выполнения данных • Обязательный контроль целостности • Защищённый канал данных • UAC • Брандмауэр • Центр обеспечения безопасности • Совместимость
Источник: microsoft.fandom.com
PowerShell: инструмент не только для сисадмина
Немного коснувшись Powershell в тексте про простейшие скрипты, мы уже убедились в том, что это достаточно простой и эффективный инструмент для выполнения повседневных задач. Однако понять истинные возможности PowerShell по нескольким примерам и поверхностному изучению категорически невозможно, ведь до определенного момента вас не покидает ощущение надуманной легкости. Так является ли PowerShell важным инструментом Windows или это игрушка для гиков? Давайте разбираться.
Краткая справка
PowerShell был официально запущен в 2006 году и был призван заменить сильно ограниченный интерпретатор командной строки cmd. Это уже была вторая попытка замены, выпущенный 8 годами ранее Windows Script Host провалился из-за отсутствия встроенной документации и отсутствия интеграции в оболочку.
Ну а PowerShell учел большинство ошибок своих предшественников, 3 года с момента презентации допиливался до пристойного вида и в итоге предстал перед армией системных администраторов в весьма приятном виде.
Командлеты на конвейере
Основа PowerShell — командлеты. Если вы хоть немного знаете английский язык, то уже поняли, что название «командлеты» происходят от красноречивого «cmdlet». Их структура включает в себя собственно команду (глагол) и объект (существительное). Например: Get-Process, Sort-Object, Rename-Item и так далее. Разделение, как видно, выполняется знаком «-».
Есть ограниченный список командлетов, используемый системой по умолчанию, но начиная с версии PowerShell 2.0 вы можете самостоятельно создавать свои командлеты. Подробнее прочитать об этой процедуре вы можете на официальной странице Microsoft. Кстати, актуальная версия 5.1 вышла в августе прошлого года.
Другое базисное понятие в PowerShell — конвейер (Pipeline). Конвейер — процедура передачи выходных данных одного командлета в качестве входных следующего. Обозначается конвейер «|» , а на практике такая запись выглядит предельно просто:
Get-Process | Sort CM
Как видно из записи, в коде в конце каждой строки ставить «;» не надо, но данный знак можно использовать для разделения командлетов:
Все удобно и красиво.
Ну а главное в PowerShell — это конечно же скрипты. Здесь, как в любом уважающем себя языке высокого уровня имеются возможность работать с переменными, функциями, условными операторами, циклами, исключениями и т. д. В общем, существенных ограничений в функциональности вы не ощутите.
Удобство и скорость
Конечно, желая пойти навстречу своим клиентам и до предела облегчить им жизнь, огромная команда Microsoft создала удобный и понятный даже далекому от программирования человеку продукт. Вот представьте на минуту, что вы системный администратор в офисе. Вам надо проверить не занимаются ли сотрудники ерундой на рабочем месте. Проще всего это сделать, осуществив поиск и завершение «неправильного» процесса на компьютере в активного каталоге:
$proc = «Wrong_Proc»
$strCategory = «computer»
$objDomain = New-Object System.DirectoryServices.DirectoryEntry
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.Filter = («(objectCategory=$strCategory)»)
$colProplist = «name»
foreach ($i in $colPropList)
$colResults = $objSearcher.FindAll()
foreach ($objResult in $colResults)
$objComputer = $objResult.Properties
$objComputer.name
if (Test-Connection -Count 2 -ComputerName $objComputer.name -Quiet)
$ps = Get-WmiObject Win32_Process -Filter «Name=’$proc'» -ComputerName $objComputer.name
Wromg_Proc — название искомого процесса, например, wmplayer.exe. Первая часть скрипта посвящена поиску нашего компьютера, вторая в AD, вторая — собственно работе с процессом. Несмотря на то, что визуально такая запись может оттолкнуть новичка, фактически со знанием английского можно легко расшифровать код.
Но за удобство , как это давно повелось, Microsoft пришлось заплатить немалую цену. Среди необходимых жертв и «гуляющий» синтаксис с упрощениями, который не позволяет новичкам свободно читать код своих более опытных коллег, и неоправданные вольности в оформлении, в том числе исходного кода. Но главное, чем приходится жертвовать — быстродействие. Код, исполняемый на PowerShell может быть в разы медленнее линуксового аналога bash. И если при работе только со своей машиной это не слишком заметно, то при обслуживании десятков и сотен удаленных компьютеров вы теряете часы времени вместо десятков минут.
Заверните со списком литературы
Не знаю, заинтересовались ли вы PowerShell по итогам этого опуса, но если да, то найти остальную информацию вам не составит труда. В отличие от многих других языков, в российском сегменте интернета очень много качественной информации по PowerShell для людей любого уровня подготовки.
Но начать следует с официальной странички, ибо где ещё вы найдёте точную актуальную информацию. Да, абсолютное большинство здесь на английском языке, любой подручный переводчик вам поможет во всём разобраться. Учебник, кстати, на русском.
Немало интересных и познавательных обучалок можно найти на Хабрахабр.
Готовые скрипты на любой вкус и несколько слов от создателей можно найти на горячо горячо любимом GitHub.
Интересную книгу для знакомства со средой можно абсолютно законно и бесплатно скачать здесь. Оговорка: книга довольно старая, охватить возможности вы сможете только до 2 версии. Или вот настольная книга с готовыми скриптами и комментариями. Очень пригодится практикующему сисадминщику и тому, кто интересуется языком для личных, но реальных дел.
Хотите стать веб-разработчиком? Тогда вам на интенсив по веб-разработке для начинающих!
Источник: gb.ru
Основы Windows PowerShell (создание и запуск скриптов
Основы Windows PowerShell (создание и запуск скриптов | установка | обновление версии | PowerShell ISE)
В этом видео мы поговорим о инструменте, который облегчает жизнь специалистам IT, выполняющим рутинную работу. Речь пойдет о PowerShell, а точнее о создании и запуске скриптов в среде PowerShell.
В данном видео, мы посмотрим:
— как выглядит оболочка PowerShell,
— уточним версию компонентов и обновим их до актуального состояния.
— поговорим о PowerShell ISE, для чего она нужна и как ей пользоваться.
— обретем базовые знания, касающиеся синтаксиса PowerShell.
— разберем решение реальной задачи при помощи командлетов PowerShell.
Постановка задачи для PowerShell
Итак, есть некая организация, учетные записи компьютеров которой хранятся в активном каталоге. Предположим, что в зависимости от свойств, учетные записи располагаются в разных организационных единицах. Задача состоит в том, чтобы получить список компьютеров по заданным параметрам поиска из всего домена или определённой организационной единицы, не выписывая данные вручную. Также я предлагаю выгрузить список в текстовый файл, для последующей аналитической обработки.
Сравнение командной строки с PowerShell
Начнем с запуска обычной командной строки, далее запустим оболочку PowerShell. На первый взгляд они очень похожи, но принципиальные различия в них есть. Оболочка PowerShell, была разработана и выпущена как раз для того что бы сменить стандартную командную строку. Она, если можно так выразиться, является расширенной версией типично командной строки windows.
Оболочка позволяет выполнять как стандартные команды, используемые в командной строке, так и сценарии, благодаря более глубокой интеграции с операционной системой. Так же технология PowerShell, позволяет встраивать сценарии в приложения, для реализации различных функций.
Проверка версии PowerShell
Для полноценной работы с оболочкой, и использования доступных функций, необходимо понимать с какой версией PowerShell ведется работа. Для того что бы узнать какая версия PowerShell установлена, необходимо запустить команду $PSVersionTable. На слайде представлен вывод данной команды, после обновления. В нашем случае версия 4.0 Процесс обновления оболочки будет представлен в практической части видео.
PowerShell ISE
Для того что бы не навредить системе и проверить работоспособность скрипта, разработку, отладку и тестирование удобно проводить в специальной среде. PowerShell ISE дает такую возможность. Интерфейс приложения разделен на 3 части. В верхней части вы можете добавлять код, в нижней части получать вывод команд, а правая часть является своеобразной справкой.
В ней вы можете подсмотреть необходимые для процесса командлеты. Более того в этой среде реализованы различные функции, такие как подсветка синтаксиса, конструктор команд и авто заполнение, что существенно облегчает программирование.
Построение команд в PowerShell
Теперь давайте немного поговорим о синтаксисе в PowerShell. Необходимо запомнить основной принцип построения командлетов. Вначале идет ГЛАГОЛ, далее СУЩЕСТВИТЕЛЬНОЕ и уже через тире, вы можете ввести параметры для этого командлета. На слайде представлен сложный командлет, но принцип остается неизменным.
Сначала мы запрашиваем вывод справки Get-help, а затем указываем для какой команды мы хотим это сделать Get-date. Используя PS ISE, вы сможете получать список доступных параметров до ввода самого параметра, просто введя тире и выбрав необходимы параметр из списка.
Особенности запуска скриптов в PowerShell
Необходимо упомянуть об особенностях запуска скриптов PowerShell. Данное средство администрирования и автоматизации обладает очень высоким потенциалом и является мощным инструментом, поэтому разработчиками было принято решение ограничить запуск скриптов по умолчанию. Существует 4-е основных политики безопасности, регулирующих запуск скриптов на целевом устройстве. Вы можете ознакомиться с ними на данном слайде. У каждой политики свои особенности, и они применимы для разных сценариев. В нашем случае, для практической работы мы разрешим выполнение неподписанных скриптов используя политику «unrestricted»
Создание и запуск скриптов PowerShell на практике
Перейдем непосредственно к демонстрации. В качестве стенда для практической работы будет использован сервер с Windows Server 2016, с установленной ролью активного каталога и клиентская машина на windows 10.
- На контроллере домена смотрим структуру AD, определяем уч. записи компьютеров в каталоге, запоминаем.
- На клиентской машине запускаем PS, смотрим версию, обновляем до актуальной, обновляем справку.
- Устанавливаем RSAT для возможности подключения AD модуля в PS.
- Выставляем необходимые настройки политики для запуска скриптов.
- Сооружаем скрипт, позволяющий получить список машин из определенной OU по фильтру имени, запускаем, получаем результат, выгружаем в TXT.
Bonus: получение справки по командам get-help get-* с параметром «example» и «Full». Для вывода примеров использования команды.
Выводы: Сегодня мы поговорили о PowerShell и на практике посмотрели его возможности по упрощению рутинных задач для IT. В этот инструмент разработчиками заложен огромный потенциал и на мой взгляд знание PowerShell, является необходимым навыком для современного системного администратора.
Спасибо за внимание!
В описании данного видео, есть временные метки, по которым вы сможете сразу перейти к моменту в видео, который вас больше всего интересует.
Список временных меток:
- Обзор видеоурока «Основы Windows PowerShell»
- Постановка задачи для PowerShell
- Сравнение командной строки с PowerShell
- Проверка версии PowerShell
- PowerShell ISE
- Построение команд в PowerShell
- Особенности запуска скриптов в PowerShell
- Создание и запуск скриптов PowerShell на практике
Источник: sys-team-admin.ru