Разное

Powershell что такое: Что такое Windows PowerShell и с чем его едят? Часть 1: основные возможности / Хабр

22.09.1988

Содержание

Windows PowerShell – что это такое и как запустить?

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

История появления PowerShell в семействе операционных систем Windows такова. Надо сказать, что консольная утилита, позволяющая взаимодействовать с компьютером посредством ввода команд, присутствовала там изначально (собственно, именно посредством такой утилиты когда-то, ещё до широкого распространения средств графического интерфейса пользователя, предполагалось главным образом осуществлять взаимодействие с системой, начиная с MS-DOS самых первых версий).

Сначала существовал довольно ограниченный набор соответствующих команд. Будучи реализованными в составе соответствующей подсистемы ОС (средствами вышеназванной утилиты), они и представляли собой так называемый интерпретатор командной строки.

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

Очень быстро, однако, стало понятно, что для полноценной автоматизации средств уже имеющегося интерпретатора было недостаточно, особенно после широкого распространения 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.

На этом все. Всего хорошего!

Что такое Windows PowerShell и для чего он нужен

Изучая меню пуск Windows 7 или начальный экран Windows 8 1, начинающие пользователи нередко открывают для себя приложения, назначение которых им не понятно. Как раз одно из таких приложений — PowerShell. Что же такое этот самый PowerShell и есть ли от него хоть какой-то толк? Ну, раз его кто-то придумал и интегрировал в Windows, значит, толк всё-таки есть. Кстати, этим самым придумавшим PowerShell является компания Microsoft.

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

Что умеет этот инструмент администрирования? Много чего. С его помощью системные администраторы и опытные пользователи могут управлять процессами, службами, файловыми хранилищами, аккаунтами и даже серверами. Также оболочка позволяет запускать внешние команды, работать с объектами

.NET, COM и XML, проделывать разные трюки и т.п., создавать и выполнять собственные сценарии. Кстати, для написания скриптов в Windows предусмотрена специальная графическая консоль ISE, являющаяся своего рода дополнением к основной оболочке PowerShell.

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

dir, cd, copy и т.п., прекрасно понимаемые PowerShell, на самом деле являются псевдонимами. Например, команда Dir, служащая для просмотра файловой системы соответствует «родному» командлету Get-ChildItem. Псевдонимы или как принято говорить, алиасы, служат чисто для удобства.

Разобраться с PowerShell начинающему пользователю, особенно если тот незнаком хотя бы с основами обычной командной строки, будет непросто. А руководств и справочников, достаточно понятных и простых для усвоения, не так уж и много. Есть неплохое руководство, написанное Франком Кохом, с которым мы рекомендуем ознакомиться, если вы всё же решитесь приступить к изучению скриптового языка PowerShell. Ну, и конечно, собственная справочная системы оболочки.

Она мощная и развёрнутая, с множеством конкретных примеров. Пользоваться ей достаточно просто. Основная информация по справочной системы выводится командлетом Get-Help. Командлет Get-Command выводит список всех доступных команд.

Get-Command

Для получения справки по конкретному командлету или алиасу используется связка get-help командлет. Например, команда get-help get-process выведет основную справку по использованию командлета get-process, отвечающего за вывод списка текущих процессов. Передав же ей параметры

–detailed, -examples, -full или –online, можно будет получить самые подробные сведения обо всех его нюансах.

Что такое Windows Power Shell, и для чего он нужен

Пользователи, находящиеся в процессе изучения начального экрана Windows 8.1 или Windows 7, нередко запускают в работу совсем незнакомые им приложения. Одним из таковых является Power Shell – продукт от компании Microsoft.

Что такое Power Shell

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

Power Shell – это современная стандартизированная оболочка командной строки, открывающая доступ к более гибкому управлению компьютером, функционирующим на базе Windows. По сути – та же командная строка, но возможности гораздо шире.

Функционал инструмента администрирования

Функционал софта внушителен. С его помощью можно управлять службами, аккаунтами, хранилищами файлов, процессами и даже серверами. Оболочка открывает доступ к работе с объектами COM, NET, XML, запуску внешних команд, созданию и выполнению собственных сценариев, проделыванию иных операций.

Оболочка Power Shell имеет собственный набор команд, как и консоль CMD, называемых командлетами. Синтаксис языка, определения командлетов и их параметров в этой программе отличается от привычного, хотя утилита способна распознавать многие команды CMD.

Прекрасно понимаемые Power Shell команды вроде cd, dir, copy и им подобные в этой оболочке являются псевдонимами или, как принято говорить, алиасами, служащими просто для удобства. Пример: команда dir, вводимая пользователем с целью просмотра файловой системы, соответствует командлету Get-ChildItem.

Как разобраться в программе

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

Решаясь начать изучение скриптового языка Power Shell, целесообразно ознакомиться с руководством, созданным Франком Кохом, или обратиться к справочной системе самой программы. Последняя является довольно мощной, с большим количеством конкретных примеров. Основная информация здесь откроется для просмотра после ввода командлета Get-Help.

Список всех доступных команд выводит командлет Get-Command. Связка get-help-командлет применяется с целью получения справки по конкретному алиасу. Пример: справка по использованию get-process (отвечает за вывод списка текущих процессов) будет выведена командой get-help-process. Передав ей параметры -example, -detailed, -online или –full, пользователь сможет получить сведенья обо всех его нюансах подробно.

Что такое PowerShell | Основные понятия

Определение PowerShell

Для автоматизации системных задач, таких как пакетная обработка, и создания инструментов управления системой, которые могут помочь в обычно реализуемых процессах, Microsoft разработала PowerShell. Это похоже на Perl. PowerShell построен на основе .Net и предоставляет несколько способов автоматизации задач. Таким образом, это платформа автоматизации и язык сценариев, который помогает лучше управлять системами Windows и Windows Server. Это должна быть текстовая оболочка, которая имеет все функции .Net и объектов для управления средами Windows. Пользователи PowerShell могут получить к нему доступ из командной строки или использовать интегрированную среду сценариев PowerShell. Это помогает новичкам начать проектирование и экспертам работать более эффективно.

Что такое PowerShell?

PowerShell — это среда автоматизации и язык сценариев, разработанный Microsoft. Он предоставляет оболочку командной строки и язык сценариев, который интегрирован с платформой .Net, а также может быть встроен в другие приложения. Это основанная на задачах оболочка командной строки, которая автоматизирует пакетную обработку и помогает в создании инструментов управления системой. Это сочетание гибких сценариев, скорости командной строки и мощного инструмента администратора на основе графического интерфейса. Все проблемы могут быть эффективно решены, помогая системам избавиться от любых будущих часов ручного труда.

Понимание PowerShell

Это известно интеграцией концепций из многих сред. Все эти понятия похожи на программирование оболочки. Чтобы понять, необходимо знать, что традиционные интерфейсы командной строки предназначены для работы с различными типами объектов. Объект — это часть структурированной информации, к которой можно напрямую получить доступ к частям данных с помощью этого синтаксиса объекта. У него огромное семейство команд, которое расширяемо. Он имеет такие интерфейсы, как cmd.exe, который помогает косвенно расширять встроенные команды. Собственные команды известны как командлеты (Command-let). С помощью командлетов пользователь может создавать свои собственные модули и функции командлетов, которые можно компилировать. Эти модули могут легко добавлять командлеты и провайдеры в оболочку. Сценарии, аналогичные сценариям Unix, также поддерживаются PowerShell.

Как PowerShell облегчает работу?

Причиной популярности PowerShell является то, что он добавляет мощность, функциональность и гибкость в командную строку Windows. Поскольку все не может быть сделано с помощью графического интерфейса, командная строка очень важна. Используя PowerShell, вы можете легко обновить атрибуты активного каталога для тысячи пользователей. Используя PowerShell, пользователь может легко выполнить задачу, используя одну строку кода. Это механизм, который обеспечивает интерактивный механизм между сервером и продуктами. Команда PowerShell является интерактивной, и консоль позволяет запускать различные команды в режиме реального времени. Это проще и быстрее, так как нет необходимости редактировать любой скрипт в блокноте, а затем запускать его отдельно. В дополнение к этому пользователь может вызывать все небольшие сценарии, файлы bat или процедуры. Все это можно вызвать из PowerShell. Говорят, что это мощный инструмент. Эта сила, которую он получает, неосуществима или практична, чтобы запомнить все команды. Благодаря этому он встроен прямо в редактор, где несколько инструментов могут помочь вам найти правильное решение.

Работа с PowerShell

Пользователь может легко запускать и создавать сценарии с помощью этого. Пользователь должен открыть и отредактировать Windows PowerShell на панели скриптов, которая предоставляет файлы определенных типов. Эти файлы различаются как файлы сценариев (.ps1), файлы данных сценариев (.psd1) и файлы модулей сценариев (.psm1). Этим типам файлов назначаются разные цвета на панели скриптов. Другие файлы могут включать в себя файлы конфигурации, файлы XML и текстовые файлы. Разработчик может легко создать новый файл сценария, открыть существующие сценарии, закрыть любую вкладку сценария и т. Д. Он может легко отобразить путь к файлу, запустить сценарий или даже запустить часть сценария. При этом пользователь также может вводить текст в панель «Сценарий», копировать его и вносить необходимые изменения.

Преимущества PowerShell

Ниже приведены некоторые преимущества PowerShell.

  • Это объектно-ориентированный язык сценариев.
  • Это интерактивно и позволяет программистам пробовать новые вещи на консоли, а затем интегрировать их в более сложные сценарии.
  • Поддерживает .Net объекты и формы. Он может получить доступ ко всем библиотекам .Net и, следовательно, поддерживает такие языки, как C # или VB.
  • Он поддерживает автоматизацию, которая также является важным фактором.
  • Это работает на отдельных потоках и, следовательно, может вызывать любые библиотеки .Net, которые помогают в создании большего количества потоков. Эти задания выполняются в фоновом режиме.

Требуемые навыки

Не требует никаких знаний, связанных с программированием. Используя сервер Exchange, пользователь может активировать определенные задачи из командной строки. Это также полезно для администраторов, которые хотят изучить сценарии. После ознакомления с командлетами они могут работать с компонентами и конкретными продуктами. Сценарии можно использовать повторно, и эти комбинации прогонов будут зависеть от конкретных требований. Эти сценарии могут быть использованы для создания различных типов фреймворков.

Область применения PowerShell

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

Зачем нам PowerShell?

Это язык сценариев оболочки командной строки на основе задач. Он предоставляет как командную строку, так и язык сценариев. Он может взаимодействовать с множеством технологий одновременно. В дополнение к этому, он основан на объектах. Как только вы поймете PowerShell, вы сможете работать в экосистеме Microsoft.

Кто является подходящей аудиторией для изучения технологий PowerShell?

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

Вывод

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

Рекомендуемые статьи

Это было руководство к тому, что такое PowerShell. Здесь мы обсудили основные понятия, определения и преимущества PowerShell. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше —

  1. PowerShell против CMD
  2. PowerShell против Bash
  3. Что такое глубокое обучение
  4. Что такое Splunk?

Что такое»$? » в Powershell?



Что значит $? в Powershell?


Правка: TechNet ответов в тавтологии, без объяснения того, что означают ‘succeed’ или ‘fail’.

$?
Содержит состояние выполнения последней операции. Он содержит TRUE, если последняя операция прошла успешно, и FALSE, если она не удалась.

Я предположил $? я бы просто проверил, является ли $LastExitCode равным 0, но я нашел встречный пример , где $? является ложным, а $LastExitCode-истинным.

powershell
Поделиться Источник Colonel Panic     17 мая 2012 в 10:36

4 ответа


  • Что такое «exit» в PowerShell?

    Вы можете выйти из PowerShell, набрав exit . Пока все хорошо. Но что же это такое? PS Home:\> gcm exit Get-Command : The term ‘exit’ is not recognized as the name of a cmdlet, function, script file, or operable program. Ch eck the spelling of the name, or if a path was included, verify that the…

  • Что такое Windows PowerShell?

    Что такое PowerShell? У меня установлен Windows 7, и я заметил, что у него есть PowerShell. Я помню, как установил это некоторое время назад , когда подписывался на Windows Azure , но только потому, что это было необходимо. Каково было бы объяснение в терминах Убер-дилетанта? 🙂



55

Он возвращает true , если последняя команда была успешной, иначе false .

Однако существует ряд предостережений и неочевидного поведения (например, что именно подразумевается под «success»). Я настоятельно рекомендую прочитать эту статью для более полного лечения.

Например, подумайте о вызове Get-ChildItem.

