В данной статье мы рассмотрим такую технологию от компании Microsoft как Windows PowerShell, мы поговорим о том, что такое PowerShell, что такое командлеты и конвейер, как писать сценарии и модули, а также затронем другие не менее важные и полезные возможности Windows PowerShell.
Содержание
- Что способствовало появлению Windows PowerShell?
- Что такое Windows PowerShell?
- Версии Windows PowerShell
- Язык PowerShell
- Оболочка Windows PowerShell
- Командлеты в PowerShell
- Конвейер в PowerShell
- Фоновое исполнение заданий
- Удаленное управление на PowerShell
- Сценарии, функции и модули в Windows PowerShell
- Интегрированная среда сценариев Windows PowerShell (ISE)
До появления PowerShell существовали (и существуют) следующие инструменты для автоматизации и администрирования сервисов: командная строка Windows и Windows Script Host. Но у этих технологий есть недостатки.
У командной строки Windows есть и возможность выполнять какие-то административные задачи и возможность записать алгоритм действий, сохранив его в виде скрипта (bat-файла), при этом можно использовать некие элементы программирования, например, использовать переменные, условные конструкции и даже что-то вроде циклов.
Большинство программных продуктов имеет консольный интерфейс, т.е. мы можем управлять программой, используя командную строку, при этом экономя ресурсы за счет отсутствия затрат на работу графического интерфейса. Компания Microsoft для серверной операционной системы Windows Server даже выпускает редакции без графического интерфейса (Server Core, в Windows Server 2019), но всего этого недостаточно, так как возможности командной строки ограничены, т.е. написать какую-то сложную логику для автоматизации чего-либо мы не сможем, а если и сможем, то на это нам потребуется время и знания.
Также недостатком командной строки является то, что для полноценного управления сервером мы используем различные консольные утилиты программных продуктов, и поэтому использовать командную строку для администрирования на самом деле сложно, с точки зрения того, что у всех этих утилит разный синтаксис, параметры, методы использования и для того чтобы выполнять типовые задачи, т.е. каждодневные, приходиться держать все это в памяти, а для выполнения нетиповых задач приходиться сначала почитать справку или документацию.
Технология Windows Script Host позволяет выполнять все административные задачи, что и командная строка, включая их автоматизацию путем написания WSH скриптов, но здесь мы уже можем использовать полноценные языки программирования (VBScript и JScript), т.е. можно реализовывать сложную логику и алгоритмы. К тому же с помощью WSH мы управляем программными продуктами через объектный интерфейс, другими словами Windows Script Host намного «круче» чем командная строка. Но данная технология также не стала тем идеальным инструментом администрирования и автоматизации этого администрирования для системных администраторов, так как Windows Script Host требовал знаний вышеперечисленных языков программирования, что для системных администраторов на самом деле лишнее. Администраторам нужно всего лишь простой инструмент администрирования с возможностью запрограммировать какие-то действия, а углубляться в объектные модели программных продуктов на языках программирования VBScript и JScript им не хочется.
В итоге компании Microsoft необходимо было разработать такой инструмент администрирования для системных администраторов, который бы на 100 процентов удовлетворял все потребности сисадминов как в плане возможностей администрирования и автоматизации, так и в плане удобства и простоты использования, таким образом, появился Windows PowerShell.
Заметка! Курсы по SQL для начинающих на примере Microsoft SQL Server.
Что такое Windows PowerShell?
Windows PowerShell – это язык сценариев и командная оболочка Windows, которые разработаны для администрирования и конфигурирования операционных систем Windows.
PowerShell разработан на основе среды CRL и платформы .NET Framework и в отличие от командной строки, которая принимает и возвращает текст, Windows PowerShell работает с объектами. У каждого объекта в PowerShell есть свойства и методы, которые можно использовать для управления этими объектами.
В Windows PowerShell Microsoft разработала концепцию командлетов (cmdlets), которая представляет собой систему именования команд «Глагол-Существительное». Данная система позволяет системным администраторам быстрей освоить и упростить работу с PowerShell.
С помощью Windows PowerShell можно:
- Получать доступ к файловой системе;
- Управлять реестром;
- Управлять службами;
- Управлять процессами;
- Настраивать операционную систему;
- Устанавливать программное обеспечение;
- Устанавливать роли и компоненты сервера;
- Осуществлять администрирование и конфигурирование ролей и компонентов сервера;
- Писать и использовать сценарии для автоматизации управления и администрирования;
- Выполнять другие задачи системных администраторов.
Windows PowerShell содержит многие часто используемые утилиты и команды, запускаемые из командной строки, например ipconfig, ping и другие. Сделано это для того, чтобы облегчить переход системных администраторов с командной строки на PowerShell.
Также для удобства многие часто используемые команды и утилиты в PowerShell имеют синонимы (Alias), например cls — это синоним командлета Clear-Host, dir синоним Get-ChildItem (полный список синонимов можно посмотреть путем запуска командлета Get-Alias).
Для упрощения поиска нужной команды в PowerShell есть специальный командлет Get-Command, с помощью которого можно осуществлять поиск, как по глаголу, так и по существительному. Все команды в Windows PowerShell сгруппированы в модули (например, Hyper-V, NetTCPIP), что также упрощает поиск нужной команды.
После того как нужная команда найдена, можно посмотреть инструкцию по работе с этой командой, т.е. справку, для этих целей есть специальный командлет Get-Help, например следующая команда покажет справку по командлету Get-Command:
Get-Help Get-Command
Справка в Windows PowerShell может быть краткой, детальной (параметр -Detailed), полной (параметр -Full), а также можно выводить только примеры (параметр — Examples). Следующая команда покажет только примеры использования командлета Get-Command:
Get-Help Get-Command -Examples
Справка PowerShell обновляемая, т.е. ее можно обновить командой Update-Help.
Заметка! Бесплатная система мониторинга IT инфраструктуры.
Версии Windows PowerShell
Первая версия PowerShell 1.0 появилась 14 ноября 2006 года и выпускалась в виде отдельного дистрибутива, который можно было установить на следующие версии операционных систем Windows: Windows XP Service Pack 2, Windows Server 2003 Service Pack 1 и Windows Vista.
В Windows Server 2008 PowerShell 1.0 поставлялся в виде компонента, который также нужно было устанавливать.
Начиная с Windows 7 и Windows Server 2008 R2, PowerShell поставляется как неотъемлемый компонент системы (т.е. предустановленный, устанавливать его не надо). Ниже представлена таблица соответствия версии PowerShell и версии операционной системы Windows (т.е. какая версия PowerShell по умолчанию установлена в той или иной версии Windows):
Версия PowerShell | Версии Windows |
PowerShell 2.0 | Windows 7, Windows Server 2008 R2 |
PowerShell 3.0 | Windows 8, Windows Server 2012 |
PowerShell 4.0 | Windows 8.1, Windows Server 2012 R2 |
PowerShell 5.0 | Windows 10, Windows Server 2016 |
С каждой новой версией PowerShell становится все более мощным инструментом администрирования, для сравнения в первой PowerShell было около 130 командлетов, а в PowerShell 5.0 их уже более 600!
Узнать текущую версию PowerShell можно с помощью свойства PSVersion встроенной переменной $PSVersionTable, например, выполните следующую команду:
$PSVersionTable.PSVersion
Или запустите командлет
Get-Variable -Name PSVersionTable –ValueOnly
где, значение PSVersion и будет версией PowerShell.
Язык PowerShell
PowerShell – это объектно-ориентированный скриптовой язык программирования.
Он используется для написания команд управления всеми компонентами операционной системы Windows в оболочке Windows PowerShell, а также для написания сценариев автоматизации задач администрирования в интегрированной среде сценариев Windows PowerShell (ISE). Язык PowerShell хоть и создан для задач администрирования, он является полноценным скриптовым языком программирования, так как имеет программные конструкции, которые присутствуют в каждом языке программирования, такие как: условия, циклы, обработка ошибок, работа с переменными, объектами, массивами.
Язык PowerShell имеет единый синтаксис написания команд и структуру именования этих команд по принципу «Глагол-Существительное», что делает данный язык интуитивно понятным как для программистов, так и для системных администраторов.
Более подробно о программировании на данном языке можете посмотреть в материале — Программирование на языке PowerShell.
Оболочка Windows PowerShell
Оболочка Windows PowerShell – это среда выполнения команд и сценариев на языке PowerShell.
Данная оболочка имеет те же возможности что и командная строка такие как: хранение истории выполнения команд, настройка внешнего вида оболочки, завершение выполнения команд сочетанием клавиш Ctrl+C, а также много других возможностей, которых нет в оболочке командной строки, например такая замечательная возможность как «подсветка синтаксиса» (появилась в PowerShell 5.0).
Запустить оболочку PowerShell можно несколькими способами, например:
- Из командной строки, набрав PowerShell;
- Через диалоговое окно «Выполнить» (сочетание клавиш Win+R), также набрав PowerShell;
- В Windows 7 — Пуск->Все программы ->Стандартные ->Windows PowerShell -> Windows PowerShell;
- В Windows 8.1 или Windows Server 2012 R2 — Пуск->Все программы ->Служебные ->Windows PowerShell;
- В Windows 10 или Windows Server 2016 — Пуск->Все программы -> Каталог Windows PowerShell (в группе W) -> Windows PowerShell.
Пример запуска PowerShell в Windows Server 2016
Заметка! ТОП 7 популярных языков программирования.
Скриншот оболочки PowerShell в Windows Server 2016
Командлеты в PowerShell
Командлет (cmdlet) – это команда Windows PowerShell, с помощью которой можно осуществлять взаимодействие с объектами операционной системы с целью их управления.
Данные команды являются частью языка PowerShell. Командлеты построены по принципу «Глагол-Существительное», разделенные дефисом (-); другими словами, мы сначала указываем, что делать, а через дефис — над чем. Например, командлет Get-Help, где Get — это глагол, означающий «Получить», а Help — существительное «Помощь» в контексте PowerShell «Показать – Справку». Командлеты PowerShell возвращают результаты в виде объектов, что является одним из главных отличий от командной строки Windows, в которой команды возвращают только текст на экран.
Кроме командлетов на получение данных (Get), существуют и такие типы командлетов как:
- Add – добавление данных;
- Clear – очистить;
- Enable – включить;
- Disable – выключить;
- New – создать;
- Remove – удалить;
- Set – задать;
- Start — запустить;
- Stop – остановить;
- Export – экспортировать;
- Import – импортировать;
- И еще много других.
Полный список командлетов в Windows PowerShell можно посмотреть с помощью специального командлета Get-Command. Например, запустите его с параметром -CommandType cmdlet, в итоге на экране у Вас отобразится список командлетов.
Get-Command -CommandType cmdlet
Как Вы уже поняли, у командлетов есть параметры, с помощью которых мы можем конкретизировать действия командлета. Параметры бывают обязательные и необязательные, например, у командлета Get-Command обязательных параметров нет.
Ниже на картинке представлен способ поиска командлета по глаголу (параметр Verb). В данном случае у нас отобразился список командлетов, которые умеют что-то перезапускать.
Команда
Get-Command -Verb Restart
Для поиска командлета по существительному необходимо использовать параметр Noun. Например, ниже мы получили список командлетов, которые работают со службами.
Команда
Get-Command -Noun Service
Если Вы не нашли нужный командлет по полному названию можете использовать маску в формате *Текст*.
Конвейер в PowerShell
Одной из главных возможностей Windows PowerShell является возможность использования конвейера при выполнении команд.
Конвейер – это передача результата работы командлета через вертикальную черту (|) другому командлету.
При этом, как Вы помните, в PowerShell командлеты работают с объектами и возвращают объекты, соответственно по конвейеру передаются также объекты.
С помощью конвейера можно выполнять сложные задачи простым и удобным способом без необходимости написания сложных алгоритмов и сценариев.
Например, давайте узнаем название самого большого файла в каталоге «C:WindowsSystem32» (простой пример конвейера).
Команда
Get-ChildItem -Path "C:WindowsSystem32" -File | Sort-Object length -Descending | Select-Object -First 1
Где,
- Get-ChildItem – командлет получения объектов в указанном каталоге;
- Sort-Object – командлет для сортировки объектов, в нашем случае мы сортируем по размеру файла (length -Descending);
- Select-Object – командлет выбора нужных свойств объекта, в нашем случае мы выводим стандартные поля и только самый первый объект, т.е. большой файл (параметр -First 1).
Все командлеты отделены друг от друга вертикальной чертой. Результат работы каждого командлета передается на вход другому командлету, т.е. сначала мы получаем все объекты в указанном каталоге, затем сортируем полученный результат и в заключение выбираем самый первый объект.
Фоновое исполнение заданий
В Windows PowerShell есть возможность фонового исполнения заданий, она представляет собой механизм, с помощью которого можно запустить на выполнение команду (например, которая долго выполняется) в фоновом режиме, т.е. после запуска Вы возвращаетесь в текущую сессию и можете продолжить работу, не дожидаясь окончания работы команды. Данная возможность Вам понадобится тогда, когда у Вас возникнет необходимость запустить команду, работа которой занимает достаточно продолжительное время, а как Вы знаете, в течение этого времени сессия оболочки PowerShell блокируется до завершения работы команды, а Вам нужно продолжать работать.
Всеми заданиями, которые запущенны в фоновом режиме, Вы можете управлять, например, посмотреть список заданий, остановить работу задания, удалить задание, и, конечно же, посмотреть результат работы задания.
В Windows PowerShell для работы с фоновыми заданиями есть следующие командлеты:
- Start-Job – запустить фоновую задачу;
- Stop-Job – остановить фоновую задачу
- Get-Job – посмотреть список фоновых задач;
- Receive-Job – посмотреть результат выполнения фоновой задачи;
- Remove-Job – удалить фоновую задачу;
- Wait-Job – перевести фоновую задачу на передний план, для того чтобы дожидаться ее окончания.
Для запуска в фоновом режиме необходимо написать команду Start-Job, а в фигурных скобках {} команду или набор команд, которые необходимо выполнить в фоновом режиме.
Например, давайте запустим какую-нибудь задачу (показать список служб) в фоновом режиме, затем посмотрим на список фоновых заданий и выведем на экран результат работы нашего задания (т.е. список служб).
Запуск задачи в фоновом режиме
Start-Job {Get-Service}
Смотрим на список задач запущенных в фоновом режиме
Get-Job
Отображаем результат работы задания Job1
Receive-Job Job1
Как видим, у нас появилась задача со статусом «Completed», т.е. она уже выполнилась (просто Get-Service отрабатывает быстро).
Для того чтобы посмотреть результат работы фоновой задачи, т.е. командлета Get-Service, мы выполнили команду Receive-Job и передали ей имя задания (можно и значение идентификатора). В результате у нас отобразился список служб.
Заметка! Рейтинг популярности антивирусов для домашних компьютеров.
Удаленное управление на PowerShell
Windows PowerShell рассчитан не только на локальное использование, но и на удаленное выполнение команд. Данная возможность необходима, чтобы Вы могли со своего рабочего места управлять удаленными компьютерами, т.е. выполнять команды PowerShell.
Существует несколько способов удаленного управления:
- С помощью параметра –ComputerName (есть у многих команд). Другими словами Вы передаете имя компьютера, на котором необходимо выполнить команду, в качестве параметра. Способ обладает недостатком, так как ограничивается выполнением одной команды;
- С помощью сессий. Командлет Enter-PSSession (интерактивный сеанс). Таким способом Вы подключаетесь к удаленному компьютеру и все команды, которые Вы будете набирать в оболочке PowerShell, будут выполняться на удаленном компьютере так же, как если бы Вы набирали команды непосредственно на удаленном компьютере. Способ также обладает недостатком, так как сеанс ограничивается одним компьютером;
- С помощью командлета Invoke-Command. С помощью данного способа можно выполнять команды или сценарии как на одном компьютере, так и на нескольких.
Например, чтобы подключиться к удаленному компьютеру (в примере ниже ServerName) интерактивным сеансом выполните следующую команду:
Enter-PSSession ServerName
Сценарии, функции и модули в Windows PowerShell
Если Вы написали некий алгоритм, скорей всего Вы захотите сохранить его, для того чтобы в дальнейшем им пользоваться. В Windows PowerShell для этих целей существует механизм использования сценариев.
Суть данного механизма следующая, Вы пишите нужный Вам набор команд и сохраняете его в качестве сценария — это простой текстовый файл с расширением .PS1.
Затем, для того чтобы выполнить этот сценарий, Вы просто запускаете его в оболочке PowerShell. При этом Вам необходимо либо указать полный путь к файлу сценария, либо перейти в каталог со сценарием и вызвать его по имени.
Важно!
По умолчанию выполнение сценариев в Windows запрещено! Для того чтобы посмотреть политику выполнения сценариев выполните командлет Get-ExecutionPolicy. В результате он вернет действующую политику, например:
- Restricted – блокируется выполнение любых сценариев (значение по умолчанию);
- AllSigned – разрешено выполнение сценариев, которые имеют цифровую подпись;
- RemoteSigned – разрешено выполнение локальных сценариев, все скачанные сценарии должны иметь цифровую подпись;
- Unrestricted — разрешено выполнение любых сценариев (не рекомендуется, так как небезопасно!).
Для разрешения выполнения сценариев необходимо использовать командлет Set-ExecutionPolicy с одним из вышеперечисленных параметров.
Например, для разрешения выполнения локальных сценариев выполним следующую команду, и согласимся с внесением изменений, нажав Y.
Set-ExecutionPolicy RemoteSigned
В сценарии можно передавать параметры, делать их обязательными или задавать значение по умолчанию.
В Windows PowerShell предусмотрен механизм создания собственных функций, которые также как и встроенные командлеты можно будет использовать в оболочке PowerShell.
Для этого необходимо указать ключевое слово Function и затем в фигурных скобках {} написать алгоритм работы этой функции, т.е. набор команд (например, какая-нибудь часто используемая процедура: создать пользователя с определенными правами, очистить определенные каталоги и так далее). Потом необходимо сохранить все это в сценарий, но только уже с расширением .psm1, так как этот файл будет являться уже модулем.
Это еще не все, этот файл необходимо поместить в каталог, в котором PowerShell ищет модули. Таких каталогов несколько (специальный каталог в профиле пользователя, каталог, где установлен PowerShell), их можно посмотреть в переменных окружения PowerShell. Для этого выполните следующую команду
Get-ChildItem Env:PSModulePath | Format-Table -AutoSize
После того как Вы поместите написанный Вами модуль в специальный каталог, Вы сможете обращаться к своим функциям как к обычным командам PowerShell.
Интегрированная среда сценариев Windows PowerShell (ISE)
Для того чтобы было удобно писать сценарии, функции и соответственно модули, компания Microsoft разработала специальную графическую программу Integrated Scripting Environment.
Integrated Scripting Environment (ISE) – интегрированная среда сценариев.
Работать в этой программе очень удобно, к тому же она имеет мощный функционал (создание множества вкладок со сценариями, область вывода, встроенный отладчик и другое).
Запустить ее можно следующим образом:
- В Windows 7 — Пуск->Все программы ->Стандартные ->Windows PowerShell -> Windows PowerShell ISE;
- В Windows 10 или Windows Server 2016 — Пуск->Все программы -> Каталог Windows PowerShell (в группе W) -> Windows PowerShell ISE.
Примечание! ISE не будет работать на системе Windows Server, установленной в варианте Server Core.
Скриншот интегрированной среды сценариев PowerShell (ISE) в Windows Server 2016
Заметка! ТОП 5 популярных систем управления базами данных (СУБД).
На этом у меня все, надеюсь, материал был Вам полезен! Удачи!
Сейчас мы посмотрим, как запустить PowerShell в операционной системе Windows разных версий. При выполнении работ по настройке операционной системы Windows или установленных приложений, в некоторых случаях, пользователям необходимо использовать Windows PowerShell — продвинутый аналог командной строки с расширенными возможностями.
PowerShell — оболочка средства с интерфейсом командной строки и использованием языка сценариев. Помимо собственных сценариев в PowerShell выполняются обычные команды командной строки, а таже решаются другие задачи по администрированию.
Содержание:
- Как открыть PowerShell Windows 10 — 1 способ
- Как в Windows 10 запустить PowerShell — 2 способ
- Как открыть PowerShell в Windows 7
- Запуск Windows PowerShell Windows 8.1 (Windows
- Открытие PowerShell из окна «Выполнить»
- Как запустить PowerShell из командной строки
- Как открыть Windows PowerShell из поиска
- Запуск PowerShell из Диспетчера задач
- Как запустить PowerShell от имени администратора из Проводника — 1 способ
- Открытие PowerShell из папки Проводника — 2 способ
- Открытие Windows PowerShell из системной папки
- Запуск PowerShell из Панели задач
- Выводы статьи
- Как запустить PowerShell в Windows (видео)
Начиная с версии Windows PowerShell 2.0, оболочка входит в состав операционных систем Windows 7, Windows 8, Windows 8.1, Windows 10, Windows Serwer 2008 R2, Windows Serwer 2012, Windows Serwer 2016, Windows Serwer 2019.
PowerShell можно установить в операционные системы Windows XP SP3, Windows Vista, Windows Serwer 2003, Windows Serwer 2008 составе комплекта Windows Management Framework. Microsoft Windows PowerShell поддерживает операционные системы Linux и macOS.
В процессе решения некоторых задач у пользователей возникает вопрос о том, как запустить Windows PowerShell на компьютере в разных операционных системах.
В этом руководстве мы рассмотрим несколько способов запуска PowerShell на компьютере в конкретных версиях операционной системы: Windows 10, Windows 8.1 (Windows 8), Windows 7, а также инструкции о других способах, применяемых в любых версиях ОС.
Как открыть PowerShell Windows 10 — 1 способ
В современных версиях Windows 10, в интерфейсе операционной системы PowerShell заменила командную строку. Сама командная строка никуда не исчезла, просто ОС предлагает применять PowerShell по умолчанию.
Для запуска оболочки в Windows 10 можно использовать контекстное меню кнопки «Пуск»:
- Щелкните правой кнопкой мыши по меню «Пуск», или нажмите на клавиши «Win» + «X».
- В контекстном меню откроются пункты «Windows PowerShell» и «Windows PowerShell (администратор)».
Вы можете запустить Windows PowerShell от имени администратора или в обычном режиме от имени текущего пользователя компьютера.
Если на вашем компьютере вместо PowerShell отображается командная строка, то это значит, что ранее были проведены изменения в настройках Windows 10. Вернуть Windows PowerShell на место можно следующим способом:
- Запустите приложение «Параметры».
- Откройте «Персонализация».
- Войдите в раздел «Панель задач».
- В опции «Заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке “Пуск” или при нажатии клавиш Windows + X» передвиньте ползунок переключателя в положение «Включено».
После этого, вместо командной строки в контекстном меню кнопки «Пуск» станут отображаться пункты для запуска PowerShell.
Как в Windows 10 запустить PowerShell — 2 способ
Еще один способ, как открыть Windows PowerShell в операционной системе Windows 10 из меню «Пуск».
Выполните необходимые действия:
- Кликните левой кнопкой мыши по меню «Пуск».
- В списке установленных программ найдите папку «Windows PowerShell», из которой можно запустить PowerShell в различных режимах:
- Windows PowerShell — запуск обычной оболочки.
- Windows PowerShell (x86) — запуск оболочки в 32-битной ОС.
- Windows PowerShell ISE — запуск интегрированной среды сценариев PowerShell (Windows PowerShell Integrated Scripting Environment).
- Windows PowerShell ISE (x86) — запуск интегрированной среды сценариев для 32-битных систем или объектов.
Windows PowerShell ISE — оболочка PowerShell с расширенными возможностями.
При необходимости, пользователь может запустить PowerShell от имени администратора Windows 10. Запуск от администратора Windows 10 проходит следующим образом:
- Нужно щелкнуть правой кнопкой мыши по значку Windows PowerShell.
- В контекстном меню «Задачи» нажмите на пункт «Запуск от имени администратора».
- На Рабочем столе компьютера откроется окно Windows PowerShell.
Как открыть PowerShell в Windows 7
Пользователи в операционной системе Windows 7 могут запустить PowerShell из меню кнопки «Пуск». Для этого нужно выполнить следующие действия:
- Щелкните левой кнопкой мыши по кнопке меню «Пуск».
- В списке «Все программы» откройте папку «Стандартные».
- Найдите папку «Windows PowerShell», в которой находятся значки для запуска приложения.
Чтобы запустить PowerShell от администратора, кликните по ярлыку приложения правой кнопкой мыши, а в открывшемся контекстном меню выберите «Запустить от имени администратора».
Запуск Windows PowerShell Windows 8.1 (Windows
В операционных системах Windows 8.1 или Windows 8 открытие PowerShell возможно из окна установленных приложений.
Пройдите шаги:
- На начальном экране нажмите на кнопку «Приложения».
- В окне «Приложения» найдите папку «Служебные», в которой размешено приложение Windows PowerShell.
Чтобы в Windows 8.1 или Windows 8 запустить PowerShell с правами администратора, необходимо нажать на значок приложения правой кнопкой мыши, а в контекстном меню выбрать пункт «Запустить от имени администратора».
В разных версиях Windows запуск PowerShell происходит идентично с помощью выполнения команды из диалогового окна «Выполнить».
Вам потребуется совершить следующие манипуляции:
- Нажмите на клавиши «Win» + «R».
- В диалоговое окно «Выполнить» введите команду «powershell» (без кавычек).
- Нажмите на кнопку «ОК».
Для запуска оболочки с административными правами в Windows 10, используйте этот способ: после ввода команды удерживайте клавиши «Ctrl» + «Shift», а затем нажмите на клавишу «Enter» или кнопку «ОК» в диалоговом окне.
Как запустить PowerShell из командной строки
При желании пользователь может запустить PowerShell из CMD.exe (командной строки Windows) в разных версиях операционной системы. Это системное средство поможет открыть аналогичное приложение на компьютере.
Запуск PowerShell из командной строки выполняется следующим образом:
- Необходимо запустить командую строку от имени администратора или просто открыть командную строку от имени пользователя.
- В окне интерпретатора командной строки введите команду «powershell» (без кавычек), а затем нажмите на клавишу «Enter».
- Оболочка PowerShell будет запущена в интерфейсе командной строки Windows.
В PowerShell запуск от имени администратора зависит от того, с какими правами вы запустили командную строку.
Как открыть Windows PowerShell из поиска
Запуск PowerShell можно выполнить из поиска Windows любой современной версии ОС.
Нужно совершить следующие действия:
- В строку поиска необходимо ввести выражение «powershell» (без кавычек).
- Во всплывающем окне появятся результаты с лучшим соответствием.
- В Windows 10 выполните запуск PowerShell от имени администратора или с обычными правами. В Windows 8 или в Windows 7 щелкните по приложению правой кнопкой мыши, чтобы запустить оболочку с повышенными правами, выбрав соответствующий пункт контекстного меню.
Запуск PowerShell из Диспетчера задач
Для запуска оболочки можно воспользоваться системным средством — Диспетчером задач.
Выполните следующее:
- Запустите Диспетчер задач на ПК.
- Войдите в меню «Файл» нажмите на пункт «Запустить новую задачу».
- В окне «Создание задачи», в поле «Открыть:» введите «powershell» (без кавычек). Если нужны права администратора, поставьте флажок в пункте «Создать задачу с правами администратора».
- Нажмите на кнопку «ОК».
Как запустить PowerShell от имени администратора из Проводника — 1 способ
Быстрый способ открытия PowerShell: запуск приложения непосредственно из системного инструмента — Проводника Windows.
Необходимо использовать следующий метод:
- Запустите Проводник.
- В адресную строку Проводника введите «powershell» (без кавычек).
- Нажмите на клавишу «Enter».
- На экране ПК откроется окно оболочки PowerShell.
Открытие PowerShell из папки Проводника — 2 способ
Еще один вариант для запуска оболочки PowerShell из текущей папки в Проводнике:
- Войдите в Проводник Windows, откройте нужную папку.
- Нажмите на меню «Файл», выберите подходящий вариант запуска: «Запустить Windows PowerShell» или «Запустить Windows PowerShell от имени администратора».
Открытие Windows PowerShell из системной папки
Есть возможности для запуска PowerShell непосредственно из папки «Windows», в которой находится операционная система. Это универсальный способ, работающий в разных версиях Windows.
Пройдите последовательные шаги:
- Откройте Проводник Windows.
- Пройдите по пути:
C:WindowsSystem32WindowsPowerShellv1.0
- В папке «v0» находятся файлы приложения, которые можно запустить на ПК. Щелкните два раза левой кнопкой мыши по файлу «powershell.exe».
Как запустить Windows PowerShell с повышенными правами в этом случае? Щелкните по файлу правой кнопкой мыши, а в контекстном меню нажмите на пункт «Запуск от имени администратора».
Запуск PowerShell из Панели задач
Вы можете закрепить значок PowerShell на панели задач Windows, чтобы легко запускать нужный инструмент без лишних телодвижений. Сделайте это следующим методом:
- Пройдите по пути до файла «powershell.exe» в системной папке «Windows» по пути:
C:WindowsSystem32WindowsPowerShellv1.0
- Нажмите правой кнопкой мыши на файл «powershell.exe».
- В контекстном меню выберите «Закрепить на панели задач».
Теперь вы можете запускать оболочку Windows PowerShell с разными правами, щелкнув по значку приложения правой кнопкой мыши.
Выводы статьи
В операционную систему Windows встроена оболочка PowerShell — продвинутый аналог командной строки. В некоторых ситуациях, пользователям может понадобится использовать Windows PowerShell на компьютере для выполнения различных настроек в операционной системе. Запустить PowerShell можно разными способами: из меню кнопки «Пуск», из окна «Выполнить», из командной строки, из поиска, из Проводника, из системной папки «Windows», из Панели задач.
Как запустить PowerShell в Windows (видео)
Похожие публикации:
- Как выйти из безопасного режима Windows — 5 способов
- Как узнать файловую систему флешки, на жестком диске, SSD в Windows
- Как разбить жесткий диск на разделы — 3 способа
- Что за файл Desktop.ini в Windows
- Переменные среды в Windows: использование, список и таблицы
Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 ^
- Запустите диспетчер серверов.
- Щелкните «Управление»> «Добавить роли и компоненты».
- Нажимайте «Далее», пока не дойдете до «Функции».
- Включите модуль Active Directory для Windows PowerShell в Инструменты удаленного администрирования сервера> Инструменты администрирования ролей> Инструменты AD DS и AD LDS.
Как установить PowerShell 2.0 на Windows Server 2016?
Чтобы добавить компонент Windows PowerShell 2.0 Engine
- В диспетчере сервера в меню «Управление» выберите «Добавить роли и компоненты». …
- На странице «Тип установки» выберите «Ролевая или функциональная установка».
- На странице «Компоненты» разверните узел Windows PowerShell (установлен) и выберите Windows PowerShell 2.0 Engine.
5 июн. 2017 г.
Как узнать, включен ли PowerShell?
Просто запустите Enter-PSSession -ComputerName localhost. Если он входит в удаленный сеанс, включается удаленное взаимодействие PS. Enable / Disable также устанавливает разрешения.
Какая версия PowerShell установлена на Server 2016?
Версии PowerShell и Windows ^
Версия PowerShell | Дата выпуска | Версии Windows по умолчанию |
---|---|---|
PowerShell 4.0 | Октябрь 2013 | Windows 8.1 Windows Server 2012 R2 |
PowerShell 5.0 | Февраль 2016 | Windows 10 |
PowerShell 5.1 | Январь 2017 | Юбилейное обновление Windows 10 Windows Server 2016 |
PowerShell Core 6 | Январь 2018 | Нет |
Какая текущая версия PowerShell?
PowerShell 7 в настоящее время поддерживает следующие операционные системы на x64, в том числе: Windows 8.1 и 10. Windows Server 2012, 2012 R2, 2016 и 2019.
Как обновить Windows PowerShell 2016?
msi или PowerShell-7.1.
Загрузите файл MSI и установите его. Вы можете обновить PowerShell прямо из консоли PS. Вы также можете использовать другие параметры установки: -Destination — изменить каталог установки PowerShell Core по умолчанию.
Как проверить, установлен ли PowerShell 2.0?
Чтобы проверить, установлена ли PowerShell версии 1.0 или 2.0, проверьте в реестре следующее значение:
- Расположение ключа: HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1PowerShellEngine.
- Имя значения: PowerShellVersion.
- Тип значения: REG_SZ.
- Данные значения: <1.0 | 2.0>
25 июн. 2009 г.
Как узнать, установлен ли PowerShell v2?
Откройте «PowerShell». Введите «Get-WindowsFeature | Где Name -eq PowerShell-v2 ». Если «Состояние установки» равно «Установлено», это обнаружение.
Как мне найти версию PowerShell?
Чтобы проверить версию PowerShell, установленную в вашей системе, вы можете использовать команду $ PSVersionTable или $ host.
Как включить WinRM в PowerShell?
Включение удаленного взаимодействия PowerShell
- В консоли PowerShell, запущенной от имени администратора, включите удаленное взаимодействие PowerShell. Enable-PSRemoting –force. Enable-PSRemoting –force. …
- Убедитесь, что служба WinRM настроена на автоматический запуск. # Установить автоматический режим запуска. …
- Установите для всех удаленных хостов статус доверенных. Примечание. Возможно, вы захотите отключить это позже.
31 юл. 2015 г.
Как узнать, включен ли WinRM?
Убедитесь, что удаленное взаимодействие PowerShell включено
Когда вы запускаете команду Test-WSMan на локальном компьютере, вы можете увидеть, включено ли удаленное взаимодействие PowerShell или нет. Конечно, вы можете запустить команду на другом компьютере с помощью параметра -ComputerName.
Как включить удаленный доступ в PowerShell?
Как включить удаленный рабочий стол с помощью PowerShell
- Откройте Пуск в Windows 10.
- Найдите PowerShell, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».
- Введите следующую команду, чтобы включить протокол удаленного рабочего стола, и нажмите Enter: Set-ItemProperty -Path ‘HKLM: SystemCurrentControlSetControlTerminal Server’ -name «fDenyTSConnections» -value 0.
30 мар. 2020 г.
Установлен ли PowerShell по умолчанию?
Windows PowerShell по умолчанию устанавливается в каждой Windows, начиная с Windows 7 SP1 и Windows Server 2008 R2 SP1. Если вас интересует PowerShell 6 и более поздних версий, вам необходимо установить PowerShell Core вместо Windows PowerShell. Для этого см. Установка PowerShell Core в Windows.
Стоит ли обновлять PowerShell?
Если вы планируете обновить версию Windows PowerShell на своей административной машине (рабочей станции или сервере), я бы рекомендовал обновить операционную систему, чтобы получить максимальную выгоду. … Он изменился с 2.0 в Windows PowerShell 2.0 на 3.0 в Windows PowerShell 3.0.
Какая команда определяет общее количество функциональных команд?
— Get-Childitem Какая команда определяет общее количество команд «FUNCTION»? R. — (функция Get-Command -type). count Ipconfig / flushdns можно использовать в консоли PowerShell.
Обновлено 14.01.2022
Всем привет! Сегодня небольшая заметка на тему, как открыть powershell от имени администратора. Напомню PowerShell, это мощный язык программирования и администрирования от компании Microsoft, каждый год он обрастает, все большим количество командлетов и функциональностей. По сути, это замена командной строке Windows. Ниже рассмотрим методы позволяющие его открыть и настроить.
.
Методы открытия оснастки PowerShell
Powershell очень хорошо развивается и с выходом Windows 10 получил уже 5 версию, но у нас тема другая. Так как открыть powershell? Все просто если в Windows XP, то никак. так он доставляется отдельно, во всех последующих релизах он идет как встроенный компонент. Самый универсальный способ открытия powershell это нажать
Win+R и ввести powershell
Нажав enter у вас запуститься консоль PowerShell, проблема только в том, что откроется она не от имени администратор. И в итоге многое команды выполнить не удастся, ниже смотрим как это сделать от имени админа.
Как запустить windows powershell от имени администратора в Windows 8.1 и Windows 7
Открыть windows powershell можно через пуск. В Windows 8.1, Windows 2012 R2 переходите в пункт Служебные — Windows и правым кликом выбираете запустить от имени администратора.
В Windows 7 и Windows 2008 R2 это выглядит вот так Пуск > Стандартные > Windows PowerShell
Так же можно создать ярлык в пункте задачи и щелкнуть по нему правым кликом и выбрать соответствующий пункт
было бы удобно, чтобы PowerShell всегда открывался от имени администратора, давайте это реализуем. Делается это во всех версиях Windows одинаково. Открываем панель управления
Далее пункт Администрирование > Windows PowerShell (x86)
Щелкаем по нему правым кликом мыши и выбираем пункт свойства. Сразу можете посмотреть путь до файла, где он лежит в системе.
Нажимаем кнопку «Дополнительно». У вас откроется дополнительные свойства. где вам нужно выставить галку запуск от имени администратора.
Все очень просто. Уверен, что у вас теперь не встанет вопроса как вам открыть windows powershell. Еще полезным бывает поменять шрифт в окне powershell.
Как открыть PowerShell через контекстное меню кнопки «Пуск» в Windows 10
Компания Microsoft, все больше делает акцент с командной строки в сторону своего сильного языка (PowerShell), и это логично, так как его возможности по управлению операционными системами семейства Windows, почти безграничны, а то и больше, чем в графическом интерфейсе. Начиная с версии Windows 10 1709, в контекстном меню, PowerShell, заменил всем привычный cmd. Щелкаете правым кликом по кнопке пуск в Windows 10 и из контекстного меню, выбираем соответствующий пункт:
- Windows PowerShell
- Windows PowerShell (администратор) — это как раз и есть режим с максимальными правами в Windows 10.
Запуск Windows PowerShell с помощью поиска в Windows 10
В Windows 10 и более старых версиях, найти оболочку PowerShell, можно с помощью обычного поиска, для этого есть специальная секция. Нажмите рядом с кнопкой «Пуск», значок в виде лупы. В открывшейся форме поиска, введите слово PowerShell. У вас будет произведен поиск всех вариантов, среди которых вы и обнаружите оболочку. Если щелкнуть по ней правой кнопкой мыши, то можно открыть ее от имени администратора.
Запуск Windows PowerShell с помощью меню Пуск в Windows 10
Для того, чтобы открыть оболочку PowerShell из меню Пуск, откройте его и найдите пункт Windows PowerShell, он будет в виде папки, откройте его и запустите соответствующую версию.
Если кликнуть правым кликом, то вы сможете запускать оболочку повершела от имени и с правами администратора.
Дополнительные и универсальные методы запуска оболочки
Существуют еще совсем специфические методы открытия оболочки с мощным языком от Microsoft. Самый топорный, это просто найти исполняемый файл и запустить его прямо из расположения в системе. Переходим в вашей Windows 10 по пути:
C:Usersимя пользователяAppDataRoamingMicrosoftWindowsStart MenuProgramsWindows PowerShell
В итоге у вас откроется папка с ярлыками, которые присутствуют в меню «Пуск», можете их запускать.
Еще можно запустить оригинальный, исполняемый файл, который лежит по пути:
C:WindowsSystem32WindowsPowerShellv1.0
И кликнув по нему правым кликом, вы можете его загружать от имени администратора, с максимальными правами.
Так же вы можете запустить виндоус PowerShell и из окна командной строки, для этого просто введите в нем волшебное слово и нажмите Enter.
Ну и еще напомню метод, запуска новой задачи из оснастки «Диспетчер задач». Откройте «Диспетчер задач», выберите пункт меню «Файл — Запустить новую задачу»
В появившемся окне введите PowerShell.
Ну и последний известный мне метод, это запуск PowerShell, через проводник Windows 10, для этого откройте проводник, выберите пункт меню «Файл — запустить Windows PowerShell», тут будут оба режима.
Запуск PowerShell от имени другого пользователя
Ответственный администратор всегда имеет две учетные записи, первая обладает минимальными правами рядового пользователя, для повседневных задач. Вторая уже имеет нужные административные привилегии, из под которой он выполняет настройки серверов и всего сопутствующего. В операционных системах Windows есть функционал, который позволяет вам находясь в сессии одного пользователя, запустить приложение от имени другого, у которого более расширенные права. Так в сессии обычного пользователя, системный администратор запускает оболочку PowerShell от имени пользователя с другими правами и спокойно управляет, чем хочет.
Чтобы запустить PowerShell от имени другого пользователя вам необходимо зажать кнопку SHIFT, после чего щелкнуть правым кликом мыши по значку PowerShell, из контекстного меню выбрать пункт «Запуск от имени другого пользователя»
Вводите логин и пароль от нужной вам учетной записи. В результате чего оболочка будет работать в контексте другого пользователя.
так же вы можете запускать новое окно PowerShell из текущего окна пользователя, но с уже новыми правами, для этого введите команду:
start powershell -credential «»
В окне запроса учетной записи, указываем логин и пароль, от той учетной записи, которая имеет нужные вам права для дальнейшей вашей работы.
Что такое PowerShell ISE
Наверняка вы обратили внимание, что везде присутствует ярлык PowerShell ISE, и вы хотели бы знать, что это такое. Если в двух словах, то это особая оболочка, в которой вы можете писать сценарии и скрипты на языке PowerShell, используя все то разнообразие командлетов, что предлагает вам компания Microsoft.
Запуск PowerShell через комбинацию клавиш
Одним из удобных методов запуска оболочки PowerShell, при очень частом использовании, является назначение для нее горячего сочетания клавиш, при нажатии которых вызывается оболочка. Делается, это очень просто. Откройте окно свойств PowerShell, на вкладке «Ярлык» найдите пункт «Быстрый вызов«, по умолчанию он имеет статус нет.
Выберите его и нажмите клавишу Shift или Ctrl, или CTRL+SHIFT, в результате чего у вас подставится конструкция для будущей комбинации и так же нажмите любую клавишу из буквенного диапазона, в моем примере получилось CTRL + SHFT + C. Именно такой комбинацией я буду вызывать свою оболочку PowerShell. Сохраняем настройки. Так же отмечу, что вы легко можете ее отменить или поменять на другую.
Пробую ввести комбинацию быстрого вызова CTRL + SHFT + C, как вижу все прекрасно работает.
Запуск оболочки из ISE
До недавнего времени, я обычно ISE открывал из обычной оболочки PowerShell, а не наоборот, но какого же было мое удивление, что в меня «Файл» я обнаружил пункт «Запустить PowerShell.exe» и есть даже сочетание клавиш Ctrl+Shift+P.
Свойства powershell
powershell шрифт меняется очень просто перейдите в свойствах на вкладку Шрифт, где вы можете задать размер от 5 до 72.
так же в свойства можно попасть из самого окна утилиты, щелкните по значку в левом верхнем углу и выберите свойства
Тут настройки шрифта немного другие, вместе с их изменением, меняется и размер консоли.
На вкладке Цвета, можете задать цвет шрифта в powershell да и самого окна. Сделав его например черным, как командная строка.
Размер буфера powershell
Так же советую, если вы активный консольщик выставить размер буфера не в 50 команд, а хотя бы в 100.
Спасибо за внимание. Вот такие вот методы, открытия консоли Power Shell в Windows. Материал сайта pyatilistnik.org
Данная статья рассматривает способы запуска Windows PowerShell и опубликована в информационно-познавательных целях. Статья будет полезна прежде всего для начинающих пользователей операционной системы Windows.
Windows PowerShell — это оболочка командной строки, а также язык сценариев, предназначенный для системного администрирования. Созданная на основе .NET Framework, PowerShell помогает it-специалистам и опытным пользователям в управлении и автоматизации администрирования операционной системы Windows, а также приложений, работающих под управлением Windows.
Содержание
- Запуск через Поиск Windows
- Открытие оболочки с помощью меню «Пуск»
- Используем сочетание клавиш «Win+X»
- Запуск через диалог «Выполнить»
- Использование диспетчера задач
- Как запустить Windows PowerShell в проводнике Windows
- Запуск оболочки из папки программы на диске
Запуск через Поиск Windows
Для запуска Windows PowerShell воспользуемся поиском, для этого нажмите на значок поиска в панели задач или нажмите сочетание клавиш + S, в строке поиска введите powershell и в результатах поиска выберите Windows PowerShell Классическое приложение или нажмите правой кнопкой мыши и в контекстном меню выберите Запустить от имени администратора:
Открытие оболочки с помощью меню «Пуск»
Откройте меню «Пуск», в списке приложений в группе под буквой «W», найдите и разверните папку Windows PowerShell и выберите соответствующее приложение или нажмите правой кнопкой мыши и в контекстном меню выберите пункт Запуск от имени администратора
Используем сочетание клавиш «Win+X»
Чтобы использовать этот способ, прочитайте статью ➯ как заменить командную строку оболочкой Windows PowerShell в меню Win+X. После этого откройте меню «Win+X», для этого нажмите сочетание клавиш + X или щелкните правой кнопкой мыши по кнопке Пуск в панели задач и в появившемся контекстном меню выберите соответствующий пункт.
Запуск через диалог «Выполнить»
Откройте диалоговое окно Выполнить, для этого нажмите сочетание клавиш + R, введите powershell и нажмите клавишу Enter ↵.
Использование диспетчера задач
Откройте диспетчер задач нажав сочетание клавиш Ctrl + Shift + Esc и в выпадающем меню Файл выберите Запустить новую задачу.
В открывшемся окне «Создание задачи» введите powershell и нажмите клавишу Enter ↵. Если нужно создать задачу с правами администратора, то установите флажок в чекбоксе Создать задачу с правами администратора. и нажмите клавишу Enter ↵.
Как запустить Windows PowerShell в проводнике Windows
Откройте Проводник Windows, выберите папку или диск где вы хотите запустить Windows PowerShell. Затем откройте вкладку Файл, далее выберите Запустить Windows PowerShell и потом нажмите на нужный пункт: Запустить Windows PowerShell или Запустить Windows PowerShell от имени администратора
Запуск оболочки из папки программы на диске
Откройте Проводник Windows и перейдите по следующему пути:
C:\Windows\System32\WindowsPowerShell\v1.0
Для запуска Windows PowerShell дважды кликните по файлу powershell.exe
Или нажмите правой кнопкой мыши на файле powershell.exe и в контекстном меню выберите пункт Запуск от имени администратора
Также Вы можете создать ярлык файла powershell.exe для запуска оболочки Windows PowerShell и закрепить его в панели задач или на начальном экране меню «Пуск».
В этой статье я постарался собрать в одном месте основные команды cmd и PowerShell, которые полезны при настройке и управлении Windows Server Core. Думаю, этот гайд будет полезен как новичкам, так и опытным системным администраторам, как справочник по базовым командам Server Core.
Содержание:
- Настройка Windows Server Core с помощью SCONFIG
- Основные команды PowerShell для настройки Server Core
- Установка обновлений в Server Core
- Часто используемые команды в Server Core
Напомним, что Server Core это особый режим установки Windows Server без большинства графических инструментов и оболочек. Управление таким сервером выполняется из командной строки или удаленно.
Преимущества Windows Serve Core:
- Меньшие требования к ресурсам;
- Повышенная стабильность, безопасность, требует установки меньшего количества обновлений (за счет меньшего количества кода и используемых компонентов);
- Идеально подходит для использования в качестве сервера для инфраструктурных ролей (контроллер домена Active Directory, DHCP сервер, Hyper-V сервер, файловый сервер и т.д.).
Server Core лицензируется как обычный физический или виртуальный экземпляр Windows Server (в отличии от Hyper-V Server, который полностью бесплатен).
Для установки Windows Server 2016/2019 в режиме Core нужно выбрать обычную установку. Если вы выберите Windows Server (Desktop Experience), будет установлен GUI версия операционной системы (в предыдущих версиях Windows Server она называлась Server with a GUI).
После установки Windows Server Core перед вами появляется командная строка, где нужно задать пароль локального администратора.
При входе на Server Core открывается командная строка (cmd.exe). Чтобы вместо командной строки у вас всегда открывалась консоль PowerShell.exe, нужно внести изменения в реестр. Выполните команды:
Powershell.exe
Set-ItemProperty -Path 'HKLM:SoftwareMicrosoftWindows NTCurrentVersionWinLogon' -Name Shell -Value 'PowerShell.exe'
И перезагрузите сервер:
Restart-Computer -Force
Если вы случайно закрыли окно командной строки, нажмите сочетание клавиш Ctrl+Alt+Delete, запустите Task Manager -> File -> Run -> выполните
cmd.exe
(или
PowerShell.exe
).
Настройка Windows Server Core с помощью SCONFIG
Для базовой настройки Server Core можно использовать встроенный скрипт sconfig. Просто выполните команду sconfig в консоли. Перед вами появиться меню с несколькими пунктами:
С помощью меню Server Configuration можно настроить:
- Добавить компьютер в домен или рабочую группу;
- Изменить имя компьютера (hostname);
- Добавить локального администратора;
- Разрешить/запретить удаленное управления и ответы на icmp;
- Настроить параметры обновления через Windows Update;
- Установить обновления Windows;
- Включить/отключить RDP;
- Настроить параметры сетевых адаптеров (IP адрес, шлюз, DNS сервера);
- Настроить дату и время;
- Изменить параметры телеметрии;
- Выполнить logoff, перезагрузить или выключить сервер.
Все пункт в меню
sconfig
пронумерованы. Чтобы перейти в определенное меню наберите его номер и Enter.
В некоторых пунктах меню настройки sconfig есть вложенные пункты. Там также, чтобы перейти к определенной настройке, нужно сделать выбор цифры пункта меню.
Не будем подробно рассматривать все пункты настройки sconfig, т.к. там все достаточно просто и очевидно. Однако в большинстве случаев администраторы предпочитают использовать для настройки новых хостов с Server Core различные PowerShell скрипты. Это намного проще и быстрее, особенно при массовых развёртываниях.
Основные команды PowerShell для настройки Server Core
Рассмотрим основные команды PowerShell, которые можно использовать для настройки Server Core.
Узнать информацию о версии Windows Server и версии PowerShell:
Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$PSVersionTable
Для перезагрузки Server Core нужно выполнить команду PowerShell :
Restart-Computer
Чтобы выполнить выход из консоли Server Core, наберите:
logoff
Настройка параметров сети
Теперь нужно из PowerShell нужно настроить параметры сети (по умолчанию Windows настроена на получение адреса от DHCP). Выведите список сетевых подключений:
Get-NetIPConfiguration
Теперь укажите индекс интерфейса сетевого адаптера (InterfaceIndex), который нужно изменить и задайте новый IP адрес:
New-NetIPaddress -InterfaceIndex 4 -IPAddress 192.168.13.100 -PrefixLength 24 -DefaultGateway 192.168.13.1
Set-DNSClientServerAddress –InterfaceIndex 4 -ServerAddresses 192.168.13.11,192.168.13.
111
Проверьте текущие настройки:
Get-NetIPConfiguration
Если нужно сбросить IP адрес и вернуться к получению адреса от DHCP, выполните:
Set-DnsClientServerAddress –InterfaceIndex 4 –ResetServerAddresses
Set-NetIPInterface –InterfaceIndex 4 -Dhcp Enabled
Включить/отключить сетевой адаптер:
Disable-NetAdapter -Name “Ethernet0”
Enable-NetAdapter -Name “Ethernet 0”
Включить, отключить, проверить статус поддержки IPv6 для сетевого адаптера:
Disable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6
Настроить winhttp прокси сервер для PowerShell и системных подключений:
netsh Winhttp set proxy <servername>:<port number>
Настройка времени/даты
Вы можете настроить дату, время, часовой пояс с помощью графической утилиты
intl.cpl
или с помощью PowerShell:
Set-Date -Date "09/03/2022 09:00"
Set-TimeZone "Russia Time Zone 3
Задать имя компьютера, добавить в домен, активация
Чтобы изменить имя компьютера:
Rename-Computer -NewName win-srv01 -PassThru
Добавить сервер в домен Active Directory:
Add-Computer -DomainName "corp.winitpro.ru " -Restart
Если нужно добавить дополнительных пользователей в администраторы, можно настроить групповую политику или добавить вручную:
Add-LocalGroupMember -Group "Administrators" -Member "corpanovikov"
Для активации Windows Server нужно указать ваш ключ:
slmgr.vbs –ipk <productkey>
slmgr.vbs –ato
Или можно активировать хост на KMS сервере (например, для Windows Server 2019):
slmgr /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
slmgr /skms kms-server.winitpro.ru:1688
slmgr /ato
Разрешить удаленный доступ
Разрешить удаленный доступ к Server Core через RDP:
cscript C:WindowsSystem32Scregedit.wsf /ar 0
Разрешить удаленное управление:
Configure-SMRemoting.exe –Enable
Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”
Текущие настройки:
Configure-SMRemoting.exe -Get
Разрешить Win-Rm PowerShell Remoting:
Enable-PSRemoting –force
Сервером с Windows Server можно управлять удаленно c другого сервера (с помощью ServerManager.exe), через браузер с помощью Windows Admin Center (WAC), с любой рабочей станции с помощью инструментов администрирования RSAT, подключаться к нему по RDP, PowerShell Remoting или SSH (в современных версиях Windows есть встроенный SSH сервер).
Настройка Windows Firewall
Информация о настройке Windows Firewall есть в статье по ссылке. Здесь оставлю несколько базовых команд.
Включить Windows Defender Firewall для всех профилей:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Изменить тип сети с Public на Private:
Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private
Полностью отключить Windows Firewall (не рекомендуется):
Get-NetFirewallProfile | Set-NetFirewallProfile -enabled false
Разрешить подключение через инструменты удаленного управления:
Enable-NetFireWallRule -DisplayName “Windows Management Instrumentation (DCOM-In)”
Enable-NetFireWallRule -DisplayGroup “Remote Event Log Management”
Enable-NetFireWallRule -DisplayGroup “Remote Service Management”
Enable-NetFireWallRule -DisplayGroup “Remote Volume Management”
Enable-NetFireWallRule -DisplayGroup “Remote Scheduled Tasks Management”
Enable-NetFireWallRule -DisplayGroup “Windows Firewall Remote Management”
Enable-NetFirewallRule -DisplayGroup "Remote Administration"
Установка обновлений в Server Core
Для управления параметрами обновлений предпочтительно использовать групповые политики Windows Update, но можно задать параметры и вручную.
Отключить автоматическое обновление:
Set-ItemProperty -Path HKLM:SoftwarePoliciesMicrosoftWindowsWindowsUpdateAU -Name AUOptions -Value 1
Автоматически скачивать доступные обновления:
Set-ItemProperty -Path HKLM:SoftwarePoliciesMicrosoftWindowsWindowsUpdateAU -Name AUOptions -Value 3
Получить список установленных обновлений:
Get-Hotfix
Или
wmic qfe list
Для ручной установки обновлений Windows можно использовать утилиту wusa:
Wusa update_name.msu /quiet
Также для установки и управления обновлениями из командной строки удобно использовать PowerShell модуль PSWindowsUpdate.
Управление ролями, службами и процессами Windows
Для получения списка всех доступных ролей в Windows Server Core выполните команду PowerShell:
Get-WindowsFeature
Получить список всех установленных ролей и компонентов в Windows Server(можно быстро понять, для чего используется сервер):
Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate
Например, для установки службы DNS воспользуйтесь такой командой:
Install-WindowsFeature DNS -IncludeManagementTools
Список всех служб в Windows:
Get-Service
Список остановленных служб:
Get-Service | Where-Object {$_.status -eq “stopped”}
Перезапустить службу:
Restart-Service -Name spooler
Для управление процессами можно использовать стандартный диспетчер задач (taskmgr.exe) или PowerShell модуль Processes:
Get-Process cmd, proc1* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft
Часто используемые команды в Server Core
Ну и наконец, приведу список различных полезных мне команд, которые я периодически использую в Server Core.
Информация о статусе и здоровье физических дисков (используется стандартный модуль управления дисками Storage):
Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType, SpindleSpeed, HealthStatus, OperationalStatus -AutoSize
Информация о свободном месте на диске:
Get-WmiObject -Class Win32_LogicalDisk |
Select-Object -Property DeviceID, VolumeName, @{Label='FreeSpace (Gb)'; expression={($_.FreeSpace/1GB).ToString('F2')}},
@{Label='Total (Gb)'; expression={($_.Size/1GB).ToString('F2')}},
@{label='FreePercent'; expression={[Math]::Round(($_.freespace / $_.size) * 100, 2)}}|ft
Информация о времени последних 10 перезагрузок сервера:
Get-EventLog system | where-object {$_.eventid -eq 6006} | select -last 10
Список установленных программ:
Get-ItemProperty HKLM:SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
Скачать и распаковать zip файл с внешнего сайта:
Invoke-WebRequest https://contoso/test.zip -outfile test.zip
Expand-Archive -path '.test.zip' -DestinationPath C:UsersAdministratorDocuments
Чтобы скопировать все файлы из каталога на удаленный компьютер по сети можно использовать Copy-Item:
$session = New-PSSession -ComputerName remotsnode1
Copy-Item -Path "C:Logs*" -ToSession $session -Destination "C:Logs" -Recurse -Force
Для установки драйвера можно использовать стандартную утилиту:
Pnputil –i –a c:distrhpdp.inf
Также Microsoft предлагает специальный пакет Server Core App Compatibility Feature on Demand (FOD), который позволяет установить в Windows Server 2019 некоторые графические инструменты и консоли (MMC, Eventvwr, Hyper-V Manager, PerfMon, Resmon, Explorer.exe, Device Manager, Powershell ISE). Этот FOD доступен для загрузки в виде ISO при наличии активной подписки. Установка выполняется командой:
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
Установка Server Core App Compatibility Feature on Demand будет использовать дополнительно около 200 Мб оперативной памяти в Server Core.
В этой статье я постарался собрать самые нужные команды, которые нужно постоянно держать под рукой при работе с Windows Server Core. Время от времени я буду обновлять статью и добавлять новые команды, которые покажутся мне нужными для повседневной работы.
Рассказываем про Windows PowerShell — технологию для автоматизации рутинных задач, пришедшую на смену bat-файлам.
Работа с консолью Microsoft Windows
Ранее мы рассматривали командные интерпретаторы COMMAND.CMD и CMD.EXE, обеспечивающие автоматизацию задач в семействе операционных систем Microsoft Windows. Фактически данные интерпретаторы не получали обновлений с начала 2000-х годов и существуют в современных операционных системах для обеспечения совместимости.
Подробнее о bat-файлах →
Хотя современные операционные системы предлагают богатый на функции графический интерфейс, ряд однотипных задач быстрее решается через консоль. Более того, серверные редакции ОС не предоставляют графический интерфейс по умолчанию, поэтому интерпретатор командной строки является неотъемлемой частью практически любой операционной системы.
Помимо отсутствия обновлений, CMD.EXE имеет ограниченный функционал. Он не позволяет писать сложную логику и полностью отказаться от использования графического интерфейса. Корпорация Microsoft пыталась решить эти проблемы с помощью инструмента под названием Microsoft Script Host, который имел интеграцию со скриптовыми языками JScript и VBScript.
Однако Microsoft Script Host имел ряд собственных проблем:
- плохо интегрировался с командной оболочкой операционной системы,
- сопровождался скудной документацией,
- разные версии Windows имели командные интерпретаторы с разным набором команд,
- инструмент становился отличным вектором для атак.
Все это побуждало Microsoft сделать командный интерпретатор с нуля.
В 2003 году корпорация Microsoft начала разработку нового инструмента — Microsoft Shell (MSH), или Monad. Спустя три года и три бета-версии Monad была официально выпущена под новым названием Windows PowerShell 1.0 на Windows XP и Windows Vista. По ходу развития командная оболочка меняла свои названия на PowerShell Core и PowerShell.
При создании PowerShell разработчики задались целью создать инструмент, который позволил бы с легкостью использовать множество разнородных интерфейсов, предоставляемых операционной системой. Новый инструмент должен быть консистентным и легким для администратора, несмотря на количество технологий «под капотом». Например, PowerShell предоставляет доступ к API .NET-фреймворка, но не требует от администратора знания .NET.
Как и любой командный интерпретатор, PowerShell умеет запускать исполняемые файлы и имеет встроенные команды. Однако у PowerShell встроенные команды имеют название «командлет», появившееся от английского cmdlet.
Что такое командлет?
В основе взаимодействия с PowerShell лежат объекты, а не текст, как у CMD.EXE и командных интерпретаторов в *nix-системах. Такой подход меняет взгляд на организацию встроенных команд.
Командлет — это встроенная команда в PowerShell, выполняющая одну задачу и реализованная на .NET. Имя командлета соответствует правилу Глагол-Существительное, которое можно читать как Действие-Объект.
Самый важный командлет, о котором необходимо узнать в первую очередь, — Get-Help. Он отображает справочную информацию о PowerShell и командлетах.
# Получить общую справку по PowerShell
Get-Help
# Получить справку по командлету Get-Content
Get-Help Get-Content
# Получить справку по командлету Get-Help
Get-Help Get-Help
Если вам кажется, что использовать большие буквы в названии командлетов — это перебор, для вас есть хорошие новости. Все команды в PowerShell являются регистронезависимыми. Иными словами, перечисленные ниже написания эквивалентны:
Get-Help Get-Help
get-help get-help
GET-HELP GET-HELP
GeT-hElP gEt-HeLp
Хотя Windows PowerShell нечувствительна к регистру в именах и параметрах, внешние программы, которые вызываются через оболочку, могут не обладать такими возможностями.
В первой версии PowerShell все командлеты были реализованы на .NET, но начиная с версии 2.0 появилась возможность писать командлеты с использованием синтаксиса PowerShell.
Основы программы PowerShell
Перейдем к практике. PowerShell является кроссплатформенным инструментом и может быть запущена на Linux и macOS, но в данной статье будет рассматриваться только «родное» окружение — Windows.
Как запустить?
Запуск PowerShell можно произвести из меню поиска около кнопки Пуск, набрав powershell.
Аналогично можно запустить PowerShell через диалоговое окно Выполнить…, которое открывается через сочетание клавиш Windows + R.
Если по каким-то причинам у вас не установлен PowerShell, то необходимо сделать это, следуя инструкции в базе знаний Microsoft.
В случае успеха откроется синее окно. Windows PowerShell готов к вашим командам.
Синтаксис
Синтаксис PowerShell похож на синтаксис других командных интерпретаторов. Сначала команда, а затем аргументы команды. Несколько команд в одной строке разделяются точкой с запятой. Рассмотрим на примере.
Get-Help Get-Command -Online
Данная команда откроет в браузере вкладку с описанием командлета Get-Command в базе знаний Microsoft. Разберем подробнее:
- Get-Help – команда, в данном случае командлет,
- Get-Command – первый позиционный аргумент, который передается командлету,
- -Online – ключ, то есть именованный аргумент.
Обратите внимание, что в CMD.EXE именованные аргументы, то есть ключи, для встроенных команд начинались с символа слэш (/). У командлетов аргументы начинаются со знака минус. Использование знака / в PowerShell недопустимо и будет интерпретировано как ошибка.
Хотя PowerShell во многом похож на CMD.EXE, он имеет несколько существенных отличий. Во-первых, обращение к переменным производится через символ доллар, а не через знак процента. Во-вторых, PowerShell позволяет определять функции. Например:
function Get-Version {
$PSVersionTable.PSVersion
}
Данный код объявит функцию Get-Version, которая обращается к системной переменной (объекту) PSVersionTable и возвращает значение поля PSVersion. Проще говоря, выводит версию PowerShell.
Именование командлетов может быть неочевидным для администраторов с опытом работы с другими командными интерпретаторами. Поэтому рассмотрим основные команды Windows PowerShell.
Основные команды языка Windows PowerShell
В следующей таблице перечислены основные команды PowerShell и их аналоги в *nix-подобных системах и CMD.EXE. В версии PowerShell 7 количество командлетов превышает полторы тысячи!
Командлет (псевдоним) | Команда в *nix | Команда в CMD.exe | Описание |
Get-Location (pwd) | pwd | Выводит путь до текущего каталога | |
Set-Location (cd) | cd | cd | Меняет текущий каталог |
Get-ChildItem (ls) | ls | dir | Выводит содержимое текущего каталога |
Get-ChildItem | find | find | Производит поиск файлов по заданным критериям |
Copy-Item (cp) | cp | cp | Копирует файл |
Remove-Item (rm) | rm | rm | Удаляет файл |
New-Item (mkdir) | mkdir | mkdir | Создает каталог |
New-Item | touch | Создает пустой файл | |
Get-Content (cat) | cat | Выводит файлы | |
Get-Content | tail | Выводит последние 10 строк | |
Where-Object | grep | Производит фильтрацию | |
Create-Volume Format-Volume |
mkfs | Форматирует раздел | |
Test-Connection | ping | ping.exe | Отправляет ICMP-запросы, «пингует» |
Get-Help (man) | man | help | Показывает справку |
После работы в консоли *nix командлет для популярного действия, смены каталога, выглядит громоздко и непривычно. К счастью, командлеты имеют псевдонимы (алиасы), которые могут не следовать правилу именования командлетов. Список известных псевдонимов можно получить с помощью командлета Get-Alias.
Хотя таблица, представленная выше, значительно облегчит назначение командлетов, не стоит ожидать от командлетов поведения как в *nix-системах. Так, например, в PowerShell командлет Get-Content создан для вывода содержимого одного файла на экран, в то время как на *nix-системах утилита cat изначально использовалась для конкатенации (процесса соединения) нескольких файлов с последующим выводом на экран.
Очевидно, что возможности PowerShell значительно больше, чем CMD.exe. Опытный администратор знает, что некоторые задачи из таблицы можно решить в CMD.exe, несмотря на отсутствие специальных команд. Однако эти команды требуют опыта или смекалки.
Отдельно хочется отметить командлет Test-Connection, который делает то же самое, что утилита ping, но не имеет такого алиса. Разница между утилитой и командлетом в формате вывода: утилита выводит текст, а командлет возвращает объект, который можно использовать в конвейерах.
Конвейер PowerShell: особенности и параметры
По своей задумке конвейеры в PowerShell не отличаются от конвейеров в *nix-системах: они перенаправляют вывод одной команды на ввод другой. Как отмечалось ранее, в PowerShell происходит взаимодействие не с текстом, а с объектами. При выводе на экран объект трансформируется в таблицу, чтобы человеку было удобнее читать, но не всегда таблица выводит все поля объекта.
Особенность конвейеров PowerShell заключается в том, что конвейер передает результат не целиком, а по одному объекту. Командлет Test-Connection выводит четыре объекта: по одному на каждый ICMP-запрос. Если подключить командлет к конвейеру, то можно увидеть подтверждение этому тезису. Воспользуемся командлетом Select-Object, чтобы выбрать колонку со временем запроса.
Test-Connection selectel.ru | Select-Object ‘Time(ms)’
После запуска данной команды можно наблюдать, как с некоторой задержкой печатаются пустые строки по одной.
Но как же так? Дело в том, что отображение объекта при выводе на экран не всегда соответствует имени поля в объекте. Чтобы получить полный список полей в объекте, необходимо вызвать командлет Get-Member.
PS C:Userssun> Test-connection selectel.ru | Get-Member
TypeName: System.Management.ManagementObject#rootcimv2Win32_PingStatus
Name MemberType Definition
---- ---------- ----------
PSComputerName AliasProperty PSComputerName = __SERVER
Address Property string Address {get;set;}
BufferSize Property uint32 BufferSize {get;set;}
NoFragmentation Property bool NoFragmentation {get;set;}
PrimaryAddressResolutionStatus Property uint32 PrimaryAddressResolutionStatus {get;set;}
ProtocolAddress Property string ProtocolAddress {get;set;}
ProtocolAddressResolved Property string ProtocolAddressResolved {get;set;}
RecordRoute Property uint32 RecordRoute {get;set;}
ReplyInconsistency Property bool ReplyInconsistency {get;set;}
ReplySize Property uint32 ReplySize {get;set;}
ResolveAddressNames Property bool ResolveAddressNames {get;set;}
ResponseTime Property uint32 ResponseTime {get;set;}
ResponseTimeToLive Property uint32 ResponseTimeToLive {get;set;}
RouteRecord Property string[] RouteRecord {get;set;}
RouteRecordResolved Property string[] RouteRecordResolved {get;set;}
SourceRoute Property string SourceRoute {get;set;}
SourceRouteType Property uint32 SourceRouteType {get;set;}
StatusCode Property uint32 StatusCode {get;set;}
Timeout Property uint32 Timeout {get;set;}
TimeStampRecord Property uint32[] TimeStampRecord {get;set;}
TimeStampRecordAddress Property string[] TimeStampRecordAddress {get;set;}
TimeStampRecordAddressResolved Property string[] TimeStampRecordAddressResolved {get;set;}
TimestampRoute Property uint32 TimestampRoute {get;set;}
TimeToLive Property uint32 TimeToLive {get;set;}
TypeofService Property uint32 TypeofService {get;set;}
__CLASS Property string __CLASS {get;set;}
__DERIVATION Property string[] __DERIVATION {get;set;}
__DYNASTY Property string __DYNASTY {get;set;}
__GENUS Property int __GENUS {get;set;}
__NAMESPACE Property string __NAMESPACE {get;set;}
__PATH Property string __PATH {get;set;}
__PROPERTY_COUNT Property int __PROPERTY_COUNT {get;set;}
__RELPATH Property string __RELPATH {get;set;}
__SERVER Property string __SERVER {get;set;}
__SUPERCLASS Property string __SUPERCLASS {get;set;}
ConvertFromDateTime ScriptMethod System.Object ConvertFromDateTime();
ConvertToDateTime ScriptMethod System.Object ConvertToDateTime();
IPV4Address ScriptProperty System.Object IPV4Address {get=$iphost = [System.Net.Dns]:...
IPV6Address ScriptProperty System.Object IPV6Address {get=$iphost = [System.Net.Dns]:...
Можно визуально оценить список и найти поле ResponseTime. Также в начале указан тип данного объекта, Win32_PingStatus, информацию о котором можно поискать в базе знаний Microsoft. В документации не только перечислены поля, но и их назначение. Таким образом, конечный вид конвейера будет таким:
Test-connection selectel.ru | Select-Object ResponseTime
Хотя PowerShell побуждает к интерактивной работе, его основное предназначение — автоматизировать рутинные задачи. Значит, необходимо писать скрипты.
Используйте PowerShell в работе с выделенным сервером
Соберите сервер в конфигураторе под свои задачи. Или выберите из более 100 готовых.
Подобрать
Интегрированная среда разработки
Если вы запускали PowerShell через поиск, вероятно, вы могли заметить приложение Windows PowerShell ISE.
PowerShell-скрипты — это текстовые файлы с расширением .ps1.
Windows PowerShell ISE — это интегрированная среда сценариев PowerShell, включающая в себя:
- редактор PowerShell-скриптов с автодополнением,
- окно для интерактивного выполнения командлетов в скрипте,
- список доступных командлетов с поиском.
Обратите внимание, что модуль ISE предоставляет графический интерфейс для генерации аргументов командлета. Помимо генерации команд, в функции модуля также входит вызов «справочника» по командлетам, аналогичного Get-Help, только в графическом интерфейсе.
После написания своего первого PowerShell-скрипта вы столкнетесь с некоторыми ограничениями. Во-первых, файл с расширением ps1 нельзя запустить «двойным кликом» по файлу. Необходимо открыть контекстное меню с помощью правой клавиши мыши и выбрать Запустить с помощью PowerShell.
Во-вторых, скрипт не запустится со следующей ошибкой:
Невозможно загрузить файл C:UserssunDocumentsHelloWorld.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/fwlink/
?LinkID=135170.
+ CategoryInfo : Ошибка безопасности: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess
По умолчанию запуск PowerShell-скриптов ограничен соответствующей политикой безопасности. Посмотреть текущее значение политики безопасности можно с помощью командлет Get-ExecutionPolicy:
PS C:Userssun> Get-ExecutionPolicy
Restricted
Список возможных значений:
- Restricted — запуск запрещен,
- AllSigned — разрешен только запуск подписанных доверенным разработчиком скриптов,
- RemoteSigned — разрешен запуск подписанных и собственных скриптов,
- Unrestricted — разрешен запуск любых скриптов.
По умолчанию стоит значение Restricted. В идеале необходимо подписывать скрипты, но для собственных нужд можно ограничиться значением RemoteSigned:
Set-ExecutionPolicy RemoteSigned
Для выполнения данной команды необходимо запустить PowerShell от имени администратора.
Выполнение задач в фоне
PowerShell позволяет выполнять задачи в фоновом режиме, эту функциональность обеспечивают командлеты с существительным Job:
- Start-Job — запустить команду или командлет в фоновом режиме,
- Get-Job — показать состояние фоновых команд,
- Wait-Job — дождаться завершения выполнения фоновой команды,
- Receive-Job — получить результат выполнения команды.
Командлет Start-Job возвращает информацию о запущенном фоновом задании. Идентификатор, обозначенный в поле Id, является уникальным для сессии PowerShell.
Настройка удаленного выполнения
PowerShell позволяет реализовать удаленное выполнение командлетов, скриптов, но только на платформе Windows. Для включения возможности удаленного управления необходимо выполнить командлет Enable-PSRemoting с правами администратора.
Командлет Enter-PSSession запустит удаленную интерактивную сессию, а Invoke-Command выполнит команду на одном или нескольких удаленных компьютерах.
PowerShell – актуальные версии программы
PowerShell — мощный инструмент, пришедший на смену пакетным файлам. Он более функциональный и современный, а документация и различные руководства Windows PowerShell по работе делают его подходящим как для начинающих, так и продолжающих пользователей. В тексте мы составили описание PowerShell, — рассмотрели основные возможности программы, понятия, связанные с ней, синтаксис PowerShell и структуру языка.
На момент написания статьи актуальная версия PowerShell — 7.2. Используйте этот текст в качестве краткого справочника по Windows PowerShell, администрирование систем со скриптами в этой программе будет довольно простым.
description | ms.date | title |
---|---|---|
This article explains the ways of starting various versions of PowerShell. |
10/22/2021 |
Starting Windows PowerShell |
Starting Windows PowerShell
Windows PowerShell is a scripting engine .DLL
that’s embedded into multiple hosts. The most common
hosts you’ll start are the interactive command-line powershell.exe
and the Interactive Scripting
Environment powershell_ise.exe
.
To start Windows PowerShell on Windows Server 2012 R2, Windows 8.1, Windows Server
2012, and Windows 8, see
Common Management Tasks and Navigation in Windows.
PowerShell has renamed binary
PowerShell version 6 and higher uses .NET Core. Supported versions are available on Windows, macOS,
and Linux.
Beginning in PowerShell 6, the PowerShell binary was renamed pwsh.exe
for Windows and pwsh
for
macOS and Linux. You can start PowerShell preview versions using pwsh-preview
. For more
information, see About pwsh.
To find cmdlet reference and installation documentation for PowerShell 7, use the following links:
Document | Link |
---|---|
Cmdlet reference | PowerShell Module Browser |
Windows installation | Installing PowerShell on Windows |
macOS installation | Installing PowerShell on macOS |
Linux installation | Installing PowerShell on Linux |
To view content for other PowerShell versions, see How to use the PowerShell documentation.
How to Start Windows PowerShell on Earlier Versions of Windows
This section explains how to start Windows PowerShell and Windows PowerShell Integrated Scripting
Environment (ISE) on Windows 7, Windows Server 2008 R2, and Windows Server 2008. It
also explains how to enable the optional feature for Windows PowerShell ISE in Windows PowerShell
2.0 on Windows Server 2008 R2 and Windows Server 2008.
Use any of the following methods to start the installed version of Windows PowerShell 3.0, or
Windows PowerShell 4.0, where applicable.
From the Start Menu
- Click Start, type PowerShell, and then click Windows PowerShell.
- From the Start menu, click Start, click All Programs, click Accessories, click the
Windows PowerShell folder, and then click Windows PowerShell.
At the Command Prompt
In cmd.exe, Windows PowerShell, or Windows PowerShell ISE, to start Windows PowerShell, type:
You can also use the parameters of the powershell.exe
program to customize the session. For more
information, see
PowerShell.exe Command-Line Help.
With Administrative privileges (Run as administrator)
Click Start, type PowerShell, right-click Windows PowerShell, and then click Run as
administrator.
How to Start Windows PowerShell ISE on Earlier Releases of Windows
Use any of the following methods to start Windows PowerShell ISE.
From the Start Menu
- Click Start, type ISE, and then click Windows PowerShell ISE.
- From the Start menu, click Start, click All Programs, click Accessories, click the
Windows PowerShell folder, and then click Windows PowerShell ISE.
At the Command Prompt
In cmd.exe
, Windows PowerShell, or Windows PowerShell ISE, to start Windows PowerShell, type:
or
With Administrative privileges (Run as administrator)
Click Start, type ISE, right-click Windows PowerShell ISE, and then click Run as
administrator.
How to Enable Windows PowerShell ISE on Earlier Releases of Windows
In Windows PowerShell 4.0 and Windows PowerShell 3.0, Windows PowerShell ISE is enabled by default
on all versions of Windows. If it isn’t already enabled, Windows Management Framework 4.0 or Windows
Management Framework 3.0 enables it.
In Windows PowerShell 2.0, Windows PowerShell ISE is enabled by default on Windows 7. However, on
Windows Server 2008 R2 and Windows Server 2008, it’s an optional feature.
To enable Windows PowerShell ISE in Windows PowerShell 2.0 on Windows Server 2008 R2 or Windows
Server 2008, use the following procedure.
To enable Windows PowerShell Integrated Scripting Environment (ISE)
- Start Server Manager.
- Click Features and then click Add Features.
- In Select Features, click Windows PowerShell Integrated Scripting Environment (ISE).
Starting the 32-Bit Version of Windows PowerShell
When you install Windows PowerShell on a 64-bit computer, Windows PowerShell (x86), a 32-bit
version of Windows PowerShell is installed in addition to the 64-bit version. When you run Windows
PowerShell, the 64-bit version runs by default.
However, you might occasionally need to run Windows PowerShell (x86), such as when you’re using
a module that requires the 32-bit version or when you’re connecting remotely to a 32-bit computer.
To start a 32-bit version of Windows PowerShell, use any of the following procedures.
In Windows Server 2012 R2
- On the Start screen, type Windows PowerShell (x86). Click the Windows PowerShell x86
tile. - In Server Manager, from the Tools menu, select Windows PowerShell (x86).
- On the desktop, move the cursor to the upper right corner, click Search, type PowerShell
x86 and then click Windows PowerShell (x86). - Via command line, enter:
%SystemRoot%SysWOW64WindowsPowerShellv1.0powershell.exe
In Windows Server 2012
- On the Start screen, type PowerShell and then click Windows PowerShell (x86).
- In Server Manager, from the Tools menu, select Windows PowerShell (x86).
- On the desktop, move the cursor to the upper right corner, click Search, type PowerShell
and then click Windows PowerShell (x86). - Via command line, enter:
%SystemRoot%SysWOW64WindowsPowerShellv1.0powershell.exe
In Windows 8.1
- On the Start screen, type Windows PowerShell (x86). Click the Windows PowerShell x86
tile. - If you’re running
Remote Server Administration Tools for Windows
8.1, you can also open Windows PowerShell x86 from the Server ManagerTools menu. Select
Windows PowerShell (x86). - On the desktop, move the cursor to the upper right corner, click Search, type PowerShell
x86 and then click Windows PowerShell (x86). - Via command line, enter:
%SystemRoot%SysWOW64WindowsPowerShellv1.0powershell.exe
In Windows 8
- On the Start screen, move the cursor to the upper right corner, click Settings, click
Tiles, and then move the Show Administrative Tools slider to Yes. Then, type
PowerShell and click Windows PowerShell (x86). - If you’re running
Remote Server Administration Tools for
Windows 8, you can also open Windows PowerShell x86 from the Server ManagerTools menu. Select
Windows PowerShell (x86). - On the Start screen or the desktop, type PowerShell (x86) and then click Windows
PowerShell (x86). - Via command line, enter:
%SystemRoot%SysWOW64WindowsPowerShellv1.0powershell.exe