Статья Windows Power Shell. Первое знакомство.
Немалая часть задач, связанных с обслуживанием локальных вычислительных сетей, представляет собой выполнение рутинных операций, ручная реализация которых может потребовать значительного времени. Вероятно, решения, позволяющие автоматизировать выполнение административных задач, которые могли бы повысить производительность, возникли почти сразу же с появлением профессии системного администратора.
Наиболее распространенным средством «экономии времени и избавления от головной боли» стала запись и последовательное пакетное исполнение необходимых операций — исполнение сценариев или скриптов в интерпретаторе команд операционной системы.
Попытки улучшить состояние дел в области управления и администрирования Windows с помощью командного интерфейса привели не к адаптации чужеродного для системы языка сценариев или созданию супер-утилиты, работающей в DOS, а к появлению PowerShell – новой командной оболочки.
В составе MS-DOS и Windows 9x таким интерпретатором, позволяющим выполнять обработку пакетных файлов (bat-файлов), являлся command.com, впоследствии (начиная с выхода Windows NT) замененный cmd.exe. Позднее появился Windows Script Host.
8 важных команд powershell на Windows. Будь сильнее
Windows Script Host (WSH; первоначально назывался Windows Scripting Host) – один из элементов Microsoft Windows, как часть операционной системы он начал поставляться, начиная с Windows 98. Позволяет запускать сценарии, написанные с помощью скриптовых языков VBScript/JScript и, как дополнение, некоторых других. Сценарии, исполняемые в WSH, предоставляют гораздо больше возможностей, чем использование командных (bat- и cmd-) файлов. Исполнение возможно в графической среде (wscript.exe) или в консоли (cscript.exe).
Тем не менее, процесс написания и выполнения сценариев в ОС Windows не развит так хорошо, как, например, в UNIX-системах. Одна из причин этого – сам графический интерфейс ОС Windows, видимо и сделавший ее столь популярной среди обычных, не корпоративных пользователей.
Возможность управления некоторыми элементами среды Windows с помощью графического интерфейса не всегда можно реализовать с помощью системных утилит, выполняемых в командной строке. С другой стороны, возможности каких-то системных программ, поставляемых в составе Windows, не всегда представлены в GUI. К тому же интерпретаторы в Windows имеют довольно ограниченный набор команд, «зашитых» в саму оболочку. Windows Script Host не интегрирован с командной строкой и сам по себе представляет потенциальную опасность – его использует достаточно большое количество вредоносных программ.
Попытки улучшить состояние дел в области управления и администрирования Windows с помощью командного интерфейса привели не к адаптации чужеродного для системы языка сценариев или созданию супер-утилиты, работающей в DOS, а к появлению Windows PowerShell – новой командной оболочки. По некоторым данным, ее появление связано с использованием платформы .NET при создании командного интерфейса для WMI. В данный момент PowerShell является отдельным приложением, который можно установить на любую систему, использующую платформу .Net 2.0 (Windows XP, Vista, Server 2003). Начиная с Server 2008, PowerShell будет являться встроенным компонентом Windows-систем. Если же у вас не Server 2008, для знакомства с PowerShell предварительно необходимо будет его загрузить (возможно, вам понадобится и установка .NET).
Windows Powershell: Что это и как использовать? Основные команды 🖥️⚙️🧰
Знакомство
Запустив PowerShell, вы не обнаружите поначалу никаких различий между ним и cmd.exe (разве что цвет фона окна у PowerShell по умолчанию — синий). Более того, вскоре вы обнаружите, что операции копирования/вставки в PowerShell реализованы также безобразно, как и в cmd.exe. Но первое впечатление о схожести этих оболочек, скажем так, не совсем соответствует действительности.
То обстоятельство, что работа оболочки PowerShell основана на .NET Framework, является главным ее отличием от предыдущих командных оболочек Windows. PowerShell полностью объектно-ориентирована. Результатом выполнения команды в PowerShell является не некий «текст сам по себе», а объект платформы .NET. Этот объект представляет собой собственно данные и имеет набор присущих ему свойств и методов.
Внутренние команды (точнее, командные структуры) для работы с объектами в PowerShell называются командлетами. Для них придумано специальное единообразное именование в виде комбинации действие-цель. Например, для получения данных используется действие “set”, для получения – “get”, для вывода — “out” и т. д. Цель – это тип объекта, к которому будет применено действие.
Командлеты можно рассматривать как мини-программы, исполняемые в среде PowerShell. Для повышения функциональности можно создавать собственные командлеты или устанавливать командлеты сторонних разработчиков. Кроме командлетов, PowerShell позволяет выполнять функции, внешние сценарии (хранятся в файлах с расширением ps1) и внешние исполняемые файлы.
В состав PowerShell включена довольно обширная справочная система. Для начала работы с ней можно выполнить команду Get-Help.
Для получения детальной справки по какому-либо командлету или разделу основных сведений, необходимо указать его название в качестве параметра команды.
Параметры
Строго говоря, следуя духу единообразного именования в PowerShell, все передаваемые командлету имена параметров должны следовать за символом «-». Однако для простоты написания названия некоторых параметров можно опускать. Например, для вызова справки по командлету Get-Content вместо полного указания
Источник: www.safezone.cc
Сила PowerShell, часть 1
Gigi Sayfan Last updated Dec 12, 2016
Read Time: 8 min
This post is part of a series called The Power of PowerShell.
PowerShell — это интерактивная оболочка и язык сценариев от Microsoft, который переосмысливает смысл командной оболочки. Он обладает очень интересными возможностями помимо привычных оболочек Unix, вокруг него существует сильная экосистема и сообщество.
В этом уроке, состоящем из двух частей, вы узнаете о некоторых интересных вещах, которые вы можете делать с PowerShell, его истории, его архитектуре, его концепциях и о том, как он сравнивается с оболочкой Unix, такой как Bash. Будьте готовы к захватывающему путешествию!
Установка PowerShell
Если вы работаете на Windows 10, вы можете пропустить это. В противном случае загрузите его с веб-сайта Microsoft.
После установки PowerShell первое, что вы хотите сделать, — включить выполнение скрипта. Запустите PowerShell от имени администратора и введите: Set-ExecutionPolicy RemoteSigned . Вам нужно сделать это только один раз. Теперь обновите файлы справки: Update-Help -Force .
Классные штуки, которые вы можете сделать с PowerShell
Давайте начнем с быстрой демонстрации широты и глубины PowerShell. Это просто произвольный список, чтобы подогреть аппетит. Он не является исчерпывающим, и это не обязательно самые впечатляющие вещи, которые вы можете сделать с PowerShell.
Воспроизвести видео
Вот классная строчка для воспроизведения видеофайлов (или любых медиа-файлов):
(New-object –COM WMPlayer.OCX).openPlayer(«Path to your video»)
Он откроет окно медиаплеера и сразу начнет проигрывать ваше видео.
Здесь Строки
Генерировать случайные числа
Выберите случайное число от 1 до 100:
Это простой конвейер. Левая сторона может генерировать все целые числа от 1 до 50 (включительно), а затем она передается в командлет Get-Random, который выбирает одно из них.
Работа с буфером обмена
PowerShell полностью поддерживает буфер обмена. Вы можете получать и устанавливать объекты разных форматов. Очевидно, что простой текст возможен, но вы также можете работать с изображениями, HTML, RTF и даже файлами.
Здесь я выбираю некоторые файлы в проводнике, а затем получаю их из буфера обмена в PowerShell:
23:43:05 C:Usersthe_g> Get-Clipboard -Files
Mode LastWriteTime Length Name
-a—- 9/15/2016 11:41 PM 135890 Capture.PNG
-a—- 9/16/2016 10:09 PM 3179548 20160917_110605.jpg
-a—- 9/16/2016 10:09 PM 4623977 20160917_110734.jpg
Говорить
PowerShell тоже может говорить!
Add-Type -AssemblyName System.speech
$synth = New-Object -TypeName System.Speech.Synthesis.SpeechSynthesizer
$synth.Speak(«PowerShell to the people»)
Получить все запущенные виртуальные машины
Вот небольшой конвейер для перечисления всех запущенных виртуальных машин:
Показать индикатор выполнения
PowerShell может отображать хороший индикатор выполнения при длительных операциях. Вот пример, который рекурсивно вычисляет общий размер всех файлов в текущем каталоге:
$files = Get-ChildItem . -Recurse
$total = 0
For ($i = 1; $i -le $files.
Count-1; $i++)
Write-Progress -Activity «Calculating total size. » -status $files[$i].
Name -PercentComplete ($i / $files.Count * 100)
$total += $files[$i].
Length
Start-Sleep -Milliseconds 50
Write-Host «Total size: $($total / 1MB)»
История PowerShell
PowerShell 1.0 был выпущен в 2006 году, но его изобретатель Джеффри Сновер начал работать над ним гораздо раньше. Проверьте манифест 2002 года. PowerShell прошел долгий путь. Windows была далеко позади с точки зрения средств командной строки. Системным администраторам и опытным пользователям приходилось обходиться скудными предложениями cmd.exe и пакетных файлов.
Было несколько слабых попыток улучшить ситуацию с хостами сценариев Windows, которые позволяли создавать сценарии системных объектов с использованием VBScript или JScript, но с этим подходом было много проблем.
PowerShell изменил все это и очень быстро. Он не только соответствовал возможностям командной строки * nix-сред, но и обогнал многие инновации, беспрецедентную согласованность и простоту использования.
Сегодня PowerShell находится на версии 5.1. С годами и версиями возможности PowerShell и среды хостинга значительно выросли.
PowerShell 1.0 поддерживает локальное администрирование компьютеров Windows (включая Windows Server 2003).
PowerShell 2.0 был интегрирован с Windows 7 и Windows Server 2008 R2. В него добавлена поддержка удаленного взаимодействия и значительно расширены возможности PowerShell с фоновыми заданиями, транзакциями, событиями, отладкой, средой разработки графического интерфейса и множеством новых командлетов.
PowerShell 3.0 был выпущен как часть инфраструктуры управления Windows. Он был установлен на Windows 8 и Windows Server 2012. В него добавлены запланированные задания, возможность подключения к сеансам, автоматическая загрузка модулей и множество новых команд.
PowerShell 4.0 был интегрирован с Windows 8.1 и Windows Server 2012 R2. Добавлена поддержка конфигурации желаемого состояния, улучшена отладка, диагностика сети и переключатель -PipelineVariable .
PowerShell 5.0 был выпущен как часть среды управления Windows 5. PowerShell 5.1 был выпущен как часть юбилейных обновлений Windows 10. Новые функции включают определения классов PowerShell, перечисления .NET, фоновые задания удаленной отладки и отладки, диспетчер локальной конфигурации DSC и многие другие улучшения DSC.
PowerShell: язык сценариев
PowerShell — очень мощный язык программирования. Очевидно, что он может запускать скрипты, но у него есть и более продвинутые механизмы, такие как модули, пользовательские командлеты и классы. PowerShell — это мультипарадигмальный язык, который поддерживает объектно-ориентированные, функциональные и процедурные парадигмы.
Но, возможно, наиболее важным аспектом PowerShell является то, что это полноценный язык .NET. Он создает и использует объекты сборок .NET, запрограммированные на любом языке, а объекты, проходящие через конвейер PowerShell, являются объектами .NET. PowerShell также строго типизирован, но когда это удобно, вы можете игнорировать его, и вам не нужно указывать типы, если вы этого не хотите.
Процедурные сценарии
Для процедурного программирования вам нужны функции, условия и циклы. PowerShell имеет все это. Операторы сравнения могут вас удивить, поскольку они не используют типичные символы. Вместо этого у вас есть: -eq (равно), -lt (меньше), -gt (больше), -ge (больше или равно) и т.д.
Вот пример условной логики, который получает данные от пользователя и проверяет их правильность. Обратите внимание на использование оператора -as , чтобы попытаться преобразовать ввод в целое число. Если это не удастся, результатом будет $null .
$value = 44
$in = Read-Host «Guess a number between 1 — 100»
Источник: code.tutsplus.com
Введение в PowerShell
Данная статья была создана в дополнение к видео уроку PowerShell за 20 минут. В ней еще раз перечислены те принципы и подходы к PowerShell, которые позволят начать использовать PowerShell в своей работе. Введение в PowerShell — это описание основных команд PowerShell, описание процесса поиска команд и использование справки. Кратко изложены принципы конвейера команд, фильтрации результата и форматирования вывода. Показано использования PowerShell ISE для освоения PowerShell.
Команды, алиасы, структура команды
Запустить PowerShell можно достаточно легко в поиске Стартового Окна Windows набрать PowerShell. Обратите внимание, что PowerShell зачастую используется для решения административных задач, поэтому возможно вам понадобиться запустить его от имени администратора. Для этого в результатах поиска щелкаем правой кнопкой мыши и выбираем «запуск от имени администратора».
Конечно если это серверная операционная система, то PowerShell доступен сразу из панели задач. После запуска откроется основная консоль PowerShell в которую можно вводить команды.
Каждая команда PowerShell ее еще иногда называют командлет или CmdLet состоит из двух частей глагол (Get, Set, Add, Invoke, Remove и т.д.) и существительного (Service, VM, AzureAccount, DHCPServerSetting). Каждая часть отделяется от другой одним дефисом. Других дефисов в командлете быть не может. При наборе команд можно использовать клавишу Tab, которая позволяет автоматически закончить ввод команды.
Tab можно нажимать несколько раз при этом будет осуществляться перебор подходящих команд. Кстати комбинация Shift+Tab так же работает и перебирает команды в обратном порядке. Для исполнения необходимо нажать клавишу Enter.
Источник: get-powershell.ru
PowerShell скачать для Windows 10
PowerShell — современный аналог командной строки с более мощной функциональностью. Предназначен для написания скриптов и конфигурирования операционных систем MS Windows. В нем также реализована полноценная среда разработки PowerShell ISE.
Автоматизировать процесс удаления временных файлов, работа с архивами, перенос объектов, поиск файлов — это лишь малая часть того, на что способен PowerShell.
Для кого разработан PowerShell
В первую очередь, эта программная оболочка нацелена на IT-специалистов. PowerShell предоставляет возможность более глубоко настроить систему. Это, своего рода, универсальный инструмент администрирования. Он позволяет автоматизировать множество рутинных задач. От смены настроек отдельных программ, до управления службами и процессами.
PowerShell дает возможность работать быстрее, не теряя при этом качество.
Возможности PowerShell
Программная оболочка может выполнять все команды, реализуемые в стандартной командной строке cmd.exe. Тем не менее, PowerShell не заслуживала бы внимания, если не могла предложить что-то более интересное.
Помимо функций обычной командной строки, в оболочке существует своя среда разработки ISE. Благодаря этому, разработчики получают больше возможностей. Это реализуется различными фишками, присущим масштабным IDE. От подсветки синтаксиса до функции автозаполнения целых кусков кода.
Командлеты
Их можно считать аналогом команды “man” в Unix-системах. Командлеты — команды, предназначенные для выполнения различных действий. Они возвращают объекты Microsoft .NET. Реализуются они по типу “действие-объект”. Где командлет, условно, выступает в роли глагола, а объект — в роли существительного.
Стоит отметить, что они не чувствительны к регистру. Разделяются точкой с запятой.
Например, командлет Get-Help отображает справку по всем используемым командам. Командлет Get-date возвращает текущую дату и время.
В программной оболочке есть команда Test-Connection. С его помощью можно произвести диагностику соединения. Пропинговать несколько хостов одновременно, установить задержку и тому подобное. Стоит отметить, что этот командлет работает также, как и ping, по ICMP.
С помощью командлета Copy-Item разработчик может копировать файлы между локальными или сетевыми каталогами. Также есть возможность копировать файлы между удаленными компьютерами.
Язык сценариев
Скрипты пишутся по принципам ООП. Команды сценариев именуются как компандплеты: “Действие-объект”. Язык сценариев содержит в себе все необходимые элементы, присущие обычным языкам программирования. Массивы, циклы, объекты, классы и многое другое присутствует в PowerShell. Скрипты в несколько раз увеличивают быстродействие программного обеспечения.
Где взять PowerShell
Рассматриваемая программная оболочка поддерживается на всех операционных системах Windows, начиная с Windows 7. Это значит, можно спокойно скачать и установить PowerShell на ОС версий 7,8, 8.1 и 10.
Источник: programmy-rus.ru