PS> Get-ChildItem 

PS> $? 
    True

$? вернет True , так как вызов Get-ChildItem удался.

Однако, если вы вызовете Get-ChildItem в несуществующем каталоге, он вернет ошибку.

PS> Get-ChildItem \Some\Directory\Which\Does\Not\Exist
    Get-ChildItem : Cannot find path 'C:\Some\Directory\Which\Does\Not\Exist' because it does not exist.

PS> $?
    False

$? вернет False здесь, так как предыдущая команда не была успешной.

Поделиться RB.     17 мая 2012 в 10:40



6

$? будет содержать $false , если последняя команда привела к ошибке. Он будет содержать $true , если это не так. В дни PowerShell v1 это был обычный способ обработки ошибок. Например, в сценарии, если вы хотите проверить наличие файла, а затем напечатать пользовательское сообщение, если это не так, вы можете сделать это:

Get-Item -Path john -ErrorAction silentlycontinue;
if( -not $?)
{
    'could not find file.';
     exit
 }`

Поделиться John Cravener     08 августа 2012 в 22:48



2

Вы также можете получить доступ к коду выхода последних команд, используя параметр $LastExitCode .

# run some command
# ...
if ((! $?) -and $ErrorAction -eq "Stop") { exit $LastExitCode }

Поделиться Kerem Demirer     24 ноября 2018 в 00:08



1

Я столкнулся в Windows Server 2019,$? может быть установлен false, когда была сгенерирована Стандартная ошибка. В моем примере docker-compose регистрирует предупреждения через стандартную ошибку, поэтому, хотя выход с 0,$? указывает на сбой.

Поделиться Jules Clements     11 ноября 2019 в 04:05


Похожие вопросы:


Что такое Powershell эквивалент команды «найти | grep ‘mystring'»?

Что такое Powershell эквивалент команды find | grep mystring


Что такое эквивалент xargs в PowerShell?

Команда POSIX-defined xargs принимает все элементы, которые она получает из стандартного ввода, и передает их в качестве аргументов командной строки команде, которую она получает в своей собственной…


Что такое PowerShell ScriptBlock

A PowerShell ScriptBlock не является лексическим замыканием , поскольку он не закрывается над переменными, на которые ссылаются в его среде объявления. Вместо этого он, по-видимому, использует…


Что такое «exit» в PowerShell?

Вы можете выйти из PowerShell, набрав exit . Пока все хорошо. Но что же это такое? PS Home:\> gcm exit Get-Command : The term ‘exit’ is not recognized as the name of a cmdlet, function, script…


Что такое Windows PowerShell?

Что такое PowerShell? У меня установлен Windows 7, и я заметил, что у него есть PowerShell. Я помню, как установил это некоторое время назад , когда подписывался на Windows Azure , но только потому,…


Что такое PowerShell NoteProperty?

Единственное определение NoteProperty, которое мне удалось найти, говорит, что это свойства, унаследованные от среды PowerShell. Это на самом деле не проясняет, что это такое и как они используются….


Что такое эквивалент команды Unix «mailx -t» в PowerShell?

Я конвертирую некоторые скрипты unix в скрипты powershell. Я наткнулся на строку mailx -t < d:\mailDetails.txt в одном из сценариев. mailDetails.txt текстовый файл содержит следующие сведения….


Что такое эквивилент того, что находится в powershell

Я изучил основы использования UNIX, но теперь я пытаюсь научиться использовать powershell. Большинство команд похожи или легко найти эквивалент. Однако, я не нашел эквивалент того, чтопроисходит….


В Powershell что такое разделитель email

У меня есть код в runbook рабочего процесса azure PowerShell. И у меня есть следующий код Send-MailMessage -smtpServer $SMTPServer -Credential $credential -Usessl -Port 587 -from $EmailFrom -to…


что такое var=${var:-word} bash эквивалент в powershell

Учитывая этот код bash: HELLO =${HELLO:-hello} переменная HELLO принимает значение из переменной окружения HELLO , если она существует. В противном случае он устанавливает значение hello . Что такое…

Windows PowerShell что это за программа. Что такое Windows PowerShell – как его запустить и использовать основные команды Что такое повер шелл

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

Если на вашем компьютере установлена Windows 10, то, пожалуй, ещё более быстрый способ открыть PowerShell — нажать правой кнопкой мыши по кнопке «Пуск» и выбрать нужный пункт меню (там присутствует сразу два пункта — для простого запуска и от имени администратора). Это же меню можно вызвать, нажав клавиши Win+X на клавиатуре.

Примечание: если в этом меню вместо Windows PowerShell у вас отображается командная строка, то заменить её на PowerShell вы, при желании, можете в Параметры — Персонализация — Панель задач, включив пункт «Заменить командную строку оболочкой Windows Powershell» (в последних версиях Windows 10 параметр включен по умолчанию).

Запуск PowerShell с помощью диалогового окна «Выполнить»

Еще один простой способ запуска PowerShell — использовать окно «Выполнить»:

  1. Нажмите клавиши Win+R на клавиатуре.
  2. Введите powershell и нажмите Enter или Ок.

При этом в Windows 7 можно установить отметку запуска от имени администратора, а в последней версии Windows 10, если при нажатии Enter или Ok удерживать клавиши Ctrl + Shift, то утилита также запуститься от имени администратора.

Видео инструкция

Другие способы открыть PowerShell

Выше перечислены далеко не все способы открытия Windows PowerShell, но, уверен, что их будет вполне достаточно. Если же нет, то:

Также, бывает, спрашивают, а что такое PowerShell ISE и PowerShell x86, которые находятся, например, при использовании первого способа. Отвечаю: PowerShell ISE — «Интегрированная среда сценариев PowerShell». По сути, с её помощью можно выполнять все те же команды, но, помимо этого, в ней присутствуют дополнительные возможности, облегчающие работу со скриптами PowerShell (справка, инструменты отладки, цветовая разметка, дополнительные горячие клавиши и т.п.). В свою очередь версии x86 нужны в случае, если вы работаете с 32-битными объектами или с удаленной системой x86.

PowerShell 5.0 идет с Windows 10, но для предыдущих ОС новая версия вышла в составе Windows Management Framework 5.0 только в конце февраля, причем со второй попытки . Сегодня я расскажу о некоторых нововведениях, но начну с того, зачем вам может понадобиться PowerShell.

Зачем вам нужен PowerShell

Просто так изучать PowerShell нет смысла, и это верно для любого языка – скриптового, программного и даже человеческого. Как и многие решения Microsoft, PowerShell делается с прицелом на бизнес для автоматизации задач по управлению ПК и серверами в организациях.

В основе скриптового языка лежит мощная программная платформа.NET, поэтому возможности PowerShell простираются намного дальше администрирования.

Как-то раз мне понадобилось удалить один столбец из множества книг Excel 2013. Ручная работа претила, а гугление не давало готового решения. Я создал тему на форуме (да, я тоже иногда задаю вопросы на OSZone:). Мне подходил любой язык, но решение неожиданно для меня оказалось на PowerShell. Как выяснилось, можно загрузить Excel в качестве COM-объекта и манипулировать им дальше.

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

Думаю, идея понятна, и можно уже переходить к новинкам PowerShell 5.0.

8 полезных возможностей

Подсветка синтаксиса

В новой консоли намного легче ориентироваться!

Красный цвет и нумерация строк, однако, из другой оперы .

Поиск по истории в двух направлениях

Сочетания клавиш: Ctrl + R и Ctrl + S
Командлеты: Get-PSReadlineKeyHandler и Set-PSReadlineKeyHandler

Как и в CMD, в PowerShell есть история сессии с навигацией стрелками, a Get-History выводит журнал по аналогии с F7 . Полный список сочетаний клавиш, связанных с журналом, можно вывести так:

Get-PSReadlineKeyHandler | ? {$_.function -like «*hist*»}

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


В отличие от Get-History, содержащей историю текущей сессии, этот журнал ведется глобально и сохраняется при закрытии окна.

Спасибо за наводку Антону Дровосекову и Константину Сидякину из нашей группы ВК .

Создание соединений, символических и жестких ссылок

Командлеты: New-Item , Remove-Item , Get-ChildItem

У меня в блоге хватает рассказов , поэтому я не мог обойти вниманием возможность их создания в PowerShell.

#Символическая ссылка на файл New-Item -ItemType SymbolicLink -Path C:\test\MySymLinkFile.txt -Target C:\test\1.txt #Символическая ссылка на папку New-Item -ItemType SymbolicLink -Path C:\test\MySymLinkFolder -Target C:\Windows\ #Жесткая ссылка на файл New-Item -ItemType HardLink -Path C:\Test\MyHardLinkFile.txt -Target C:\test\1.txt #Соединение New-Item -ItemType Junction -Path C:\Temp\MyJunctionDir -Target C:\Windows

Честно говоря, синтаксис команды mklink запомнить проще, поэтому быстрее может получиться так:

Iex «mklink /d C:\test\MySymLinkFolder C:\Windows»

Создание временного файла

Командлет: New-TemporaryFile

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

#Создание временного файла New-TemporaryFile #Создание временного файла и получение его полного пути $tmpfile = (New-TemporaryFile).FullName $tmpfile

Я редко делаю чистую установку основной системы, но на ВМ это происходит регулярно. И OneGet очень удобен для быстрой автоустановки ключевого набора программ.

Примечание. Можно использовать этот модуль, не устанавливая WMF 5.0. Предварительная версия модуля для PS 4.0 и 3.0 доступна отдельно — март 2016 , а более свежие ищите поиском в центре загрузки по запросу PackageManagement PowerShell Modules Preview .

Установка программ

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

#Разрешить установку подписанных пакетов из Интернета Set-ExecutionPolicy RemoteSigned #Установить поставщик Chocolatey Get-PackageProvider –Name Chocolatey -ForceBootstrap #Сделать Chocolatey доверенным Set-PackageSource -Name Chocolatey -Trusted #Установить программы Install-Package NotepadPlusPlus, vlc, firefox, filezilla, sysinternals -Verbose -Force -ProviderName chocolatey #Добавить путь к исполняемым файлам (sysinternals) в PATH setx PATH «$env:path;C:\Chocolatey\bin» -m

Поставщик скачивает в C:\Chocolatey\lib пакет, в основе которого лежит скрипт chocolateyInstall.ps1. Он загружает установщик программы с официального сайта в папку %temp%\Chocolatey и запускает его в режиме тихой установки. Простейший пример – Notepad++.

Install-ChocolateyPackage «notepadplusplus» «exe» «/S» «https://notepad-plus-plus.org/repository/6.x/6.9/npp.6.9.Installer.exe»

Поиск программ

В репозиториях много программ, все самые популярные точно есть.

Find-Package «*zip*»,»*commander*» -ProviderName Chocolatey

Удаление программ

С удалением приложений не все так гладко, впрочем.

Uninstall-Package -name filezilla

В идеале удаление пакета должно повлечь тихое удаление программы, но реализация зависит от автора пакета и возможностей установщика. На практике одни пакеты не содержат скриптов для удаления, другие придумывают костыли в виде скриптов AutoHotkey, третьи просто запускают деинсталляцию интерактивно, предлагая вам закончить процесс вручную. Впрочем, если установщик — MSI, удаление работает четко.

Ссылки по теме OneGet и тихой установки:
  • Пошаговое руководство по установке программ из PowerShell (Дмитрий Буланов)
  • Типы инсталляторов и ключи тихой установки (моя статья 2005 года вполне актуальна:)
  • Сайт автоустановки Windows и форум автоустановки программ

Дискуссия и опрос

Для опытных «скриптовиков» и системных администраторов в PowerShell 5.0 есть и другие интересные возможности (например, классы по аналогии с языками объектно-ориентированного программирования). Полный список вы найдете на этой странице TechNet (ссылка ведет на английскую версию специально, поскольку русская пока не содержит сведений о 5.0).

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Подсветка синтаксиса в PowerShell 5.0, это установленный по умолчанию модуль PSReadLine. В предыдущих версиях его можно доустановить и прописать его в загрузку в профильном скрипте (переменная $profile) или подгрузить самому, когда нужно

Import-module psreadline

Можно поподробнее про тихую установку из скриптов? Не так давно стал пользоваться chocolatey, очень нравится, особенно обновление всех программ одной командой. Пока не разобрался с тихой установкой, все ставлю в ручном режиме, команда-подтверждение-установка.

6yHTapb

единственное, для чего пока мне понадобился PowerShell в win 10, это обход бага с неработающей кнопкой «свойства» в настройках VPN соединения. Set-VpnConnection -Name «Name» -SplitTunneling $true.
Кстати, Вадим. Есть какая-либо информация по этому поводу? Речь идет о кнопке в свойствах VPN соединения — сеть — IP версии 4 — «свойства». там обычно можно убрать галку «использовать шлюз в удаленной сети». сама кнопка активна, но при нажатии ничего не происходит. тут и помог PowerShell.

Сергей Рощин

Огромное спасибо за Chocolatey
на windows 7 я так понял на работает?

Lecron

По голосованию… Использую почти все варианты. Часть программ в портативном виде. Часть — устанавливается ручками с диска, для тех, которые умеют сами обновлятся или серьезная доработка давно закончена. Из них, часть скриптом. Часть новыми. Часть уже предустановлена в образ.
Опять же, клиенты и задачи бывают разные.

Про PowerShell… Считаю, что Микрософт промахнулся с названием. С первого взгляда, непонятно что получилось. Командная оболочка/процессор или скриптовый язык программирования. Слово Shell наталкивает на первое, но тогда уже давно пора, раз она такая крутая, сделать ее по умолчанию или хотя бы продвигать ее в качестве основной. Но реальные юзкейсы больше наталкивают на второе, замену WSH.

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

    В Win+X можно заменить CMD на PS (свойства панели задач — навигация). И продвигают они в качестве основной давно — на TechNet уже давно ничего нового нет про CMD, только PS.

    Конечно, целевая аудитория — ИТ-специалисты, но то же самое можно сказать про CMD и WSH. Но я не вижу вреда для ЦА своего блога. Я нахожу применение PS дома и на работе, и это не связано с администрированием..

    • Lecron

      Я не про вред. А про непонимание и соответствующие ошибки.
      Что это такое? Чем его видит Микрософт? Командный процессор, работающий, как правило, в интерактивном режиме, который также может

      Работать интерактивно в одном синтаксисе и семантике, а писать последовательности действий в других — нелепо. В этом и есть основная проблема. Такая глубинная, что даже вы ее не замечаете, хотя косвенно упомянули в статье. Синтаксис mklink не проще, а привычнее. Так как New-Item, с единым синтаксисом, позволяет создавать очень очень многое. И вот уже, фактически, его синтаксис проще, чем знание многих отдельных утилит, включая их наименование.

      Обещание сдержали — вот вам модуль для управления менеджерами пакетов, вперед.

      Не понял. Что такое «модуль управления менеджерами»?

        • Lecron

          Мне кажется, тут то собака и порылась. В провайдерах. Когда нет единого подхода к управлению пакетами. Фактически пользователю приходится знать и учитывать, какой из провайдеров используется. И не только пользователям, но и мейнтенерам.

          Фича, как обычно, ориентирована на организации, а MSI и MSU поддерживаются в полный рост.

          Lecron

          Возможно я не понял всей глубины этой фичи, поэтому такие глупые претензии.
          Понадобятся ли пользователю дополнительные телодвижения, если владелец репозитория/пакета сменит провайдера? Или создатель пакета изменит его настройки? Или все это берет на себя менеджер пакетов?

          Гм… вот фича — возьмите, попробуйте, разберитесь — это поможет снять некоторые вопросы. Есть поставщик, у него есть пакеты в репозитории. Убрали конкретный пакет? Тогда вы не сможете его скачать у этого поставщика. Но уже скачанный пакет остается локально, им дальше можно управлять.

          Lecron

          Кстати, вот еще вопрос. А есть ли команда Update-Package, а еще лучше Update-AllPackage?

          Привет. Скажи можно ли восстановить boot или bios и как это сделать? Слетел загрузчик виндовс 7 про. В boot изменил уже настройки но винда не хочет загружатся. Ранее была представлена винда 8.1 в сервисе воткнули винду 7 про без моего согласия. Помоги решить проблему!

Алексей

часто слышал про шоколадку, раз уж напомнили то решил наконец ее потестить. результат не особо впечатлил.

поставил массово набор софта уже стоящий на пк. только около 70% нашлось в репозитории.
ключи —y —accept-license —f —x — маны покурил буквально пару минут, может что не понял.
итог:
софт который я не просил: autoIT, autohotkey. зачем?
накатило старую версию Acrobat Reader DC, cheat engine;
не смогло скачать dropbox virtualbox;
тихий режим не сработал viber, wireshark, light alloy — пришлось ставить галочки и жмакать далее;
skype удалило старый, но не поставило новый.
и часть ярлыков не создала, теперь нужно вспоминать какие.

Warnings:
— adobereader
— windjview
— firefox
— notepadplusplus
— teamviewer

тут я не понял что за ошибки.

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

  • Сергей

    PS C:\Users\Gerald> Find-Package «*paint.net*» -ProviderName Chocolatey Name Version Source Summary —- ——- —— ——- paint.net 4.0.6 chocolatey Paint.NET is image and photo manipulation software designed to be used on computers tha…

    Буквально сегодня натолкнулся на Хабрахабре в первый раз на упоминание Chocolatey и тут же в Вашей рассылке. Показалось что вот оно! Думал будет потрясающая скриптовая замена автоустановке свободнораспространяемого ПО с ninite.com, но увы. Актуальность софта не поддерживается на паранаидальном уровне, и проблематика есть описанная участниками выше.

    Виталий

    Я считаю, что для консоли лучше подходит философия UNIX:


    Пишите программы, которые бы работали вместе.
    Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс.

    • Виталий, а что, в Windows входит консольная утилита для ZIP? А делается это для упрощения скриптов на PowerShell, не надо лезть в CMD, интегрированная справка и т.д.

      • Lecron

        А зачем лезть в cmd, если и тот и другой shell, и оба должны самостоятельно запускать исполняемые файлы и управлять их вводом выводом?
        Против включения такого функционала не возражаю, особенно если это сделано по уму, как интерфейс к zlib, а не очередное разбухание кодовой базы — в проводнике одно, в шелле другое, в cmd третье стороннее.

        Виталий

        Нет, не входит.
        Но я и на своём хостинге при первой попытке использовать zip получил что- то типа «zip не установлен. Установите командой apt-get install zip».

        Лезть в cmd? Выше сказали, что PS должен запускать бинарники.

        Справка? В Linux команда man %имя_утилиты% либо %имя_утилиты% -?, первая даёт подробный мануал, вторая как краткая справка по параметрам. Работает кажется везде.

        В итоге командный интерпретатор на Linux- одновременно простая и мощная вещь, есть множество альтернатив, так как в нём самом нет ничего сложного, он просто запускает программы, управляет потоком вывода и интерпретирует простейший синтаксис.

        strafer

        Vadim Sterkin : Виталий, а что, в Windows входит консольная утилита для ZIP?

        Стесняюсь спросить: а не проще было её добавить, чем запиливать встроенный функционал?

  • Herz Mein

    > зачем shell-у, своими средствами работать с архивами

    Если есть такая возможность, заложенная в.Net-классах, то почему бы ее не использовать? Тут просто другой подход, отличный от bash или cmd, которые интерпретаторы командной строки. CLI. А PowerShell скорее отладчик для скриптов, имхо.

    artem

    Lecron Что это такое? Чем его видит Микрософт? Командный процессор, работающий, как правило, в интерактивном режиме, который также может читать команды из файла, который называется скриптом? Или как язык написания скриптов, у которого есть свой REPL? Согласитесь, разница большая?

    Понятно, что задачи разные. Но я не вижу между ними противоречия. Т.е. вполне возможно одним инструментом закрыть обе потребности. К этому и стремится PowerShell. Что-то получается удачно, что-то не очень. Но виденье понятно.

    artem

    Vadim Sterkin :
    И продвигают они в качестве основной давно — на TechNet уже давно ничего нового нет про CMD, только PS.

    Скоро будет, надо полагать. CMD (саму оболочку) сейчас сравнительно активно начали дорабатывать. Хотя до этого лет десять не трогали вообще.

    artem

    Виталий Пишите программы, которые делают что-то одно и делают это хорошо.

    Не вижу противоречий. В PowerShell каждый коммандлет делает что-то одно (за редчайшими исключениями). Кто скажет, что «Expand-Archive» умеет записывать DVD или варить кофе — пусть первый кинет в меня камень.

    Виталий Пишите программы, которые бы работали вместе.

    Здесь PowerShell уделывает все известные мне оболочки, т.к. оперирует объектами, а не текстом. Т.е. «работать вместе» (передавать данные между коммандлетами) получается гораздо эффективнее. Не надо тратить время на парсинг текста и попытку объяснить следующей команде, что же именно представляет собой этот текст.

    Виталий Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс.

    Потоки тоже поддерживаются. И если надо передвать именно тест — с этим нет никаких проблем.

    То есть PowerShell вполне следует приведённой философии.

    Виталий Вот например, зачем запихивать в PS «Создание соединений, символических и жестких ссылок» со своим синтаксисом, если есть mklink? Для чего там «Создание и распаковка архивов», если есть zip и его аналоги?

    Да потому что указанные коммандлеты — это и есть «аналог zip». На самом деле, ответить на эту претензию очень легко. Надо только осознать, что коммандлеты — это не встроенные возможности оболочки, а именно что внешние команды. И всё сразу встаёт на свои места. Ведь это нормально, что у нас есть команды для выполнения каких-то действий, правда? Это справедливо как для PowerShell, так и для любой другой оболочки.

    Да, есть небольшое количество коммандлетов, которые поставляются вместе с оболочкой по умолчанию. Но идеологически они ничем не отличаются от тех коммандлетов, которые появляются отдельно при установке соответствующих компонентов Windows или вовсе предоставляются сторонними разработчиками.

    • Lecron

      artem : Ведь это нормально, что у нас есть команды для выполнения каких-то действий, правда? Это справедливо как для PowerShell, так и для любой другой оболочки.

      Шелл — как много в этом слове… начало искажаться под воздействием MS.
      Все время считал, что команды не зависят от среды запуска, а встроенные в среду команды, нужны только для обслуживания возможностей самой среды, а не сторонних объектов. Неужели ошибался?
      С этой точки зрения PS начинает напоминать ACDSee и Nero.

      Виталий

      Здесь PowerShell уделывает все известные мне оболочки, т.к. оперирует объектами, а не текстом. Т.е. «работать вместе» (передавать данные между командлетами) получается гораздо эффективнее.

      Сомневаюсь, что все сторонние утилиты поддерживают эти самые объекты. А вот текст поддерживает любая утилита, работающая в командной строке.

      Надо только осознать, что командлеты — это не встроенные возможности оболочки, а именно что внешние команды. И

      Почему тогда у этих командлетов свой синтаксис? Ну никак не похоже, что это внешние команды.

      • artem

        Виталий : Сомневаюсь, что все сторонние утилиты поддерживают эти самые объекты.

        Сторонние утилиты — нет, конечно. А вот сторонние коммандлеты — запросто. Я бы сказал, что процентов восемдесят сторонних коммандлетов достаточно годно работают с объектами.

        Если коммандлета нет и приходится запускать именно утилиту (исполняемый файл), тогда конечно приходится кормить ей на вход текст. Но текст легко получить из объекта (развернув нужное свойство, например). Я понимаю, что это звучит заумно, но после набора критической массы опыта это получается совершенно интуитивно.

        Виталий : Почему тогда у этих командлетов свой синтаксис? Ну никак не похоже, что это внешние команды.

        С этим не могу не согласиться. «Не похоже» — правильное слово:)

        Как я сказал выше, к PowerShell надо привыкнуть. Причём я сейчас скажу гадость в сторону наших евангелистов и MVP, но злоупотребление алиасами (dir вместо Get-ChildItem, md вместо New-Item -ItemType «Directory», знак процента вместо Foreach-Object или вопроса вместо Where-Object и так далее, а также пропуск наименований параметров в случае, когда работает умолчание) только запутывает неподготовленных людей. Из-за этого, в том числе, у меня «привыкание» к PowerShell затянулось на годы. Мне кажется, что если бы все примеры команд, опубликованные в блогах и на форумах, содержали полный синтаксис, то новички испытывали бы гораздо меньше анальной боли.

    На самом деле, использую 2 варианта: разворачивание бэкапа, сделанного сразу после настройки системы либо ставлю собственную сборку Windows 7, куда включаю все нужные настройки и программы.
    А с Win10 менеджер пакетов пока просто ещё не освоил, хотя его наличие вызывает сильный энтузиазм.
    Раньше игрался с разными менеджерами пакетов под Windows, но по тем или иным причинам все были неудобными именно в расчёте «время на освоение»/»время на ручное скачивание». Оказалось проще сделать свою сборку, чем лепить скрипты.

    Евгений Казанцев

    Замечательное начинание, я увидел как установить пачку нужных прог одним скриптом, ninite пользовался, особо не впечатлило, сейчас пользуюсь WPI качанными с торрентов, плюс их в том что там есть много больше и реальная автоустановка, минус что необходимо доверять автору репака.
    Я одного не понял, как этим ОБНОВЛЯТЬ установленные программы полностью автоматически, что является ключевой базовой основной фичей любого пакет менеджера? Как сделать чтобы тот же нотепад++ прописался автоматом приложением по умолчанию без залезания в жутко неудобные «новые, они же современные» настройки? Как работает система зависимостей, и есть ли она там вообще?»

    А если оформить, как скрипт или функцию? Например так (без проверки на существование и без преобразования в полные пути, что необходимо):

    Param ( $create, $extract, $path, $zip) add-type -assembly system.io.compression.filesystem function create-zip ($path, $zip) { ::createfromdirectory($path, $zip) } function extract-zip ($zip, $path) { ::extracttodirectory($zip, $path) } if ($create) { create-zip $path $zip } if ($extract) { extract-zip $zip $path }

    Вызывать соответственно:

    .\test -c -p «C:\Some\Folder» -z «D:\Folder\out.zip» # Для создания.\test -e -p «C:\Some\Folder» -z «D:\Folder\out.zip» # Для извлечения

    • При чем тут оформление? Вы используете классы.NET напрямую в своей функции. Командлет избавляет от нбх обращаться к классам. В этом и разница. Примерно такая же, как между программистом и ИТ-специалистом.

      artem

      Троллейбус из буханки хлеба.jpg

      Я так понимаю, что никто не спорит с тем, что функциями можно сделать вообще всё, что угодно:) Польза же, очевидно, в том, что теперь конкретно для этого действия отдельную функцию писать не нужно. А значит — во-первых, людям будет проще этим пользоваться (особенно если они не умеют писать функции или не могут позволить себе каждый раз их импортировать), а во-вторых будет больше стандартизации. Это несомненное благо. Согласитесь, тупо, когда в пяти скриптах от пяти разных авторов требуется распаковывать архивы, и каждый решает эту задачу немного по-своему. (Например, одно время был популярен вариант через недокументированный com-объект Windows Explorer).

    lesha

    Я работаю на Windows и Mac, а если настраиваю сервер — то Linux. OS X начисто переустанавливал пару раз, но там всё просто — выбрал дату в TimeMachine 10-15 мин и система готова.
    На Windows у меня большинство программ портативные, ставлю только хром ибо иначе не обновляется и пакет программ Adobe, потому с версии СС они качаются через Cretive Cloud. Смысла городить огород с автоматизацией не вижу. PowerShell может и хорош, но мне на Windows нечего автоматизировать, а для Linux и OS X есть bash, которым я уже давно пользуюсь.
    Если друг просит «переустанови мне Винду, а то что-то глючит» ставлю систему с внешнего диска своим «фирменным» способом, а остальное пусть сам себе ставит

  • Устанавливая новую версию операционной системы Windows, начинающие пользователи встречают новые названия программ, которых раньше, возможно не слышали и предназначение которых им не понятно. Одно из таких приложений PowerShell. Если оно предустановлено в ОС, значит для чего-то оно служит. Что это за программа Winodws PowerShell, часто задаются этим вопросом пользователи. Давайте ее рассмотрим подробнее.

    Рабочее окно PowerShell

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

    Возможности и предназначение программы PowerShell

    Видно, что эта программа Winodws PowerShell является интерфейсом для скриптового языка, а также является платформой для выполнения этих скриптов. PowerShell был выпущен в 2006 году, который входил во второй сервис-пак и с того времени программа стала частью всех операционных систем компании Microsoft. Скрипты данной программы имеют расширение PS1 и способны запускаться, подобно файлам BAT и CMD.

    Этот скриптовый язык разрабатывался, прежде всего, для деловых клиентов Microsoft, которым требуются мощные инструменты автоматизации различных задач в управлении компьютерами и серверами, под управлением Windows. За основу для языка взята платформа.NET от Microsoft.

    Windows PowerShell дает возможность автоматизировать множество различных задач и процессов. Она позволяет установить контроль над службами, аккаунтами, настройками, процессами и т.д. Скриптовый язык воспринимает все команды из командной строки ОС, в свою очередь имеет богатый собственный язык, который состоит из определенных команд, они называются командлетами (cmdlets). Эти командлеты работают по принципу Глагол + Существительное. К примеру, «Get-Help», что в переводе с английского означает «Получить Помощь». Этот командлет вызывает справку. Для того, чтобы получить информацию о каком-либо командлете, введите «Get-Help Get-Process». В этом случае программа предоставит информацию о камендлете «Get-Process».

    Запуск и работа в Windows PowerShell

    Есть несколько различных способов запустить программу Windows PowerShell в ОС. Для простоты поиска программ в операционной системе существуют окно поиска. Его можно найти, открыв ярлык «Мой компьютер» в верхней части экрана с правой стороны. Введите запрос «PowerShell» и в результатах поиска откройте программу. В Windows 10 программу можно запустить из любой рабочей папки, для этого нужно сделать клик по кнопке «Файл» в верхней части слева.


    Запуск PowerShell

    Для того, чтобы продемонстрировать как работает эта программа Windows PowerShell, испробуем ее некоторые возможности, например, давайте почистим корзину. Для этой функции есть специальный командлет – «Clear-RecycleBin». Он пригодится для написания скрипта при обслуживании компьютеров. При вводе такой команды, нужно указать локальный диск, на котором расположено приложение, с которым необходимо выполнить это действие: «Clear-RecycleBin C:». Далее появится строка с запросом на подтверждение, здесь необходимо нажать клавишу «Y» и «Enter».


    Очистка корзины с помощью PowerShell

    Если к командлету «Clear-RecycleBin C:» добавить часть «-Force», корзина очиститься без подтверждения.

    1. Давайте распакуем архив при помощи программы PowerShell.
    2. Для этого существуют заданные команды «Expand-Archive» и «Compress-Archive».
    3. Для того, чтобы заархивировать папку «C:\file\» в «C:\archive\file2.zip», следуйте указанной команде: «Compress-Archive –LiteralPath C:\file\ -DestinationPath C:\archive\file2.zip.
    4. В результате исполнения этой команды в указанной выше директории появится архив с именем «file2.zip», в котором будет заархивировано содержимое папки «C:\file\».

    Основные командлеты программы PowerShell

    У этой программы есть масса разных команд, применяемых к различным компонентам Windows и описать их все в это статье не выйдет. Вот некоторые основные команды Windows PowerShell:

    1. «Update-Help» — обновление справки для определенного компонента.
    2. «Get-Help» — получение справки.
    3. «Get-Command» — поиск из списка командлетов.
    4. «Format-Table» — обзор результата определенной команды в таблице.
    5. «New-Variable» — новая переменная.
    6. «Remove-Variable» — удаление значения переменной.
    7. «Set-Variable» — указать значение для переменной.
    8. «Format-Wide» — обзор результата выполненной команды в виде таблицы, в которой присутствует только одно свойство для одного объекта.

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

    Утилита полностью автоматизирована , для управления рабочими процессами понадобится минимальное вмешательство человеческого фактора. Все что для нужно — задавать правильные команды. Но прежде чем это делать, нужно разобраться в главном вопросе: Что такое Windows PowerShell, для каких целей он служит и какие функции выполняет.

    Краткий обзор программы

    По сути, это усовершенствованная версия MS-DOS – старейшей дисковой операционной системы от компании Microsoft, выпущенной еще в середине 80-х гг. прошлого века. Она содержала в себе приложения, с функцией интерпретаторов , далеких от совершенства, умевших задавать несколько простых команд.

    Разработчики неоднократно пытались компенсировать недостатки MS-DOS дополнительными компонентами для запуска сценария, такими как MS Script Host, с языками вроде Jscript, но это решало проблему лишь частично. В 2003 г. началась разработка программы способной заменить старую оболочку, получившую название Monad, известную сейчас как PowerShell. Хотя его впервые запустили в конце 2006 года и включили в ОС Windows XP, в завершенном виде он вышел только спустя 10 лет непрерывных доработок, в 2016 г. когда получил открытый исходный код. PowerShell широко используется в Windows 7, 8 и 10.

    Windows PowerShell – что это такое

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

    Таким образом, PowerShell – это не что иное, как скриптовый язык, созданный на платформе.NET для выполнения задач по части управления файлами, сохраненными на системном диске, запущенными процессами и службами. Кроме того, ему подчинено управление аккаунтами в сети Интернет и любыми настройками, от системных, до настроек функциональности отдельных приложений. Но сам по себе PowerShell только оболочка, основные функции выполняют сопутствующие элементы, наполняющие ее. Далее постараемся разобраться в PowerShell, чтобы работа с утилитой стала понятна даже «чайникам».

    Командлеты

    Самые важные — это командлеты, исполняемые файлы, содержащие в себе собственную программу , загружаемую в компьютер для выполнения поставленных задач. Они являются главной составляющей Виндовс Пауэр Шелл, отвечая за его функциональность, и представляют собой набор команд для запуска сценария, вводящегося в командной строке.

    Это несколько отличается от запросов, вводимых в поисковой строке браузера, но имеет те же принципы . В оболочке содержится сохраненная коллекция из сотен таких команд, отвечающих за определенные задачи. Формируются командлеты по обычному принципу Глагол + Существительное, что отражает их назначение.

    Конвейер

    Второй по значимости элемент (тип команд) PowerShell, передающий выходные данные одних командлетов во входные данные других, служит как бы посредником между ними. Конвейер служит, главным образом, для передачи и возврата не только командлетов, но и любых других объектов. Способен он выполнять и более сложные и ответственные задачи. А наиболее важно то, что для этого не требуется писать сложные алгоритмы и сценарии.

    Разработчики Microsoft при создании конвейера, использовали как наглядный пример аналог, задействованный в Linux, но не копировали его, а сделали его максимально удобным и функциональным . Если сравнивать их, общая между ними только характеристика функций, выраженная в фактически непрерывном потоке данных, содержащих миллионы символов.

    Сценарии

    Сценарии — менее значимые типы команд в PowerShell, являющие собой блоки кодов, сохраняющиеся в отдельном от остальных файле, но так же поддерживающие расширение PS1. Главным их преимуществом служит то, что сохраненные коды не нужно каждый раз набирать в ручном режиме. Не имеет значения, в каком из текстовых редакторов они пишутся, хоть в Word, хоть Paint, принципиально только придерживаться установленного расширения.

    В самой оболочке присутствует интегрированная в нее среда для сценариев, воспользовавшись которой можно еще больше упростить их написание . Для их создания, установлены правила оформления текста, перед именем используется символ «$», путь к сохраненному файлу заключается в фигурные скобки, а обращение к свойствам происходит с использованием «.» впереди. Сценарии дополняются аргументами с использованием круглых скобок и комментариями с оформлением символами «#».

    Дополнения

    Кроме стандартных типов команд и 240 командлетов, содержащихся в PowerShell, в него включено множество дополнений , призванных еще больше упростить работу и расширить функциональные возможности. Список наиболее важных дополнений:

    Как запустить PowerShell

    Дополнительное удобство программы в том, что запускается PowerShell при помощи разных способов, отличающихся в техническом плане, но идентично для всех версий Виндовс, в том числе Windows 10. Благодаря этому, каждый подбирает индивидуальный подход, в зависимости от ситуации. Существует несколько способов запуска.

    При помощи «Поиска»

    Для этого потребуется кликнуть по соответствующему значку, размещенному на панели задач , или применить комбинацию клавиш «Win + S ». В отрывшемся окне, в поисковой строке набрать «powershell», а в выданном результате выбрать «Классическое предложение». Можно также вызвать контекстное меню правым кликом, где воспользоваться «Запуском от имени администратора».

    Через меню «Пуск»

    Кликом по кнопке «Пуск» открыть список приложений, в сортированной группе озаглавленной «W» выбрать папку с программой. Развернуть ее и кликнуть по приложению в верхней строчке. Здесь также в виде варианта, можно вызвать контекстное меню правой кнопкой мыши и запустить «от имени администратора».

    С использованием сочетания клавиш

    Этот способ подразумевает предварительное действие, заключающееся в замене командной строки оболочкой «Widows PowerShell» с функцией «Меню Win + X». После этого войти в соответствующее меню сочетанием клавиш, или через контекстное меню правым кликом по кнопке «Пуск», где выбрать нужный пункт в представленном списке.

    Через диалог «Выполнить»

    Один из простейших способов, с открытием диалогового окна «Выполнить ». Для его вызова, применить сочетание клавиш «Win + R», в строке «Открыть» ввести команду с именем программы. Для ее запуска нажать на клавишу «Enter» или кнопку «Ок» на панели окна.

    С помощью «Диспетчера задач»

    Чтобы открыть диспетчер, применить сочетание клавиш «Ctrl + Shift + Esc », в открывшемся окне, во вкладке «Файл» выбрать вариант «Запуска новой задачи ». В новом окне, напротив строки «Открыть», вписать «powershell» и нажать на «Enter». В случае если требуется создание задачи от имени администратора, отметить галочкой соответствующую опцию и подтвердить нажатием по кнопке «Ок».

    Через «Проводник»

    После его открытия, потребуется указать имя папки или диска, где будет запускаться программа. На вкладке «Файл» выбрать вариант «Запустить Widows PowerShell» и нажать на нужный пункт.

    Через системную папку

    В поисковой строке ввести адрес программы: «C:\Windows\System32\WindowsPowerShell\v1.0». В открывшемся списке выбрать папку «powershell.exe» и открыть ее двойным левым кликом. Чтобы упростить процесс в будущем, можно создать ярлык файла и закрепить в любом удобном месте: на панели задач, в меню «Пуск», или рабочем столе. При необходимости запуск оболочки будет осуществляться двойным кликом по иконке.

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

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

    На простом примере, команда, задающаяся как «Get-Help» — это своеобразный справочник утилиты, предоставляющий при вводе общую информацию. Если нужна справка по определенному процессу , например о подключенных дисках, нужно задать команду – «Get-Help Get-PSDrive», и так по любому вопросу, меняя только имя командлета. Для каких либо действий, к примеру, очистки корзины от файлового мусора, обычно используется «Clear-RecycleBin», применяющийся и для более важных задач в обслуживании ПК и для написания скриптов. Но отвечает он и за такой простой процесс, как очистка системных корзин. Прежде нужно указать диск, подлежащий очистке, по принципу: «Clear-RecycleBin C:» для подтверждения действия ввести символ «Y» и нажать на «Enter».

    Работа с конвейером

    В работе, конвейер чрезвычайно прост и удобен, чем особенно выделяется на фоне других типов команд. Например, если выводить результат Get-Process, содержащий информацию об активных процессах на ПК в командлет Soft-Object, он отсортирует их по дескрипторам. Переведя полученные значения в Where-Object, произойдет фильтрация этих процессов по заданному параметру, к примеру, наименьшего объема страничной памяти. А если и этот результат вывести в Select-Object, он выделит лишь первые 10 процессов, с учетом числа дескрипторов.

    Или еще один простой пример, применяющийся для получения информации о самых тяжеловесных файлах, хранящихся на системном диске: Команда Get-ChildItem, открывает каталог для выбора объекта, Sort-Object отсортирует выбранный объект, а Select-Object укажет его нужные свойства.

    Работа со сценарием

    При создании алгоритмов, часто применяется Windows PowerShell ISE, специально созданный механизм, в том числе и для использования сценариев. В нем, под названием «Безымянный 1.ps1» вводится тело кода . Разберем на простом примере: «WMID WebMoney» в названии задать условно «wmid», сохранить файл в корне диска С. Для запуска потребуется войти в каталог, применяя команду «cd C:\» имя файла должно значиться в таком ключе: «.\wmid». Примечательно, что сценарии запускаются и из командной строки ОС, но для этого нужно изменить путь к нему: «powershell.exe C:\ wmid.ps1». При этом важно помнить, что выполнять сценарии по умолчанию запрещается, для получения разрешения на такие действия, следует задать команду Set-ExecutionPolicy.

    Самые полезные командлеты PowerShell

    В оболочке собран их внушительный каталог, представленный сотнями команд. Запомнить все эти названия и приложенные к ним свойства, не представляется возможным. Но этого и не нужно делать, большинство их используется крайне редко, а то и вовсе не применимы на практике. Следует обратить внимание лишь на самые важные, практичные, несущие в себе полезные функции.

    Наиболее полезные в применении:

    • Get-Help – справочник по назначению командлетов и общим свойствам оболочки;
    • Update-Help — загрузка и установка обновленных справочных данных;
    • Get-Command – поисковик требуемых команд, с авто заполнением строки;
    • Get-Alias – отражает установленные псевдонимы, общим списком или с конкретикой;
    • Get-PSDrive – представляет запущенные диски и происходящие на них процессы;
    • Install-WindowsFeature – ролевой и компонентный установщик;
    • Uninstall-WindowsFeature – ролевой и компонентный деинсталлятор;
    • Get-History – отвечает за возвращение командных списков, выполненных при входе.
    • $hversion – возвращает версию утилиты

    Переменные :

    • Get-Variable – показывает списком все переменные с учетом их значений;
    • New-Variable – используется для настройки ново созданных переменных;
    • Set-Variable – устанавливает новые значения, если они не значатся в списке;
    • Clear-Variable – деинсталлятор содержания, сохраняющий образ;
    • Remove-Variable — деинсталлятор командлетов и их составляющих.

    Форматирование:

    • Format-List – расширенный справочник;
    • Format-Table – выводит таблицу результатов отдельных команд;
    • Format-Wide — расширенная таблица по результатам, со свойствами отдельных объектов.

    Интернет:

    • Enable-NetAdapter – для включения адаптера;
    • Rename-NetAdapter – задает новое имя и представление;
    • Restart-NetAdapter – используется для перезапуска;
    • Get-NetIPAddress – предоставляет данные по конфигурации прокси-сервера;
    • Set-NetIPAddress – задает новую конфигурацию прокси-серверу;
    • New-NetIPAddress – занимается созданием и настройкой прокси-сервера;
    • Remove-NetIPAddress – деинсталлятор прокси-сервера;
    • New-NetRoute – используется для внесения дополнительных записей;
    • Get-NetIPv4Protocol — предоставляет данные по протоколу IPv4;
    • Get-NetIPInterface — отражает свойства и характеристики веб-интерфейса IP.

    Элементы:

    • Get-Item — принимает элементы по заданному пути;
    • Move-Item – для перемещения элементов по другим папкам;
    • New-Item – используется для создания и оформления;
    • Remove-Item – деинсталлятор отмеченных элементов;
    • Get-Location – показывает местонахождение в настоящем времени.

    Фоновые задания:

    • Start-Job – выполняет запуск;
    • Stop-Job – останавливает работу;
    • Get-Job – открывает список;
    • Receive-Job – предоставляет информацию о результатах;
    • Remove-Job – деинсталлятор фоновых задач.

    Объекты:

    • Measure-Object – используется для расчета числовых агрегирующих параметров;
    • Select-Object – для выбора с указанием конкретных свойств;
    • Where-Object – отражает условия касательно выборки по значению и свойствам.

    Службы и процессы:

    • Get-Process – показывает информацию об активных процессах ПК;
    • Start-Process – производит запуск на ПК;
    • Stop-Process — прекращает работу избранных;
    • Get-Service – предоставляет данные об активных службах;
    • Restart-Service – осуществляет перезапуск;
    • Start-Service – используется для подключения выбранных;
    • Stop-Service – ставит на паузу процесс;
    • Set-Service – изменяет свойства служб и режим подключения.

    Компьютер и система:

    • Restart-Computer – используется для перезапуска ОС;
    • Checkpoint-Computer — для создания системной восстановительной копии для ПК;
    • Restore-Computer – отвечает за запуск восстановленной системы;
    • Remove-Computer — деинсталлирует локальный ПК из доменного имени;
    • Clear-EventLog – очищает список записей в журнале.

    Контент:


    Что такое PowerShell ISE

    Это графическая оболочка скриптового языка, идущая в комплекте с утилитой в виде ее приложения, главным образом для пуска независимых консолей. В процессе запуска, поддерживается Юникодом и символическими стандартами, с доступом к закладкам интерфейса основной программы. Разработана она для создания скриптов , редактирования и управления ими, с функцией отслеживания их местонахождения. Кроме этого, умеет работать с текстовыми документами в любом формате и файлами XML, выполнять выделенные фрагменты сценариев, а за счет встроенного редактора, способна обновлять интерфейс, расширяя и дополняя его.

    Удобство работы создает цветовая подсветка синтаксиса , что существенно облегчает тестирование на предмет выявления ошибок и несоответствий в кодах. При помощи среды может копировать и менять значительные фрагменты в кодах, запускать отдельные части скриптов. Отмечается, что ISE намного превосходит консоли самой Пауэер Шелл, и вполне способна стать ее заменой.

    Удаление программы

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

    Хотя стоит заметить, что иногда необходимо удалить Windows PowerShell 1.0, поскольку операционная система может не обновляться из-за этого элемента. Сделать это можно так:

    • Запускаем системный поиск и вводим appwiz.cpl.
    • В окне выбираем – Просмотр установленных обновлений.
    • Ищем нужный компонент в списке обновлений, обычно это KB928439 и удаляем его.

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

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

    Определение PowerShell

    Начнем с того, что такое оболочка. Оболочка – это интерфейс, который позволяет воспользоваться какими-либо функциями операционной системы. Таким образом, PowerShell это оболочка, которую разработала компания Microsoft и предназначена для более автоматизированного выполнения задач. Данный инструмент создан на основе.NET и оболочки командной строки, а также языка сценариев.

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

    Первая версия инструмента PowerShell появилась еще в 2006 году для Windows XP, Server 2003 и Vista. На данный момент последняя версия инструмента 4.0. Выпущена в 2013 году вместе с Windows 8.1.

    Какие функции выполняет PowerShell?

    Как я уже сказал выше, Microsoft создала эту утилиту для того, чтобы какие-либо задачи с операционной системой можно было выполнять намного быстрее. Допустим вы хотите увидеть , которые подключены к компьютеру, так вот, это можно сделать с помощью PowerShell. Еще можно создать, которая будет выполняться в фоновом режиме, пока вы будете заниматься своими делами. Если замечены лишние фоновые процессы, которые нагружают системы, их можно отключить с помощью PowerShell. Также, можно создать документ, в котором будет храниться информация о компьютерных сетях или другое.

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

    В том случае, если вы являетесь администратором сети, то PowerShell сможет вам помочь в работе, например, с Active Directory. Также, стоит заметить, что утилита содержит более 100 команд. Это говорит о том, что она поможет решить вам большинство задач.

    Запуск PowerShell на Windows 7

    Для того, чтобы запустить PowerShell на данной операционной системе необходимо в поиске, где Пуск, ввести «».

    По-другому инструмент можно открыть, если зайти в меню Пуск, все программы, стандартные и папка Windows PowerShell .

    Запуск PowerShell на Windows 8.1

    Для открытия PowerShell в Windows 8.1 необходимо в поиске ввести ключевое слово «», чтобы открыть поиск, нажмите Win+Q .

    Другой способ открытия – через окно «Выполнить ». Нажимаем Win+R , открывается окно, в которое вы вводите .

    Использование в повседневности

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

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

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

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

  • Windows PowerShell — что это за программа

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

    Эта статья расскажет, что это за программа Windows PowerShell. Если же оболочка отсутствует в списке программ, тогда попробуйте включить её в программах и компонентах Windows 10. Несмотря на то что PowerShell создан в первую очередь для разработчиков, обычные пользователи успешно его используют в собственных целях.

    Что такое Windows PowerShell в Windows 10

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

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

    Язык скриптов воспринимает команды из классической командной строки Windows 10. В свою очередь, имеет богатый собственный язык, который состоит из определённых дополнительных команд (cmdlets). Убедитесь, что установлен компонент NET Framework 3.5 для Windows 10.

    Как запустить PowerShell в Windows 10

    Достаточно нажать сочетание Win+X и в контекстном меню Пуск выбрать Windows PowerShell (администратор). В последних версиях операционной системы командная строка была заменена на Windows PowerShell. Можно в параметрах заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке Пуск.

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

    А также можно запустить Windows PowerShell в определённой папке. Достаточно зажать клавишу Shift и в контекстном меню выбрать Открыть окно PowerShell здесь. В предыдущих версиях операционной системы вместо PowerShell был доступный пункт командной строки. Для перехода в командную строку в окне Windows PowerShell выполняем команду Cmd.

    Основные команды для PowerShell

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

    • Get-Help — отображение справочных сведений о командлетах и основных понятиях. В справке описываются командлеты, функции, сценарии и модули, а также объясняются основные понятия, в том числе элементы языка Windows PowerShell.
    • Update-Help — загрузка и установка файлов справки с общей папки или Интернета. После обновлений операционной системы может понадобиться обновление справки — обнаружение, скачивание и установка обновлений для модулей.
    • Get-Command — вывод всех доступных функций и командлетов, с авто заполнением строки. Выбрав интересующую команду, выполните её с Get-Help для быстрого получения справки. Например, ознакомится с Get-Help Remove-AppxPackage.

    Заключение

    На самом деле Windows PowerShell — это очень полезная программа, которая не раз экономила нам время. Множество инструкций писались на примерах с её использованием. Но даже половина возможностей обновлённой оболочки не была задействована. О работе в ней можно написать значительно больше. Но благодаря основным командам можно ознакомиться со всеми возможностями программы.

    Что такое PowerShell? — PowerShell

    • Статья
    • .
    • 2 минуты на чтение
    Эта страница полезна?

    Оцените свой опыт

    да Нет

    Любой дополнительный отзыв?

    Отзыв будет отправлен в Microsoft: при нажатии кнопки «Отправить» ваш отзыв будет использован для улучшения продуктов и услуг Microsoft.Политика конфиденциальности.

    Представлять на рассмотрение

    В этой статье

    PowerShell — это кроссплатформенное решение для автоматизации задач, состоящее из оболочки командной строки, сценария язык и структура управления конфигурацией. PowerShell работает в Windows, Linux и macOS.

    Ракушка

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

    Язык сценариев

    В качестве языка сценариев PowerShell обычно используется для автоматизации управления системами. это также используется для создания, тестирования и развертывания решений, часто в средах CI / CD. PowerShell построен на .NET Common Language Runtime (CLR). Все входы и выходы являются объектами .NET. Не нужно разбирать текстовый вывод для извлечения информации из вывода.Язык сценариев PowerShell включает следующие характеристики:

    Управление конфигурацией

    PowerShell Desired State Configuration (DSC) — это структура управления в PowerShell, которая позволяет управлять инфраструктурой предприятия с помощью конфигурации в виде кода. С DSC вы можете:

    • Создание декларативных конфигураций и пользовательских сценариев для повторяемых развертываний
    • Принудительно установить параметры конфигурации и сообщить о дрейфе конфигурации
    • Развертывание конфигурации с использованием моделей push или pull

    Следующие шаги

    Начало работы

    Вы новичок в PowerShell и не знаете, с чего начать? Взгляните на эти ресурсы.

    PowerShell в действии

    Посмотрите, как PowerShell используется в разных сценариях и на разных платформах.

    Что такое команда PowerShell? — PowerShell

    • Статья
    • .
    • 2 минуты на чтение
    Эта страница полезна?

    Оцените свой опыт

    да Нет

    Любой дополнительный отзыв?

    Отзыв будет отправлен в Microsoft: при нажатии кнопки «Отправить» ваш отзыв будет использован для улучшения продуктов и услуг Microsoft.Политика конфиденциальности.

    Представлять на рассмотрение

    В этой статье

    Команды для PowerShell известны как командлеты (произносится как command-let). Помимо командлетов, PowerShell позволяет запускать любую команду, доступную в вашей системе.

    Что такое командлет?

    Командлеты

    — это собственные команды PowerShell, а не автономные исполняемые файлы.Командлеты собраны в Модули PowerShell, которые можно загружать по запросу. Командлеты можно писать на любом скомпилированном .NET язык или на самом языке сценариев PowerShell.

    Имена командлетов

    PowerShell использует пару имен глагол-существительное для именования командлетов. Например, командлет Get-Command Включенный в PowerShell, используется для получения всех командлетов, зарегистрированных в командной оболочке. В глагол определяет действие, которое выполняет командлет, а существительное определяет ресурс, на котором командлет выполняет свое действие.

    Следующие шаги

    Чтобы узнать больше о PowerShell и о том, как найти другие командлеты, см. Руководство по PowerShell Bits. Откройте для себя PowerShell.

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

    Командлеты на основе сценария

    Скомпилированные командлеты (документы PowerShell SDK)

    Учебники по

    PowerShell Bits — PowerShell

    • Статья
    • .
    • 2 минуты на чтение
    Эта страница полезна?

    Оцените свой опыт

    да Нет

    Любой дополнительный отзыв?

    Отзыв будет отправлен в Microsoft: при нажатии кнопки «Отправить» ваш отзыв будет использован для улучшения продуктов и услуг Microsoft.Политика конфиденциальности.

    Представлять на рассмотрение

    В этой статье

    Вы слышали о PowerShell и собираетесь использовать его для решения некоторых имеющихся у вас проблем? Хорошо, тогда вы попали в нужное место. Это начало новой серии PowerShell Bit — от нуля до Герой.

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

    Приятного чтения.

    Содержание

    • Откройте для себя PowerShell

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

    PowerShell: что это такое и что с ним можно делать

    В наше время существует ряд способов взаимодействия с компьютерными системами и управления ими, от стандартных методов, таких как повсеместный графический интерфейс пользователя (GUI), до интерфейсы командной строки (CLI), которые некоторые могут рассматривать как шаг назад к эпохе терминалов и зеленых экранов.Они дополнительно дополняются дополнительными методами, такими как вызовы интерфейса прикладного программирования (API) и веб-интерфейсы управления.

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

    Для удовлетворения этих потребностей в настоящее время широко используется метод командной строки Microsoft Windows PowerShell. Узнайте об основах PowerShell, о том, как ее можно использовать и почему она становится все более популярной среди системных администраторов.

    PowerShell… и что это такое?

    PowerShell — это платформа Microsoft для создания сценариев и автоматизации. Это и язык сценариев, и интерактивная командная среда, построенная на .NET Framework. Чтобы лучше понять, что такое PowerShell, полезно понять, как он используется.Один из авторитетных источников по этой теме, Эд Уилсон, определяет PowerShell следующим образом:

    Эд Уилсон

    «Windows PowerShell — это интерактивная объектно-ориентированная командная среда с функциями языка сценариев, в которой используются небольшие программы, называемые командлетами, для упрощения настройки, администрирования и управления гетерогенными средами как в автономных, так и в сетевых типологиях за счет использования стандартных протоколов удаленного взаимодействия».

    В этом определении много чего, поэтому давайте разберемся с ним немного подробнее.

    Что такое объектно-ориентированное?

    Объектно-ориентированный язык можно определить как форму логики — это способ понять, как ведет себя платформа или язык. Объект — это то, что имеет один или несколько атрибутов и один или несколько методов или функций. Вот несколько примеров:

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

    Автомобиль — еще один хороший пример. Атрибуты — это текущая скорость, номерной знак или местоположение. Его методы: движение, парковка, ускорение или замедление.

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

    Что такое командлеты (или командлеты)?

    PowerShell состоит из набора команд, которые выполняют определенные функции или задачи.На обратной стороне командлета происходит ряд вещей: выполняемая команда работает с классами, методами, несколькими объектами, возможными вызовами API и многими другими вещами для выполнения своей работы. Преимущество PowerShell в том, что вам не нужно глубоко разбираться во всех этих бэкэнд-принципах, поскольку об этих процессах заботятся командлеты.

    Для помощи в использовании командлетов PowerShell следует шаблону именования глагол-существительное, чтобы помочь пользователям понять назначение команд.Примеры глаголов включают New, Set, Get, Add и Copy. У Microsoft есть задокументированный список утвержденных глаголов и их предполагаемого использования, чтобы помочь поддерживать единообразие на всей платформе. При размещении вместе с существительными вы получаете такие командлеты, как:

    Get-Help
    Get-Process
    Get-Member

    Как используется PowerShell?

    PowerShell имеет множество применений и часто ограничивается только творческими способностями. Как упоминалось ранее, PowerShell работает как интерактивный язык, так и как инструмент создания сценариев.Оба варианта использования упрощают администрирование систем, а также обеспечивают большую гибкость для ИТ-специалистов.

    При использовании в качестве интерфейса командной строки для прямого взаимодействия с системой одним из основных преимуществ PowerShell является возможность удаленного подключения к другой системе. Администратор может использовать удаленный сеанс PowerShell для подключения к серверу, который находится не в том же физическом месте, и запускать команды, как если бы он или она работали непосредственно на этом сервере. Широкий спектр административных задач можно выполнять удаленно, что позволяет ИТ-специалистам экономить часы времени.

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

    Когда дело доходит до создания сценариев PowerShell, возможность многократно выполнять согласованные задачи и шаги является огромным преимуществом для ИТ-администраторов. PowerShell автоматизирует множество задач, от полного развертывания нового сервера в виртуальной среде до настройки новых почтовых ящиков в Microsoft 365 и множества дополнительных функций между ними.

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

    Что можно делать с PowerShell?

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

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

    Графические интерфейсы пользователя

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

    PowerShell тесно интегрирован почти во все продукты Microsoft. Фактически, в популярных продуктах, таких как Microsoft 365 и Server 2016, есть определенные действия, которые невозможно выполнить с помощью графического интерфейса, а с помощью PowerShell можно выполнить только , только . Возможность автоматизации с помощью PowerShell на 100% необходима для выполнения определенных задач, поэтому понимание этого полезного навыка для многих ИТ-специалистов.

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

    В следующих статьях мы подробно рассмотрим использование сценариев PowerShell и то, как его можно использовать для упрощения многих областей ИТ-среды, включая конфигурацию и развертывание серверов, создание и аудит пользователей, а также административные задачи в M365. А пока эти ресурсы являются отличной отправной точкой для получения дополнительных сведений о PowerShell.

    Документация по

    PowerShell:
    https://docs.microsoft.com/en-us/powershell/

    сценариев PowerShell:
    https://github.com/powershell
    https://www.powershellgallery.com/

    Блоги

    PowerShell:
    https://blogs.technet.microsoft.com/heyscriptingguy/
    https://kevinmarquette.github.io/
    https://www.planetpowershell.com/

    PowerShell: шпаргалка — TechRepublic

    В этом всестороннем руководстве содержится важная информация о PowerShell, включая функции, системные требования и то, как платформа Microsoft распространяется на автоматизацию задач и управление ими.

    Иллюстрация: Лиза Хорнунг

    PowerShell был разработан более 10 лет назад корпорацией Майкрософт для расширения возможностей интерфейса командной строки (CLI) за счет объединения его со структурой управления, которая используется для управления локальными и удаленными системами Windows, macOS и Linux. Используя стандарты интерфейса Component Object Model (COM), Windows Management Instrumentation (WMI) и Common Information Model (CIM), PowerShell позволяет администрировать управляемые элементы вычислительных объектов независимо от производителя или поставщика.

    Эта шпаргалка будет обновляться, когда Microsoft выпустит новую информацию на протяжении всего жизненного цикла разработки PowerShell.

    SEE: PowerShell: шпаргалка (бесплатный PDF) (TechRepublic)

    Краткое содержание
    • Что такое PowerShell? Microsoft PowerShell — это среда управления, которая сочетает в себе оболочку командной строки и язык сценариев, построенный на платформе .NET для встроенной поддержки Windows или платформы.NET Core (с открытым исходным кодом), обеспечивающая кроссплатформенную поддержку Windows, macOS и Linux.
    • Почему PowerShell важен? PowerShell может автоматизировать задачи управления и функционировать как специальный язык сценариев для программного обеспечения как Microsoft, так и сторонних производителей. Кроме того, PowerShell включает команды, называемые командлетами, которые добавляют функциональность к основному основанию, а также предоставляют средства для обновления / обновления командлетов для дальнейшего расширения функциональности в будущих версиях.
    • На кого влияет PowerShell? Компании, использующие службы Microsoft, Apple и Linux для расширения возможностей своих бизнес-функций, и ИТ-специалистов, отвечающих за управление этой инфраструктурой.
    • Когда станет доступен PowerShell? PowerShell 5.1 (.NET) — это самая последняя доступная версия с закрытым исходным кодом, которая поддерживается для систем на базе Windows. PowerShell 7 (.NET Core) — это самая последняя доступная версия с открытым исходным кодом, поддерживающая операционные системы Windows, macOS и Linux.Только в системах Windows обе версии могут существовать бок о бок без конфликтов.
    • Как получить PowerShell? PowerShell 5.1 (.NET) — это изначально установленное приложение, которое является частью всех клиентских и серверных операционных систем Windows; по умолчанию приложение можно обновить прямо с веб-сайта загрузок Microsoft или через Центр обновления Microsoft. Вы можете получить последнюю версию PowerShell 7 (.NET Core), посетив веб-сайт Microsoft GitHub для PowerShell и загрузив версию, которая поддерживает вашу операционную систему; эту версию PowerShell также можно загрузить и обновить через собственный интерфейс командной строки операционной системы.

    SEE: 5 лучших языков программирования, которые должны изучить администраторы безопасности (бесплатный PDF) (TechRepublic)

    Что такое PowerShell?

    Выпущенная как PowerShell 1.0 14 ноября 2006 г., Microsoft разработала PowerShell для устранения недостатков своего интерфейса командной строки на основе DOS, особенно при управлении объектами с использованием сложных языков сценариев.

    Создав новую оболочку с нуля, Microsoft эффективно разработала расширяемую среду, которая была бы мощной и гибкой — она ​​способна автоматизировать задачи управления и функционировать как специальный язык сценариев для программного обеспечения на базе Microsoft.

    В различных версиях PowerShell добавлены модули для расширения функциональности новых объектов, а также представлены новые командлеты для управления дополнительными ресурсами, включая Active Directory и Exchange Server. 18 августа 2016 года Microsoft объявила, что PowerShell переходит на открытый исходный код и предоставляет свой исходный код общественности, добавляя поддержку ОС на базе Unix, включая дистрибутивы Linux и OS X.

    SEE: Все шпаргалки TechRepublic и гиды для умных людей (TechRepublic)

    PowerShell 7 — это новейшая версия PowerShell, которая служит заменой консоли для обеих предыдущих версий PowerShell Core 6.x и PowerShell 5.1 только для Windows. Последняя является последней поддерживаемой версией PowerShell, предназначенной только для Windows, и целью группы разработчиков является объединение всех предыдущих версий PowerShell в одну, начиная с версии 7.0. Этот шаг, который в настоящее время осуществляется, постепенно приведет PowerShell 7 к совместимости с ранее неподдерживаемыми командлетами, что еще больше приблизит его к паритету для всех поддерживаемых версий операционной системы.

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

    • Active Directory (модуль): Этот модуль используется PowerShell для расширения возможностей управления объектами Active Directory, включая компьютеры, пользователей, группы и атрибуты, хранящиеся в учетных записях.
    • Сервер Exchange (модуль): Этот модуль используется PowerShell для полного администрирования серверов Exchange. В модуль включены дополнительные командлеты, которые полностью поддерживают все аспекты вашего почтового сервера Exchange.
    • Get-Help (командлет): Этот встроенный командлет в ядре PowerShell предоставляет полезную информацию, включая использование синтаксиса, примеры команд и их назначение.
    • Get-Command (командлет): При выполнении этот встроенный командлет в ядре PowerShell предоставляет список доступных команд. Это полезно для определения, какие команды доступны для каждого модуля.
    • Set-Variable (cmdlet): Этот встроенный командлет в PowerShell позволяет пользователю создавать переменные, используемые для хранения данных, например пути к файлам, несколько объектов или фрагменты кода, которые вы хотите использовать повторно.
    • Invoke-Command (cmdlet): Этот встроенный командлет в PowerShell вызывает другой командлет, обычно запускаемый с локального компьютера, для выполнения вызванной команды на удаленных компьютерах.
    • Конвейер (|): Одна из возможностей PowerShell — это возможность связывать команды вместе с помощью вертикальной черты. Команды конвейера заставляют PowerShell запускать первую часть команды, а затем выводить результаты для использования второй командой и так далее, пока не будет запущена вся последовательность.Это полезно при выполнении многоэтапных задач, таких как создание имени пользователя, добавление имени пользователя в группу безопасности и сброс пароля по умолчанию.
    • Функция ({}): Подобно функции конвейера, в которой командлеты могут быть связаны вместе, функции позволяют лучше контролировать процесс создания сценариев. Заключая командлеты в фигурные скобки, создается функция, которая служит для выполнения последовательности один или несколько раз.
    • Out-File (командлет): Этот встроенный командлет в PowerShell позволяет экспортировать выходные данные команды в файл.Обычно используется с функцией канала, пользователь может получить список учетных записей пользователей, которые отключены, например, в Active Directory, и экспортировать этот список в текстовый файл для использования в будущем.
    • Import-Module (cmdlet): Этот встроенный командлет в PowerShell импортирует один или несколько модулей в PowerShell для расширения его набора функций, командлетов и функций.
    • Сторонние модули: Разработчики программного обеспечения могут запрограммировать код для группировки нескольких командлетов вместе в качестве сторонних модулей, которые импортируются в PowerShell для расширения функциональности и поддержки определенных приложений.Известные сторонние модули существуют от VMware (виртуализация), Dell (серверы PowerEdge) и PowerSploit (безопасность / пентестинг).

    SEE: Управление Active Directory с помощью этих 11 сценариев PowerShell (TechRepublic Premium)

    Текущие минимальные системные требования для PowerShell 7
    • процессор на базе x64 и операционная система
    • Ubuntu LTS 16.04 или 18.04
    • CentOS 7 или 8
    • Arch Linux
    • Kali Linux
    • Alpine Linux 3.8
    • Fedora 30
    • Debian 9 или 10
    • openSUSE 42,3
    • macOS 10.1
    • Windows 8.1 или 10
    • Windows (ARM)
    • Raspbian (ARM)
    • Docker
    • широкополосный доступ в Интернет: широкополосный доступ в Интернет: 90 )

    Дополнительные ресурсы

    Почему PowerShell важен?

    До выпуска Windows 95 Microsoft предпочитала запускать Windows поверх DOS, поскольку де-факто это была операционная система, которая использовалась на IBM-совместимых компьютерах.Начиная с Windows 95, Windows сохранила MS-DOS, поскольку некоторые устаревшие приложения все еще полагались на нее.

    MS-DOS

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

    MS-DOS была выпущена в 1981 году, и Microsoft не развивала свой интерфейс командной строки (в отличие от своих конкурентов на базе Unix) до первоначальной разработки PowerShell в 2006 году.Сделав этот 25-летний скачок, PowerShell был разработан как нечто большее, чем просто замена интерфейса командной строки.

    Microsoft создала PowerShell как среду управления, которая сочетает в себе оболочку командной строки и язык сценариев, созданный на основе .NET и .NET Core и используемый в качестве программной среды для стандартизации кода, разработки мощных приложений и межплатформенного управления. систем в гетерогенных сетях.

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

    PowerShell с открытым исходным кодом позволяет системным администраторам совместно управлять несколькими типами серверных операционных систем практически из любой системы — например, управлять серверами Windows из macOS или обслуживать серверы Linux с клиентских машин Windows. Этот уровень гибкости беспрецедентен и будет полезен при стандартизации управления различными платформами в разных отраслях, особенно когда дело доходит до автоматизации процессов управления системой, поскольку сценарии PowerShell 7, созданные в системах Linux, будут одинаково работать в системах MacOS и Windows, снижая административные издержки.

    Дополнительные ресурсы

    На кого влияет PowerShell?

    PowerShell затрагивает все типы пользователей: от конечных пользователей, стремящихся к повышению продуктивности, до администраторов, которым требуется более простое и мощное решение для локального и удаленного управления устройствами, до разработчиков, создающих собственные приложения для взаимодействия между аппаратным и программным уровнями. PowerShell — это следующий шаг в эволюции интерфейса командной строки Microsoft, но он также представляет собой важный шаг на пути к унификации процессов управления между платформами, которые ранее были весьма разнородны друг от друга.

    PowerShell требует изучения новых команд, нового синтаксиса и логики, чтобы реализовать свой максимальный потенциал. И все же Microsoft уже добивается этого, используя модули PowerShell, которые служат для интеграции с корпоративными приложениями, такими как Exchange, SQL и Windows Server, для расширения функциональности и управляемости.

    К этому следует добавить взрывной рост облачных сервисов, таких как Azure от Microsoft. Благодаря многим функциям управления, доступным через графический интерфейс из веб-интерфейса, PowerShell 7 добавляет поддержку управления через модули Azure, что дополнительно позволяет администрировать облачную инфраструктуру, включая Azure Active Directory, среди многих других ресурсов через интерфейс командной строки.

    До перехода на открытый исходный код PowerShell затрагивал только администраторов Windows и тех, кто использовал продукты семейства Microsoft; однако теперь администраторы Linux и macOS могут выбрать возможность использовать возможности PowerShell с открытым исходным кодом вместе с администраторами Microsoft для упрощения управления.

    Дополнительные ресурсы

    Когда станет доступен PowerShell?

    PowerShell доступен для использования на компьютерах Windows с 2006 года.Начиная с версии 1.0, PowerShell стал доступен для Windows XP SP2, Windows Vista, Windows Server 2003 и 2008.

    PowerShell 2.0 был обновлением до Windows XP SP3, Windows Vista SP1 и Windows Server 2003 SP2. Он был интегрирован с Windows 7 и Windows Server 2008 R2.

    PowerShell 3.0 был обновлением до Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 с пакетом обновления 1 (SP1) и 2008 R2 с пакетом обновления 1 (SP1). Он был интегрирован с Windows 8 и Windows Server 2012.

    PowerShell 4.0 был обновлением до Windows 8, Windows 7 SP1, Windows Server 2008 R2 SP1 и 2012.Он был интегрирован с Windows 8.1 и Windows Server 2012 R2.

    PowerShell 5.0 — это обновление до Windows 8.1, Windows 7 SP1, Windows Server 2008 R2 SP1 и 2012 R2. Он интегрирован с Windows 10 и Windows Server 2016.

    PowerShell 5.1 (.NET) в настоящее время доступен только через юбилейное обновление Windows 10.

    PowerShell 7 — это самая последняя доступная версия, основанная на платформе .NET Core. Он стал общедоступным 4 марта 2020 года и в настоящее время поддерживает Windows (x86 / x64), Ubuntu 16.18.04, Debian 9/10, CentOS 7/8, RHEL 7, openSUSE 42.3, Fedora 30, macOS 10.13+ и Docker.

    PowerShell 7.0.3 — текущая стабильная версия; он был выпущен 6 июля 2020 г.

    Дополнительные ресурсы:

    Какие есть альтернативы PowerShell?

    Это некоторые из альтернатив PowerShell.

    Как получить PowerShell?

    PowerShell интегрирован во все версии Windows, начиная с Windows 7. Он также интегрирован во все версии Windows Server, начиная с Windows Server 2008 R2.

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

    Для установки или обновления до версии 5.1 PowerShell на компьютерах с Windows необходимо загрузить последнюю версию установщика Windows Management Framework (WMF). Номер версии в установщике WMF напрямую соответствует версии PowerShell, которая будет установлена. В настоящее время существует формат WMF 5.1, который можно бесплатно загрузить с веб-сайта Microsoft для пользователей Windows.

    Чтобы установить или обновить до версии PowerShell 7 с открытым исходным кодом в поддерживаемых системах, таких как macOS и Linux, посетите репозиторий PowerShell GitHub, чтобы получить соответствующий пакет, соответствующий целевой операционной системе. Кроме того, последние версии PowerShell 7 можно установить с помощью собственного системного интерфейса командной строки, введя соответствующую системную команду с учетными данными администратора.

    SEE: 5 лучших языков программирования для изучения системными администраторами (бесплатный PDF) (TechRepublic)

    Как использовать PowerShell?

    TechRepublic опубликовала ряд руководств о том, как максимально эффективно использовать PowerShell.Ознакомьтесь с этими советами, а также с некоторыми основами PowerShell от Microsoft.

    Примечание редактора: Автор обновил эту статью последней информацией о PowerShell.

    Еженедельный бюллетень Microsoft

    Будьте инсайдером Microsoft в своей компании, прочитав эти советы, рекомендации и шпаргалки по Windows и Office.Доставка по понедельникам и средам.

    Зарегистрироваться Сегодня

    Что такое PowerShell в Windows и что с ним можно делать?

    Хотя многие обычные пользователи знают о командной строке, лишь немногие слышали о Windows PowerShell.PowerShell — гораздо более мощный инструмент, чем командная строка. Он также предназначен для замены командной строки, поскольку обеспечивает большую мощность и контроль над операционной системой Windows. Вот почему мы решили попробовать PowerShell и объяснить всем нашим читателям, что это за инструмент, почему он настолько мощный и кто склонен использовать его чаще. Давайте посмотрим, что такое PowerShell и что с ним можно делать:

    Что такое PowerShell в Windows?

    Чтобы лучше понять PowerShell, мы должны сначала определить, что такое оболочка.Нет, мы не говорим о панцире черепахи. 🙂 В информатике оболочка — это пользовательский интерфейс, который дает вам доступ к различным службам операционной системы. Оболочка может быть основана на командной строке или может включать графический интерфейс пользователя (GUI).

    Windows PowerShell — это оболочка, первоначально разработанная Microsoft для целей автоматизации задач и управления конфигурацией . PowerShell теперь является проектом с открытым исходным кодом, и его можно установить на платформах Windows, macOS и Linux.Эта оболочка основана на платформе .NET и включает оболочку командной строки и язык сценариев.

    Windows PowerShell

    Первая версия PowerShell была выпущена в ноябре 2006 года для Windows XP, Windows Server 2003 и Windows Vista. Последней версией PowerShell является Windows PowerShell 5.1, и она поставляется 2016 как часть Windows 10 Anniversary Update и Windows Server 2016. Она также работает с Windows Server 2008 R2, Windows Server 2012 и Windows Server 2012 R2, Windows 7 Service Pack 1 и Windows 8.1 (версии Pro и Enterprise).

    Что можно делать с PowerShell?

    Microsoft разработала Windows PowerShell как инструмент, который помогает автоматизировать и быстро решать множество утомительных административных задач. Например, вы можете использовать PowerShell для отображения всех USB-устройств, установленных на одном или нескольких компьютерах в сети, или вы можете настроить выполнение трудоемкой задачи в фоновом режиме, пока вы выполняете другую работу. Вы также можете идентифицировать и уничтожать процессы, которые не отвечают, или фильтровать конкретную информацию о компьютерах в сети и экспортировать ее в формате HTML.

    Возможности

    PowerShell позволяют упростить и автоматизировать утомительные и повторяющиеся задачи, создавая сценарии и комбинируя несколько команд.

    Если вы являетесь сетевым администратором, вы обнаружите, что PowerShell полезен при работе с Active Directory. Учитывая, что он содержит сотни настраиваемых команд, которые называются командлетами, PowerShell может быть полезен в повышении производительности. Мы рекомендуем книгу Эда Уилсона — Windows PowerShell Step by Step — чтобы узнать о ней больше.Если вы хотите узнать, что нового в последней версии Windows PowerShell для Windows 10, вам также следует посетить эту официальную веб-страницу Microsoft: Документация по PowerShell.

    PowerShell против PowerShell ISE

    Помимо стандартной оболочки командной строки, вы также можете найти Windows PowerShell ISE. ISE расшифровывается как Integrated Scripting Environment, и это графический пользовательский интерфейс, который позволяет запускать команды и создавать, изменять и тестировать сценарии без необходимости вводить все команды в командной строке.Инструмент позволяет разрабатывать сценарии, которые представляют собой наборы команд, в которые вы можете добавить сложную логику для их выполнения.

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

    Где найти PowerShell в Windows?

    Самый быстрый способ открыть PowerShell в Windows — использовать поле поиска Кортаны на панели задач.Введите ключевое слово «powershell» , а затем щелкните или коснитесь результата поиска Windows PowerShell .

    Поиск PowerShell в Windows 10

    Чтобы узнать о других способах запуска PowerShell с инструкциями для Windows 10, Windows 8.1 и Windows 7, прочтите эту статью: 9 способов запуска PowerShell в Windows (в том числе от имени администратора).

    Команды PowerShell

    Команды PowerShell называются командлетами. Самый простой способ найти эти команды в PowerShell — запустить «Get-Command -Type Cmdlet».

    Get-Command -Type Cmdlet в PowerShell

    Это дает полный список команд, доступных в PowerShell. Вы можете прокручивать список, пока не найдете нужный. Количество команд в PowerShell велико, поэтому мы предоставляем статьи, посвященные одной задаче, которую можно выполнить с помощью PowerShell (ищите в каждой статье метод PowerShell, если их несколько):

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

    Для пользователей, имеющих опыт работы с командной строкой и Linux, в PowerShell есть список псевдонимов, которые связывают имена, знакомые этим пользователям, с командами PowerShell. Вот несколько примеров: cat, dir, mount, rm, chdir, erase, sort, cls, del. Чтобы получить полный список этих псевдонимов, выполните в PowerShell команду «Get-Command -Type Alias».

    Кто имеет тенденцию регулярно использовать PowerShell?

    Без сомнения, PowerShell является предпочтительным оружием для многих ИТ-администраторов, поскольку он может упростить операции управления в крупных корпоративных сетях.

    В качестве примера предположим, что вы управляете большой сетью, содержащей более пятисот серверов, и вам необходимо реализовать новое решение безопасности, которое зависит от конкретной службы, которая должна работать на этих серверах. Вы, конечно, можете войти на каждый сервер и посмотреть, установлена ​​ли и работает ли у них эта служба. Это возможно, но также вполне вероятно, что вы потратите слишком много времени на выполнение задачи. Если вы используете PowerShell, вы можете выполнить эту задачу всего за несколько минут, поскольку всю операцию можно выполнить с помощью только одного сценария, который собирает информацию о службах, запущенных на указанных вами серверах, и выгружает их, например, в текстовый файл.Вот и продуктивность!

    Чем вам может помочь PowerShell?

    Как видно из этой статьи, Windows PowerShell — невероятно мощный инструмент, включенный в Windows и доступный для многих других операционных систем. Это дает много преимуществ опытным пользователям и ИТ-специалистам. Однако обычные пользователи тоже могут извлечь из этого пользу. Попробуйте, прочтите наши руководства и поделитесь своим мнением о PowerShell. Оставьте комментарий ниже и поделитесь своей точкой зрения.

    Использование и методы Windows PowerShell

    Windows PowerShell — это платформа Microsoft для автоматизации задач с использованием оболочки командной строки и связанного языка сценариев.Когда он был выпущен в 2006 году, этот мощный инструмент по сути заменил командную строку в качестве стандартного способа автоматизации пакетных процессов и создания настраиваемых инструментов управления системой. Многие системные администраторы, включая поставщиков управляемых услуг (MSP), полагаются на более 130 инструментов командной строки в PowerShell для оптимизации и масштабирования задач как в локальных, так и в удаленных системах.

    Сопутствующий продукт
    RMM

    Поддержка, управление и защита с помощью решения RMM, которое масштабируется по мере вашего роста.

    Более того, этот инструмент предназначен не только для Windows — с 2016 года PowerShell Core был открытым и кроссплатформенным, а его возможности были включены в ряд дополнительных интерфейсов. Для MSP никогда не было так важно понять, как работает PowerShell, для чего он используется и как автоматизировать задачи управления таким образом, чтобы сэкономить время и усилия.

    Для чего нужна Windows PowerShell?

    Что такое Windows PowerShell и для чего она нужна? Короче говоря, PowerShell — это надежное решение, которое помогает пользователям автоматизировать ряд утомительных или трудоемких административных задач, а также находить, фильтровать и экспортировать информацию о компьютерах в сети.Это достигается путем объединения команд, называемых «командлетами», и создания сценариев.

    Для ИТ-специалистов, таких как MSP, имеет смысл использовать текстовые интерфейсы командной строки (CLI) для достижения более детального контроля над управлением системой. С помощью PowerShell вы можете использовать улучшенный доступ и контроль над инструментарием управления Windows (WMI) и компонентной объектной моделью (COM) для точной настройки административного управления. Для MSP, которым поручено управлять Active Directory (AD) в сети Windows, автоматизация PowerShell может быть чрезвычайно полезной для выполнения типичных задач управления.Использование PowerShell включает добавление и удаление учетных записей, редактирование групп и создание списков для просмотра определенных типов пользователей или групп.

    Вы также можете использовать интегрированную среду сценариев Windows PowerShell (ISE), графический пользовательский интерфейс, который позволяет запускать команды и создавать или тестировать сценарии. Этот интерфейс позволяет вам разрабатывать сценарии в виде коллекций команд, в которые вы добавляете логику, необходимую для их выполнения. Это особенно полезная функция для администраторов, которым необходимо многократно запускать последовательности команд для настройки системы.

    Что такое командлеты? Оболочка

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

    Вы можете просмотреть полный список этих команд, запустив «Get-Command-Type Cmdlet» в PowerShell.У вас есть доступ не только к более чем 130 из этих команд, но и вы можете написать свои собственные. Фактически, знание того, как писать команды сценариев PowerShell, является востребованным навыком. Хотя командлеты можно использовать по отдельности, они становятся более мощными в сочетании: вы можете использовать командлеты в сценариях, а затем упаковывать сценарии в более полные модули.

    Командлеты

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

    Почему мне следует использовать PowerShell?

    PowerShell — популярный инструмент для многих MSP, поскольку его масштабируемость помогает упростить задачи управления и получить представление об устройствах, особенно в средних и крупных сетях.Вот как использование PowerShell может изменить ваш рабочий процесс:

    • Автоматизируйте трудоемкие задачи: С помощью командлетов вам не придется выполнять одну и ту же задачу снова и снова или даже тратить время на настройку вручную. Например, вы можете использовать такие командлеты, как Get-Command, для поиска других командлетов, Get-Help, чтобы узнать о синтаксисе и использовании этих командлетов, и Invoke-Command для запуска общего сценария локально или удаленно, даже с пакетным управлением.
    • Предоставьте обходные пути для всей сети: Использование PowerShell позволяет обойти ограничения программного обеспечения или программ, особенно в масштабе всего бизнеса.Например, PowerShell можно использовать для изменения настроек программы по умолчанию во всей сети. Это может быть полезно, если компания хочет развернуть определенный протокол для всех своих пользователей — скажем, заставляя пользователей либо использовать двухфакторную аутентификацию (2FA), либо менять свой пароль каждые два месяца.
    • Масштабируйте свои усилия между устройствами: PowerShell может быть спасением, если вам нужно запустить сценарий на нескольких компьютерах, особенно если некоторые из них являются удаленными устройствами.Если вы пытаетесь реализовать решение сразу на нескольких устройствах или серверах, вам не нужно входить в систему на каждом устройстве по отдельности. PowerShell может помочь вам собрать информацию о нескольких устройствах в течение нескольких минут, по сравнению с часами, которые потребовались бы для проверки каждого устройства вручную. После включения удаленного взаимодействия PowerShell вы сможете масштабировать свои сценарии для одновременного доступа к десяткам (или более) машин, что позволит вам устанавливать обновления, настраивать параметры, собирать информацию и многое другое, что потенциально позволяет сэкономить часы работы и время в пути. .
    • Получите доступ к информации: Преимущество интерфейсов командной строки, таких как PowerShell, заключается в том, что они предоставляют доступ к файловой системе компьютера. PowerShell делает видимыми данные в файлах, реестре Windows и даже сертификаты цифровых подписей, которые трудно найти, независимо от того, размещены они на одном компьютере или на нескольких. Затем эту информацию можно экспортировать для целей отчетности.

    Наконец, поскольку на каждом компьютере с Windows 10 она должна быть предустановлена, изучить PowerShell несложно.Как MSP, знание PowerShell не только на шаг впереди ваших конкурентов с точки зрения конкурентоспособности, но и дает вам множество полезных возможностей. Если вы знаете, как создавать сценарии командлетов для PowerShell, вам будет намного проще масштабировать свои усилия и предоставлять клиентам точное, гибкое и быстрое обслуживание.

    Windows PowerShell — это то же самое, что и командная строка?

    Хотя Windows Powershell 1.0 была выпущена как замена командной строки, неверно думать о PowerShell как о просто новой версии классического интерпретатора командной строки.Фактически, обе программы все еще существуют в Windows 10, хотя PowerShell намного мощнее.

    Некоторые пользователи среднего уровня могут использовать командную строку, если они уже знакомы с языком — ее интерфейс выполняет простые команды DOS, и для некоторых пользователей этого достаточно. Но широкое использование PowerShell делает его более привлекательным инструментом для MSP, которым нужен настоящий контроль над сетью. Предоставляя командлеты, которые могут подключаться к управлению реестром и WMI, PowerShell дает вам доступ к большему количеству задач системного администрирования, чем командная строка, тем более что PowerShell не только для Windows, но и инструмент с открытым исходным кодом для Linux и Mac OS X. .

    SolarWinds ® Remote Monitoring & Management (RMM) предлагает все преимущества PowerShell, не требуя от MSP фактического использования сценариев PowerShell. С помощью RMM вы можете использовать простые объекты перетаскивания, чтобы легко создавать широкий спектр автоматических функций. Такой вид автоматизации имеет решающее значение для занятых MSP, которым нужны эффективные и масштабируемые методы ведения бизнеса. Дружественный интерфейс RMM позволяет быстрее использовать все преимущества Windows PowerShell.

    Прочтите наш блог , чтобы получить другие полезные советы по использованию инструментов и программ Windows.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *