Что такое 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
1 |
Get-Help Get-Command |
Справка в Windows PowerShell может быть краткой, детальной (параметр -Detailed), полной (параметр -Full), а также можно выводить только примеры (параметр — Examples). Следующая команда покажет только примеры использования командлета Get-Command:
Get-Help Get-Command -Examples
1 |
Get-Help Get-Command -Examples |
Справка PowerShell обновляемая, т.е. ее можно обновить командой Update-Help.
Как скачать PowerShell 7 в командной строке
Разработчики PowerShell также создали скрипт, который можно вызывать непосредственно из PowerShell. Это однострочный командлет, который автоматически загружает и запускает мастер установки. Всё, что вам нужно сделать, это вставить фрагмент кода и нажать клавишу Enter.
Запустите PowerShell и скопируйте/вставьте в окно следующий командлет:
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
Нажмите клавишу Enter, и PowerShell запустит команду и начнёт загрузку.
Если вам любопытно, что именно делает указанная команда, то следующая запись может помочь вам разобраться:
Invoke-Expression "& { $(Invoke-RestMethod https://aka.ms/install-powershell.ps1) } -UseMSI"
То есть на первом этапе команда скачивает файл https://aka.ms/install-powershell.ps1, а затем запускает его.
Инструкция по открытию окна Виндовс ПоверШелл в Windows 10
В операционной системе имеется несколько способов, позволяющих открыть и использовать Windows PowerShell. Давайте рассмотрим самый простой способ в первую очередь.
- Дабы максимально быстро отобразить желаемое нами окно, мы прибегнем к способу с Пуск-ом. Наведя на него курсор, мы далее осуществим нажатие правой клавишей мышкой. Покажется достаточно длинное меню из множества пунктов, среди которых имеются и нужные нам, которых насчитывается аж две штуки.
Первый пункт открывает окно Windows PowerShell с обычными правами, а второй с правами администратора (оные требуются в обязательном порядке для выполнения некоторых команд и скриптов).
Достаточно простой и интуитивно понятный способ, не так ли? Но есть и другие…
- Далеко не все пользователи информированы о том, что команды, что предназначены для выполнения через Windows PowerShell, могут быть исполнены и в классическом окне командной строки. Давайте рассмотрим на практике, как это делается.
Открыв окно классической командной строки (как это сделать), необходимо ввести достаточно очевидную команду, дабы скриптовый интерпретатор моментально переключился на обработку PowerShell команд и скриптов. Как вы уже догадались, данной командой является:
powershell
Введя её и нажав Enter, впоследствии можно будет вводить и выполнять привычные для PowerShell команды и скриптовые сценарии.
Как открыть командную строку от имени администратора в Windows 10
Пуск
В первых версиях операционной системы Windows 10 была возможность открыть командную строку от имени администратора выбрав соответствующий пункт в контекстном меню пуск. После нескольких обновлений, а именно начиная с обновления Windows 10 версии 1703, пункт выбора командной строки был заменен на оболочку Windows PowerShell, которая обладает более широким функционалом.
Ранее мы уже рассматривали как вернуть командную строку вместо оболочки Windows PowerShell в инструкции: Как удалить PowerShell в Windows 10. После чего можно будет запустить командную строку от имени администратора используя контекстное меню кнопки пуск.
- Переходим в Пуск > Параметры > Персонализация > Панель задач.
- Дальше изменяем значение пункта Заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке Пуск на Отключено.
Теперь для запуска командной строки от имени администратора достаточно нажать правой кнопкой мыши на иконку меню пуск и выбрать пункт Командная строка (администратор). А также возможность открыть контекстное меню кнопки пуск можно используя комбинацию клавиш Win+X.
Если же оболочка Windows PowerShell Вас полностью устраивает, тогда можно запустить командную строку через Windows PowerShell от имени администратора. После запуска оболочки Windows PowerShell с правами администратора, командная строка также будет запущена в окне оболочки PowerShell с правами администратора.
- Нажимаем сочетание клавиш Win+X и в контекстном меню выбираем пункт Windows PowerShell (администратор).
- В открывшемся окне выполняем команду cmd, после чего можно будет пользоваться окном PowerShell, как командной строкой.
Поиск
Обновленный поиск позволяет быстро найти и запустить любое приложение в операционной системе Windows 10. Пользователю достаточно нажать кнопку Пуск и начать вводить название Командная строка для быстрого поиска. После чего в результатах поиска нажать правой кнопкой на классическое приложение Командная строка и в контекстном меню выбрать пункт Запуск от имени администратора.А также есть возможность закрепить командную строку на начальном экране или панели задач. Там также после открытия контекстного меню на иконке командной строке будет возможность выбрать пункт запуск от имени администратора.
Проводник
Ранее мы рассматривали как запустить программу от имени администратора Windows 10. Так как командная строка является классическим приложением, то способ с использованием проводника можно также использовать. Поэтому пользователю достаточно перейти по пути: C:\ Windows\ System32 и найти классическое приложение командной строки с названием cmd.exe. Дальше необходимо нажать правой кнопкой мыши на текущее приложение и в открывшемся контекстном меню выбрать пункт Запуск от имени администратора.
Диспетчер задач
Диспетчер задач позволяет отключать, перезапускать и создавать новые задачи. Примером отключения и повторного запуска есть перезапуск Проводника в Windows 10. Текущий способ использует окно выполнить вызываемое комбинацией клавиш Win+R, но уже с возможностью запускать классические приложения с правами администратора.
- Пользователю достаточно открыть диспетчер задач используя комбинацию Ctrl+Shift+Esc или выбрав пункт Диспетчер задач в контекстном меню панели задач.
- Дальше в открывшемся окне диспетчера задач нажать копку меню Файл > Запустить новую задачу.
- В открывшемся окне создания задачи вводим команду Cmd, и отметив пункт Создать задачу с правами администратора нажимаем кнопку ОК.
Заключение
Для запуска любых приложений и командной строки от имени администратора необходимо обладать правами администратора в операционной системе Windows 10. Если же Вы являетесь администратором устройства, тогда у Вас есть возможность открыть командную строку от имени администратора для полноценного использования.
Обратите внимание что после перехода на операционную систему Windows 10 версии 1703 и новее пункт командной строки был заменен на Windows PowerShell. Именно поэтому если Вы привыкли пользоваться командной строкой обратите внимание как вернуть командную строку вместо PowerShell в Windows 10
Как альтернатива можно выбрать другой способ как можно открыть командную строку от имени администратора в Windows 10.
Что Вам нужно знать о режиме S
Там нет возврата, поэтому подумайте, не хотите ли Вы S Mode перед переключением.
Режим S — более закрытый режим для Windows. В режиме S Ваш компьютер может устанавливать приложения только из Магазина. Это означает, что Вы можете просматривать веб-страницы только в Microsoft Edge — Вы не можете установить Chrome или Firefox. Вы даже не можете изменить поисковую систему Edge по умолчанию в S Mode, поэтому Вы застряли в Bing, хотя Вы могли бы установить Google или Яндекс как свою домашнюю страницу, если хотите. Различные инструменты разработчика, включая оболочки командной строки, такие как PowerShell и Bash, также не ограничиваются. Если Вы попытаетесь запустить программное обеспечение, которое не разрешено, Вы увидите сообщение, объясняющее, что Вам разрешено получать программное обеспечение только из Магазина.
Для многих пользователей Windows эти ограничения просто неприемлемы. Если Вам нужны приложения, недоступные в Магазине, Вы должны отключить S-режим для их запуска. Тем не менее, для людей, которые могут получить доступ с помощью только приложений из магазина, может оказаться полезным режим S.
Это связано с тем, что эти ограничения также значительно усложняют проникновение вредоносного ПО в Вашу систему. Если Вам нужен только веб-браузер, Microsoft Office и другие базовые приложения, доступные в магазине, режим S — это хорошая идея. Если Вы предоставляете ПК менее опытному пользователю, студенту или сотруднику, которому просто нужны эти основные приложения, S режим может помочь защитить этот компьютер.
Но на данный момент, давайте будем честными: большинству пользователей ПК нужна полная версия Windows 10, которая не находится в S режиме. Большинство настольных приложений Windows по-прежнему недоступны в Магазине, хотя сейчас есть некоторые крупные приложения, такие как iTunes и Spotify. Вот почему большинство ПК не входят в S режим.
Если у Вас есть устройство с Windows 10 на ARM, Вы можете оставить S-режим для запуска любого 32-разрядного настольного приложения Windows, но многие приложения будут работать очень медленно. Если Вы используете ПК с Windows 10 со стандартным чипом Intel или AMD, Вам не нужно об этом беспокоиться.
Удаленное управление на PowerShell
Windows PowerShell рассчитан не только на локальное использование, но и на удаленное выполнение команд. Данная возможность необходима, чтобы Вы могли со своего рабочего места управлять удаленными компьютерами, т.е. выполнять команды PowerShell.
Существует несколько способов удаленного управления:
- С помощью параметра –ComputerName (есть у многих команд). Другими словами Вы передаете имя компьютера, на котором необходимо выполнить команду, в качестве параметра. Способ обладает недостатком, так как ограничивается выполнением одной команды;
- С помощью сессий. Командлет Enter-PSSession (интерактивный сеанс). Таким способом Вы подключаетесь к удаленному компьютеру и все команды, которые Вы будете набирать в оболочке PowerShell, будут выполняться на удаленном компьютере так же, как если бы Вы набирали команды непосредственно на удаленном компьютере. Способ также обладает недостатком, так как сеанс ограничивается одним компьютером;
- С помощью командлета Invoke-Command. С помощью данного способа можно выполнять команды или сценарии как на одном компьютере, так и на нескольких.
Например, чтобы подключиться к удаленному компьютеру (в примере ниже ServerName) интерактивным сеансом выполните следующую команду:
Enter-PSSession ServerName
1 |
Enter-PSSession ServerName |
Как открыть PowerShell в Windows 10?
Вызвать на своем компьютере ПоверШелл удастся несколькими способами. Эта встроенная в ОС утилита может быть закреплена в Пуске, то есть в списке установленных на компьютере программ. Найти аналог командной консоли можно через Проводник, Диспетчер задач, поисковую строку и даже через службу Выполнить. В процессе поиска пользователю нужно лишь написать название утилиты на английском языке.
Из меню «Win + X»
Как самостоятельно открыть ПоверШелл, вызвав контекстное меню:
- перейти на рабочий стол;
- одновременно нажать на кнопки «Win» и «X»;
- откроется меню «Приложения и возможности»;
- отыскать в списке название утилиты на английском;
- из меню попасть в консоль ПоверШелл можно на пользовательских или администраторских правах;
выбрать нужный вариант и кликнуть по нему один раз.
Как попасть в ПоверШелл, если при нажатии на «Win» и «X» открывается командная строка:
- активировать «Параметры»;
- отыскать «Персонализация»;
- перейти в «Панель задач»;
- отыскать фразу «Заменить командную строку оболочкой WinPowerShell…»;
- переместить переключатель в позицию «Вкл.»;
- вернуться на рабочий стол;
- еще раз нажать на «Win» и «X».
С помощью поиска
Как самостоятельно запустить ПоверШелл (через «Поиск»):
- в поисковой строке Виндовс написать: PowerShell;
- выполнить ввод;
- на дисплее отобразится результат поиска, то есть искомое приложение;
- если кликнуть по названию левой кнопкой мыши, то утилита запустится на правах пользователя;
- если кликнуть по названию правой кнопкой мыши, то всплывет окошко со списком действий;
- можно запустить утилиту на администраторских правах или открыть папку;
- при желании значок этого приложения разрешается закрепить на виндовской панели задач.
Из Проводника
Как самостоятельно вызвать утилиту (используя Проводник Виндовс 10):
- выполнить активацию Проводника;
- в поисковую строчку ввести название (на английском);
- на дисплее появится искомое приложение.
Еще один способ вызова ПоверШелл (используя Проводник):
- активировать виндовский Проводник;
- отыскать папку с названием утилиты (на английском);
- обычно ПоверШелл находится: C:\Windows\System32\WindowsPowerShell\v1.0 или C:\Windows\syswow64\Windowspowershell\v1.0;
через «Файл», или используя правую клавишу мыши, открыть найденное приложение в нужном режиме (на пользовательских или администраторских правах).
Дополнительные и универсальные методы запуска оболочки
Как самостоятельно активировать утилиту через Пуск:
- перейти в Пуск;
- откроется список всех установленных на ПК программ;
- отыскать название утилиты (на английском);
- запустить в нужном режиме (на пользовательских или администраторских правах).
Как вызвать ПоверШелл из консоли Выполнить:
- активировать Выполнить;
- в строчке «Открыть» написать символы: «powershell»;
нажать на «ОК».
Как самостоятельно открыть утилиту из командной строки:
- вызвать консоль (на администраторских правах);
- в окошке написать символы: «powershell»;
- кликнуть на «Enter»;
- оболочка утилиты запустится в интерфейсе вызванной командной консоли.
Как вызвать приложение (через Диспетчер задач):
активировать на своем ПК «Диспетчер…»;
- отыскать вверху подраздел «Файл»;
- в меню «Файл» активировать «Запустить новую задачу»;
- появится всплывающее окошко «Создание задачи»;
- в строчке «Открыть» написать символы: «powershell»;
- если нужно, поставить галочку возле опции «Создать задачу с администраторскими правами»;
- кликнуть на «ОК».
Что такое Windows PowerShell?
Прежде чем мы углубимся в PowerShell, давайте сначала ответим на другой вопрос: «Что такое оболочка?»
Оболочка — это компьютерная программа, которая принимает команды с клавиатуры, интерпретирует их и передает их операционной системе для выполнения. По сути, он действует как интерфейс между вами и операционной системой. Он может быть основан на графическом интерфейсе пользователя (GUI ) или может быть построен поверх CLI (интерфейса командной строки).
Хотя оболочка существует с момента выпуска операционной системы Multics в 1969 году, Windows представила ее версию, Shell, в ноябре 1985 года. Это была базовая оболочка, которая была полезна для управления файлами и называлась MS-DOS Executive. Затем последовала разработка этой базовой оболочки, но всегда требовалось что-то более мощное.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Ранее в истории Windows пользователи прибегали к использованию различных инструментов для системного администрирования и автоматизации. В 2006 году в качестве решения было представлено серьезное усовершенствование концепции оболочки: Windows PowerShell.
Windows PowerShell позволяет выполнять различные операции, от автоматизации повторяющихся задач, сетевого администрирования и т. Д. До задач, требующих большего внимания и творчества (например, публикация контента веб-сайтов, проектирование и т. Д.).
Это не только экономит ваше время, но также дает вам больший контроль над операционной системой и ее процессами.
Что такое командлет PowerShell?
Теперь, когда вы знакомы с PowerShell, давайте рассмотрим один из наиболее важных аспектов PowerShell: командлет .
Командлеты (произносится как command-let) — это легкие и эффективные команды Windows PowerShell. Они существуют как строительные блоки, которые вы можете использовать для выполнения определенных действий, таких как копирование и перемещение файлов, или как часть более крупного и более сложного сценария PowerShell.
Get-Help Командлет, например, является наиболее полезным Командлет как это позволяет увидеть , что делает конкретный Командлет, посмотрите на его параметры, и показать различные способы , в которых используется командлет.
Подобно Get-Help , Get-Command — это еще один командлет, который можно использовать для устранения различных проблем из оболочки. В частности, он показывает все команды, установленные в вашей системе. Отображаемые команды включают командлеты, функции, псевдонимы, фильтры, сценарии и приложения. При использовании с параметрами он покажет вам все конкретные команды, связанные с этим параметром.
Например, следующая команда захватит команды всех типов, доступных на вашем локальном компьютере, и отобразит их:
С другой стороны, Get-Command с параметром ListImported будет получать команды только из текущих сеансов.
Получите ли Вы Windows 10 Home или Professional
Windows 10 в режиме S — это особый режим обычных, существующих сборок Windows 10. Так, например, Ваш компьютер либо поставляется с Windows 10 Home в S режиме, либо Windows 10 Professional в режиме S. Когда Вы выходите из S режима, Вы будете использовать стандартную версию Windows 10 Home или Windows 10 Professional, в зависимости от того, с какой версией появился Ваш компьютер.
Если у Вас Windows 10 Home и Вы хотите Windows 10 Professional, Вы должны заплатить за обновление. Это даст Вам профессиональные функции, такие как полный набор инструментов шифрования диска BitLocker.
Для предприятий, использующих Windows 10 Enterprise в S режиме или Windows 10 Education в S режиме, выйдя из S-режима, компьютер предоставит стандартную операционную систему Windows 10 Enterprise или Education.
guidepc.ru
Работа с объектами WMI
WMI (Windows Management Interface, интерфейс управления Windows) — набор интерфейсов для управления ОС Windows с помощью специальных компонентов. Возможно управление локальным компьютером, и находящимся в сети. WMI — разновидность Web-Based Enterprise Management (WBEM) и Common Information Model (CIM), разработанная Microsoft. Входит в состав Windows Vista, Windows Server 2003, Windows XP, Windows Me и Windows 2000. Для Windows 95 и Windows 98 доступна в виде отдельно устанавливаемого компонента. Поддерживает использование скриптовых языков, таких как VBScript или Windows PowerShell для управления персональными компьютерами и серверами, работающими под управлением Microsoft Windows.
Объекты WMI являются для PowerShell вполне «родными». Достаточно выполнить команду:
чтобы увидеть большое количество классов, обеспечивающих доступ к объектам WMI в оболочке. В случае подключения к WMI на удаленном компьютере, состав классов будет зависеть от ОС и установленных на нем расширений WMI. Для получения сведений о доступных классах на удаленной машине, необходимо указать его IP-адрес или имя в качестве параметра:
Для успешного подключения на удаленном компьютере должен быть запущен интерфейс WMI, а используемая учетная запись должна входить в группу локальных администраторов.
Если не использовать специальное указание, некоторые сведения не выводятся, видимо из соображений «не захламлять экран». Для получения более детальной информации можно воспользоваться командами форматирования и отбора данных.
А вот небольшой пример опроса всех компьютеров в локальной сети с адресом 192.168.1.0 и маской подсети 255.255.255.0:
В первом элементе конвейера генерируется массив чисел от 1 до 254. На втором этапе каждое число из массива подставляется в IP-адрес, который будет пинговаться при помощи средств WMI. Результаты будут выводиться в таблицу с тремя столбцами — адрес хоста, время отклика и статус ответа. В случае ответа хоста возвращается статус с кодом «0».
Работа в PowerShell ISE
Терминал PowerShell удобен для выполнения небольших коротких однострочных задач. Чтобы создавать и сохранять сложные скрипты, есть интегрированная среда сценариев.
Скриншот: Skillbox Media
Важно!
PowerShell ISE предназначен для версий языка 5.1 и младше. Для более старших версий Microsoft рекомендует использовать Visual Studio Code с расширением PowerShell.
PowerShell ISE состоит из трёх основных окон:
- область сценариев в верхней части экрана — в ней пишут скрипты;
- область консоли в нижней части экрана — работает так же, как обычный терминал, здесь можно писать команды в интерактивном режиме;
- панель команд в правой части экрана — полный справочник команд PowerShell с конструктором, в котором можно указать значения нужных параметров.
Комментарии в коде
PowerShell позволяет вставлять в код комментарии. Они никак не влияют на выполнение скрипта и нужны людям, которые будут читать вашу программу. Однострочный комментарий начинается с символа #, а многострочный обрамляется с двух сторон символами <# и #>.
Скриншот: Skillbox Media
Правила хорошего кода
Любой код чаще читают, чем пишут, и важно делать его понятным для человека. Разработчики PowerShell договорились между собой о едином своде правил и выпустили стайлгайд
Вот несколько правил оттуда.
Используйте нотацию PascalCase в названиях командлетов, функций, параметров, свойств, методов, переменных и классов. Неправильно писать: get-service, Get-service, GET-SERVICE. Правильно: Get-Service.
Пишите полные названия командлетов. Алиасы удобны для работы в интерактивном режиме, но в скриптах могут затруднять чтение команд. Неправильно: dir, gci, ls. Правильно: Get-ChildItem.
One True Brace Style при оформлении вложенности. Если вы где-то используете фигурные скобки, то код внутри них отбивается табуляцией (четыре пробела), а сами скобки ставятся так:
Исключение из прошлого правила — когда код в фигурных скобках совсем небольшой, его можно записать в одну строку. Например:
Комментируйте код. Так будет гораздо проще разобраться, что он делает и как работает. Причём как другому человеку, так и вам самим через полгода.
Запуск скриптов
В PowerShell ISE можно выполнить код целиком или частично, есть инструменты отладки. Скрипты сохраняются в файлах с расширением .ps1. Но запустить их двойным кликом не получится — нужно нажать правую кнопку мыши и в появившемся окне выбрать Выполнить с помощью PowerShell.
Также запустить скрипт можно из оболочки. Например, в каталоге C:\Scripts есть файл test_script.ps1. Выполнить его можно:
- командой PowerShell -File C:\Scripts\test_script.ps1, запущенной из любого места;
- командой .\test_script.ps1, запущенной, когда вы находитесь в каталоге C:\Scripts.
Политика выполнения
По умолчанию запускать любые файлы с PowerShell-скриптами запрещено. Сделано это в целях безопасности. Узнать нынешнюю политику выполнения можно с помощью командлета Get-ExecutionPolicy. Вот какая она может быть:
- Restricted (установлена по умолчанию) — запрещено запускать любые скрипты.
- AllSigned — разрешено запускать только скрипты, которые были подписаны доверенным разработчиком.
- RemoteSigned — разрешено запускать подписанные доверенным разработчиком и собственные скрипты.
- Unrestricted — разрешено запускать любые скрипты.
Чтобы ваши ps1-файлы запускались, нужно заменить политику выполнения на RemoteSigned. Для этого откройте PowerShell от имени администратора и выполните команду:
Чтобы подтвердить действие, введите y.
Сценарии, функции и модули в Windows PowerShell
Если Вы написали некий алгоритм, скорей всего Вы захотите сохранить его, для того чтобы в дальнейшем им пользоваться. В Windows PowerShell для этих целей существует механизм использования сценариев.
Суть данного механизма следующая, Вы пишите нужный Вам набор команд и сохраняете его в качестве сценария — это простой текстовый файл с расширением .PS1.
Затем, для того чтобы выполнить этот сценарий, Вы просто запускаете его в оболочке PowerShell. При этом Вам необходимо либо указать полный путь к файлу сценария, либо перейти в каталог со сценарием и вызвать его по имени.
Важно!
По умолчанию выполнение сценариев в Windows запрещено! Для того чтобы посмотреть политику выполнения сценариев выполните командлет Get-ExecutionPolicy. В результате он вернет действующую политику, например:
- Restricted – блокируется выполнение любых сценариев (значение по умолчанию);
- AllSigned – разрешено выполнение сценариев, которые имеют цифровую подпись;
- RemoteSigned – разрешено выполнение локальных сценариев, все скачанные сценарии должны иметь цифровую подпись;
- Unrestricted — разрешено выполнение любых сценариев (не рекомендуется, так как небезопасно!).
Для разрешения выполнения сценариев необходимо использовать командлет Set-ExecutionPolicy с одним из вышеперечисленных параметров.
Например, для разрешения выполнения локальных сценариев выполним следующую команду, и согласимся с внесением изменений, нажав Y.
Set-ExecutionPolicy RemoteSigned
1 |
Set-ExecutionPolicy RemoteSigned |
В сценарии можно передавать параметры, делать их обязательными или задавать значение по умолчанию.
В Windows PowerShell предусмотрен механизм создания собственных функций, которые также как и встроенные командлеты можно будет использовать в оболочке PowerShell.
Для этого необходимо указать ключевое слово Function и затем в фигурных скобках {} написать алгоритм работы этой функции, т.е. набор команд (например, какая-нибудь часто используемая процедура: создать пользователя с определенными правами, очистить определенные каталоги и так далее). Потом необходимо сохранить все это в сценарий, но только уже с расширением .psm1, так как этот файл будет являться уже модулем.
Это еще не все, этот файл необходимо поместить в каталог, в котором PowerShell ищет модули. Таких каталогов несколько (специальный каталог в профиле пользователя, каталог, где установлен PowerShell), их можно посмотреть в переменных окружения PowerShell. Для этого выполните следующую команду
Get-ChildItem Env:\PSModulePath | Format-Table -AutoSize
1 |
Get-ChildItem Env\PSModulePath | Format-Table -AutoSize |
После того как Вы поместите написанный Вами модуль в специальный каталог, Вы сможете обращаться к своим функциям как к обычным командам PowerShell.
9. Create a Command Prompt/PowerShell Desktop Shortcut
If you like using shortcuts, then you can create ones for the Command Prompt and PowerShell. This will help you access these tools with just a single mouse click!
To get started, here’s how you can create a shortcut for the Command Prompt:
- Press Win + D to head straight to the Desktop.
- Right-click on a blank space on the Desktop, select New from the context menu, and then select Shortcut.
- Type C:\Windows\System32\cmd.exe in the location box. Click Next to continue.
In the next window, type a suitable name for this shortcut. You can rename it as Command Prompt shortcut or anything similar. Click Finish to finalize the process.
To pin this shortcut to the taskbar, right-click on it and select Pin to taskbar.
Now, here’s how you can create a shortcut for PowerShell:
- Navigate to the Desktop as per the previous steps.
- Right-click on a blank space on the Desktop, select New, and then select Shortcut.
- Type C:\Windows\System32\powershell.exe in the location box. Click Next to continue.
- In the next window, type a suitable name such as PowerShell shortcut or anything similar. Click Finish to complete the process.
Finally, pin the shortcut to the taskbar as per the previous steps. Now, you can easily access the Command Prompt or PowerShell by clicking their icons on the taskbar.
Параметры
Строго говоря, следуя духу единообразного именования в PowerShell, все передаваемые командлету имена параметров должны следовать за символом «-». Однако для простоты написания названия некоторых параметров можно опускать. Например, для вызова справки по командлету Get-Content вместо полного указания
можно ввести команду
Параметр может иметь какое-либо значение (в только что приведенном примере значением параметра name являлось ) или не иметь его. В этом случае он является аналогом переключателя какой-либо функциональности команды. Например, если необходимо получить полную информацию о командлете , введите
Как запустить PowerShell?
В производственной среде предприятия, которую я поддерживаю, я работаю с тремя разными учетными записями пользователей Active Directory. В лабораторной среде в этой книге используются зеркальные экземпляры этих учетных записей. Я вошел на компьютер с Windows 10 в качестве пользователя домена, который не является администратором домена или локальным администратором.
Я запустил консоль PowerShell, щелкнув ярлык Windows PowerShell, как показано на рис. 1-1.
Обратите внимание, что в строке заголовка консоли PowerShell указано «Windows PowerShell», как показано на рис. 1-4
Некоторые команды выполняются нормально, но PowerShell не поддерживает управление доступом пользователей (UAC). Это означает, что оболочка не может запрашивать повышение прав для задач, требующих утверждения администратором.
Выдается следующее сообщение об ошибке.
Решение этой проблемы заключается в запуске PowerShell от имени пользователя домена, который является локальным администратором.
Именно так настроена моя вторая учетная запись пользователя домена. Используя принцип минимальных привилегий, эта учетная запись НЕ должна быть администратором домена или иметь повышенные привилегии в домене.
Закройте PowerShell. Перезапустите консоль PowerShell, только на этот раз щелкните правой кнопкой мыши ярлык Windows PowerShell и выберите пункт Запуск от имени администратора, как показано на рис. 1-5.
Если вы выполнили вход в Windows в качестве обычного пользователя, вам будет предложено ввести учетные данные. Я буду вводить учетные данные учетной записи пользователя, которая является пользователем домена и локальным администратором, как показано на рис. 1-6.
После повторного запуска PowerShell с правами администратора в строке заголовка должно быть указано «Администратор: Windows PowerShell», как показано на рис. 1-7.
Теперь, когда PowerShell работает с повышенными привилегиями локального администратора, управление доступом пользователей больше не будет проблемой в случае запуска на локальном компьютере команды, для выполнения которой обычно требуется запрос на повышение прав. Следует иметь в виду, что любая команда, выполняемая из этого экземпляра консоли PowerShell с повышенными привилегиями, также запускается с повышенными привилегиями.
Чтобы упростить поиск PowerShell и запускать оболочку от имени администратора, рекомендуется закрепить ее на панели задач и настроить автоматический запуск от имени администратора при каждом запуске.
Еще раз выполните поиск PowerShell, только на этот раз щелкните ее правой кнопкой мыши и выберите пункт «Закрепить на панели задач», как показано на рис. 1-8.
Щелкните правой кнопкой мыши ярлык PowerShell, который теперь закреплен на панели задач, и выберите пункт «Свойства», как показано на рис. 1-9.
Щелкните «Дополнительно», как показано в первой части рис. 1-10, установите флажок «Запуск от имени администратора», как показано во второй части рис. 1-10, а затем дважды нажмите кнопку OK, чтобы принять изменения и выйти из обоих диалоговых окон.
Вам больше никогда не придется беспокоиться о поиске PowerShell или о том, запущена ли оболочка от имени администратора или нет.
Запуск PowerShell с повышенными привилегиями для предотвращения проблем, связанных с управлением доступом пользователей, влияет только на команды, выполняемые на локальном компьютере. Он не влияет на команды, предназначенные для запуска на удаленных компьютерах.