Всё о PowerShell в Windows и на Linux. Системное администрирование Windows
Как запустить PowerShell с правами администратора
Использование некоторых команд и командлетов требует повышенных прав. Примерами действий, требующих прав администратора, являются управление службами (установка, запуск, остановка, удаление) и управление пакетами (добавление и удаление провайдеров пакетов, установка и удаление пакетов).
К примеру, следующий командлет с попыткой добавить нового провайдера пакетов:
Install-PackageProvider chocolatey
Вызовет следующую ошибку:
Install-PackageProvider: Administrator rights are required to install packages in ». Log on to the computer with an account that has Administrator rights, and then try again, or install in ‘C:UsersMiAlAppDataLocalPackageManagementProviderAssemblies’ by adding «-Scope CurrentUser» to your command. You can also try running the Windows PowerShell session with elevated rights (Run as Administrator).
Скрипты PowerShell с нуля. Уроки для начинающих
Чтобы исправить эту ошибку, нужно запустить PowerShell с правами администратора.
Как запустить PowerShell с правами администратора в Windows
Рассмотрим несколько способов.
1. Запуск PowerShell с правами администратора через Меню продвинутого пользователя
Нажмите Win+x и в открывшемся меню выберите пункт «Windows PowerShell (администратор)»:
Если у вас в ОС установлено две версии PowerShell (предустановленная с Windows версия PowerShell 5, а также установленная вручную версия PowerShell 7), то таким образом откроется PowerShell 5.
2. Запуск PowerShell с правами администратора из меню Пуск
Чтобы от имени администратора открыть PowerShell 7 нажмите меню Пуск и введите в поиск «PowerShell», выберите пункт «Run as Administrator»:
3. Как запустить Windows Terminal с правами администратора в Windows
По умолчанию в Windows Terminal используется оболочка PowerShell, поэтому если запустить Terminal с правами администратора, то в нём Terminal также будет с повышенными правами.
Напомним, что терминал не входит в стандартный набор программ Windows 10 и его нужно устанавливать из Microsoft Store. В Windows 11 данная программа установлена по умолчанию.
Перейдите в меню пуск и начните писать «Terminal»:
Если вы не видите пункт «Запуск от имени администратора», то нажмите стрелочку, чтобы развернуть весь список:
Кликните на пункте «Запуск от имени администратора».
4. Как запустить PowerShell с правами администратора в командной строке
Windows Powershell: Что это и как использовать? Основные команды ️⚙️
Если у вас уже открыта консоль PowerShell с правами обычного пользователя, то прямо из неё вы можете запустить новый процесс PowerShell с повышенными правами:
Start-Process PowerShell -Verb RunAs
Эта команда запустит версию PowerShell 5 или PowerShell 6 — в зависимости от того, что у вас установлено в системе по умолчанию. Чтобы запустить последнюю версию, которую вы установили вручную, то есть PowerShell 7, выполните команду:
Start-Process pwsh -Verb RunAs
Как запустить PowerShell с правами администратора в Linux
Для запуска PowerShell с повышенными правами в Linux выполните команду с sudo:
Источник: pwsh.ru
Общие сведения о PowerShell
PowerShell — это оболочка командной строки и язык сценариев в одной системе. PowerShell был запущен в Windows для автоматизации административных задач. Теперь он работает на разных платформах и может использоваться для различных задач.
Уникальность PowerShell заключается в том, что он принимает и возвращает объекты .NET, а не текст. Эта функция упрощает подключение различных команд в конвейере.
Для чего предназначена оболочка PowerShell?
С тех пор, как PowerShell применялась только в Windows, область ее действия значительно расширилась. Он по-прежнему используется для автоматизации задач Windows, но сегодня его можно использовать для таких задач, как:
- Управление облаком. PowerShell можно использовать для управления облачными ресурсами. Например, можно получать сведения об облачных ресурсах, а также обновлять ресурсы или развертывать новые.
- CI/CD. PowerShell можно также использовать в рамках конвейера непрерывной интеграции и непрерывного развертывания.
- Автоматизация задач для Active Directory и Exchange. PowerShell можно использовать для автоматизации практически любой задачи в Windows, например создание пользователей в Active Directory и почтовых ящиков в Exchange.
Существует гораздо больше областей использования, но предыдущий список дает понять, что PowerShell удалось добиться значительного прогресса.
Кто использует PowerShell?
PowerShell — это мощный инструмент, который может помочь людям, работающим с множеством ролей. Традиционно PowerShell использовали сотрудники с ролью системного администратора, но теперь с этим средством активно работают люди, называющие себя инженерами DevOps, Cloud Ops и даже разработчиками.
Командлеты PowerShell
В состав PowerShell входят сотни предустановленных команд. Команды PowerShell называются командлетами (произносится command-lets).
Имя каждого командлета состоит из пары глагол-существительное. Например, Get-Process . Такое соглашение об именовании облегчает понимание назначения командлета. Оно также упрощает поиск нужной команды. При поиске необходимого командлета можно выполнять фильтрацию по глаголу или существительному.
Использование командлетов для изучения PowerShell
Первое знакомство с PowerShell может показаться пугающим, так как кажется, что предстоит очень многому научиться. Изучение PowerShell происходит постепенно и по мере необходимости.
PowerShell содержит командлеты, которые помогут вам открыть для себя этот инструмент. С помощью этих трех командлетов можно узнать, какие команды доступны, что они делают и с какими типами они работают.
- Get-Verb . При выполнении этой команды возвращается список глаголов, используемых в большинстве команд. Из ответа ясно, что именно делают эти глаголы. Так как большинство команд соответствуют этому соглашению об именовании, оно задает ожидания относительно того, что делает команда. Это очень удобно при выборе нужной команды, а также помогает задать имя для команды, если ее создает пользователь.
- Get-Command . Эта команда извлекает список всех команд, установленных на компьютере.
- Get-Member . Она работает с выходными данными на основе объектов и может определять объекты, свойства и методы, доступные для команды.
- Get-Help . При вызове этой команды с именем команды в качестве аргумента отображается страница справки с описанием различных частей команды.
С помощью этих команд можно узнать о PowerShell практически все, что нужно.
Команда
Глагол является важным понятием в PowerShell. Это стандарт именования, которому следует большинство командлетов. Этого стандарта должны придерживаться и вы в процессе написания собственных команд. Суть в том, что глагол означает действие, которое будет выполняться, например чтение или изменение данных. В PowerShell имеется стандартизированный список глаголов. Чтобы получить полный список всех возможных команд, выполните командлет Get-Verb :
Get-Verb
Командлет возвращает длинный список глаголов. Описание предоставляет контекст для того, для чего предназначен глагол. Вот первые несколько строк выходных данных:
Verb AliasPrefix Group Description —- ———— —— ———— Add a Common Adds a resource to a container, or attaches an item to another item Clear cl Common Removes all the resources from a container but does not delete the container Close cs Common Changes the state of a resource to make it inaccessible, unavailable, or unusab… Copy cp Common Copies a resource to another name or to another container Enter et Common Specifies an action that allows the user to move into a resource Exit ex Common Sets the current environment or context to the most recently used context .
Поиск команд с помощью командлета Get-Command
Командлет Get-Command возвращает список всех доступных команд, установленных в системе. Список, который вы получите, довольно большой. Вы можете ограничить объем возвращаемых сведений, отфильтровав ответ с помощью параметров или вспомогательных командлетов.
Фильтрация по имени
Вы можете отфильтровать выходные данные Get-Command с помощью различных параметров. Фильтрация позволяет находить команды с определенными свойствами. Параметр Name позволяет найти определенную команду по имени.
Get-Command -Name Get-Process
CommandType Name Version Source ———— —- ——- —— Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
Что делать, если вы хотите найти все команды, которые работают с процессами? Подстановочный знак * можно использовать для сопоставления с другими формами строки. Пример:
Get-Command -Name *-Process
CommandType Name Version Source ———— —- ——- —— Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Management Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management Cmdlet Start-Process 7.0.0.0 Microsoft.PowerShell.Management Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Management Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Management
Фильтрация по существительным и глаголам
Существуют и другие параметры, которые фильтруют значения глаголов и существительных.
Глагол в имени команды является ее левой частью. Глагол должен быть одним из значений, возвращаемых командлетом Get-Verb . Правая часть команды — это часть существительного. Существительное может быть любым.
-
Фильтрация по глаголу. В команде Get-Process частью глагола является Get . Чтобы выполнить фильтрацию по части глагола, используйте параметр Verb .
Get-Command -Verb ‘Get’
Get-Command -Noun U*
Кроме того, можно объединить параметры, чтобы сузить область поиска, например:
Get-Command -Verb Get -Noun U*
CommandType Name Version Source ———— —- ——- —— Cmdlet Get-UICulture 7.0.0.0 Microsoft.PowerShell.Utility Cmdlet Get-Unique 7.0.0.0 Microsoft.PowerShell.Utility Cmdlet Get-Uptime 7.0.0.0 Microsoft.PowerShell.Utility
Использование вспомогательных командлетов для фильтрации результатов
Для фильтрации результатов можно также использовать другие командлеты.
-
Select-Object . Эта универсальная команда помогает выбрать определенные свойства из одного или нескольких объектов. Вы также можете ограничить количество возвращаемых элементов. В следующем примере возвращаются значения свойств Name и Source для первых пяти команд, доступных в текущем сеансе.
Get-Command | Select-Object -First 5 -Property Name, Source
Name Source —- —— Add-AppPackage Appx Add-AppPackageVolume Appx Add-AppProvisionedPackage Dism Add-AssertionOperator Pester Add-ProvisionedAppPackage Dism
Get-Process | Where-Object
Изучение объектов с помощью Get-Member
После того как вы сможете найти нужный командлет, вы хотите узнать больше о том, какие выходные данные он создает. Командлет Get-Member отображает тип, свойства и методы объекта . Передайте выходные данные, которые требуется изучить, в командлет Get-Member .
Get-Process | Get-Member
Результат отображает возвращаемый тип как TypeName и все свойства и методы объекта . Вот фрагмент такого результата:
TypeName: System.Diagnostics.Process Name MemberType Definition —- ———- ———- Handles AliasProperty Handles = Handlecount Name AliasProperty Name = ProcessName .
С помощью параметра MemberType можно ограничить возвращаемые сведения.
Get-Process | Get-Member -MemberType Method
По умолчанию PowerShell отображает только несколько свойств. В предыдущем примере отображались Name элементы , MemberType и Definition . С помощью Select-Object можно указать свойства, которые вы хотите просмотреть. Например, требуется отобразить только Name свойства и Definition :
Get-Process | Get-Member | Select-Object Name, Definition
Поиск по типу параметра
Get-Member показал, что Get-Process возвращает объекты типа process . Параметр Get-Command ParameterType можно использовать для поиска других команд, которые принимают объекты Process в качестве входных данных.
Get-Command -ParameterType Process
CommandType Name Version Source ———— —- ——- —— Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Managem… Cmdlet Enter-PSHostProcess 7.1.0.0 Microsoft.PowerShell.Core Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Managem… Cmdlet Get-PSHostProcessInfo 7.1.0.0 Microsoft.PowerShell.Core Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Managem… Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Знание типа выходных данных команды может помочь сузить поиск связанных команд.
Источник: learn.microsoft.com
Как запустить PowerShell от имени администратора
В этой базовой инструкции подробно описано 7 способов запустить PowerShell от имени администратора, в Windows.
Запуск PowerShell с правами администратора, частая необходимость при получении доступа или изменении параметров системы.
Запуск PowerShell от имени администратора, с помощью:
- Меню Пуск
- Меню Быстрые ссылки
- Меню Файл
- Меню Поиск
- Командная строка
- PowerShell (с правами пользователя)
- Меню Выполнить
Меню Пуск
Первый способ — это запуск PowerShell от имени администратора, используя кнопку Пуск.
- Нажмите кнопку Пуск;
- В списке программ нажмите Windows PowerShell;
- Щелкните по Windows PowerShell правой клавишей мыши, выберите Дополнительно и Запуск от имени администратора.
Меню Быстрые ссылки
Второй способ — это запуск PowerShell от имени администратора, используя меню Быстрые ссылки.
- Щёлкните по кнопке Пуск правой клавишей мыши (или нажмите сочетание Windows+X);
- Нажмите Windows PowerShell (администратор).
Меню Файл
Третий способ запустить PowerShell от имени администратора — это используя меню Файл при выделении файла или папки в проводнике Windows.
- Выделите файл или папку в окне Проводника Windows;
- Щелкните по меню Файл, наведите курсор на треугольник расширенного выбора в пункте Windows PowerShell;
- Выберите Запустить Windows PowerShell от имени администратора.
Меню Поиск
Четвертый способ запуска PowerShell с правами администратора — это используя Поиск Windows из начального меню.
- Щелкните по строке Поиск на панели задач (или нажмите сочетание Windows+S);
- Введите текст PowerShell;
- Щелкните по треугольнику расширенные результаты в пункте Windows PowerShell и нажмите Запуск от имени администратора.
Запуск PowerShell от имени администратора с помощью Командной строки
Пятый способ — это запуск PowerShell от имени администратора, с помощью командной строки.
Запустите командную строку и выполните команду:
powershell «start-process powershell -verb runas»
Запуск PowerShell от имени администратора с помощью PowerShell (с правами пользователя)
Шестой способ — это запуск PowerShell от имени администратора, с помощью консоли PowerShell запущенной с правами пользователя.
Запустите консоль PowerShell и выполните команду:
start-process powershell –verb runas
Меню Выполнить
Седьмой способ — используйте меню Выполнить, для запуска Windows PowerShell с правами администратора.
Откройте меню Выполнить.
- Нажмите сочетание клавиш Windows+R (или щелкните по кнопке Пуск правой клавишей мыши, выберите Выполнить);
- Введите команду powershell;
- Нажмите сочетание клавиш Ctrl+Shift+Enter.
? В этой статье обсуждалось как запустить PowerShell с правами администратора, для запуска программ или изменения параметров системы требующих повышенных прав. Я надеюсь, вы смогли запустить консоль PowerShell с повышенными правами выбранным способом. Однако, если вы столкнулись с каким-то проблемами при запуске PowerShell, не стесняйтесь написать в комментариях. Я постараюсь помочь.
Источник: mhelp.pro