Windows powershell по умолчанию

Содержание
  1. HackWare.ru
  2. Этичный хакинг и тестирование на проникновение, информационная безопасность
  3. Настройка рабочего окружения PowerShell в Windows и Linux
  4. Отличия PowerShell и CMD в Windows
  5. Как установить PowerShell в Linux
  6. Установка PowerShell в Kali Linux
  7. Установка PowerShell в Arch Linux, BlackArch
  8. Как запустить скрипт PowerShell в Windows
  9. Запуск скрипта с помощью Import-Module
  10. Как запустить скрипт PowerShell в Linux
  11. Как получить справку по командам в PowerShell
  12. Как обновить PowerShell до последней версии
  13. Адаптация скриптов PowerShell для Linux
  14. Задать вопрос по PowerShell
  15. Запуск Windows PowerShell Starting Windows PowerShell
  16. В PowerShell Core есть переименованный двоичный файл PowerShell Core has renamed binary
  17. Запуск Windows PowerShell в более ранних версиях Windows How to Start Windows PowerShell on Earlier Versions of Windows
  18. Из меню «Пуск» From the Start Menu
  19. В командной строке At the Command Prompt
  20. С правами администратора (Запуск от имени администратора) With Administrative privileges (Run as administrator)
  21. Запуск интегрированной среды сценариев Windows PowerShell в более ранних версиях Windows How to Start Windows PowerShell ISE on Earlier Releases of Windows
  22. Из меню «Пуск» From the Start Menu
  23. В командной строке At the Command Prompt
  24. С правами администратора (Запуск от имени администратора) With Administrative privileges (Run as administrator)
  25. Включение интегрированной среды сценариев Windows PowerShell в более ранних версиях Windows How to Enable Windows PowerShell ISE on Earlier Releases of Windows
  26. Включение интегрированной среды сценариев Windows PowerShell Windows PowerShell (ISE) To enable Windows PowerShell Integrated Scripting Environment (ISE)
  27. Запуск 32-разрядной версии Windows PowerShell Starting the 32-Bit Version of Windows PowerShell

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Настройка рабочего окружения PowerShell в Windows и Linux

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

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

PowerShell имеет богатые возможности, активно развивается, портирован на Linux, имеет огромную справку, которая также активно поддерживается и развивается. Эта статья посвящена не языку PowerShell, а настройке рабочего окружения для поддержки PowerShell и запуску скриптов — хотя PowerShell предустановлен в каждую Windows, свои особенности (трудности) есть даже там. Проще говоря, эта статья посвящена не тому, как написать свою первую программу «Hello, World!» на PowerShell, а тому, как запустить готовую программу «Hello, World!» в PowerShell.

Отличия PowerShell и CMD в Windows

В Windows PowerShell уже давно устанавливается по умолчанию.

Чтобы открыть PowerShell, нажмите Win+x и выберите Windows PowerShell (администратор):

В приглашении командной строки вы увидите PS и текущую рабочую директорию:

Чтобы открыть CMD нужно нажать Win+r, напечатать cmd и нажать ENTER:

Приглашение командной строки CMD выглядит так:

В CMD можно запустить:

  • утилиты командной строки Windows
  • встроенные функции CMD
  • файлы .bat

В PowerShell можно запустить всё то же самое, что и в CMD, а также дополнительно:

  • команды языка PowerShell
  • скрипты PowerShell

В PowerShell сработает такая простая команда как dir:

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

А если попытаться выполнить эту команду с опцией, например:

То в CMD она сработает, а в PowerShell завершится ошибкой.

Дело в том, что вместо реализации таких же утилит как в CMD, в PowerShell используются собственные командлеты, работа которых различается, например, выводом или поддержкой опций. В PowerShell сработают команды cd, ls, dir, cat, man, kill, mount, move, sort, pwd, wget, curl и другие, знакомые по Linux, но это НЕ ОЗНАЧАЕТ что эти команды поддерживают те же самые опции, что и опции в Linux. Это просто аналоги, причём довольно грубые. Точнее говоря, это псевдонимы команд PowerShell. Полный список псевдонимов вы можете просмотреть командой:

Как установить PowerShell в Linux

PowerShell работает также и в Linux, но некоторые команды PowerShell отсутствуют в Linux. При запуске скриптов PowerShell в Linux возникнут проблемы в следующих случаях:

  • в скрипте используются команды, которые отсутствуют в Linux версии PowerShell (например, из-за того, что связаны с настройками Windows или неприменимы для Linux по другим причинам)
  • скрипт обращается к переменным окружения Windows
  • в скрипте используются утилиты Windows, отсутствующие в Linux
Читайте также:  Intel matrix storage manager windows 2012

Могут быть и другие причины проблем, но много всё равно работает.

Многие дистрибутивы Linux поддерживаются официально и простые инструкции по установке PowerShell в свой дистрибутив, а также установочные файлы вы найдёте здесь: Как установить PowerShell в Linux.

Установка PowerShell в Kali Linux

PowerShell добавлен в стандартные репозитории Kali Linux, поэтому установка очень простая:

Установка PowerShell в Arch Linux, BlackArch

Чтобы узнать версию PowerShell выполните команду:

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

Для запуска скрипта с расширением .ps1 нужно открыть консоль PowerShell и затем указать полный путь до файла. Вы также можете перейти в папку со скриптом либо с помощью команды cd, либо, если вы хотите полностью окунуться в стиль PowerShell, то можете использовать Set-Location.

Например, мне нужно перейти в папку C:\Users\Администратор\Downloads\WinPwn-master\:

Если вы просто попытаетесь запустить скрипт, то почти наверняка столкнётесь с ошибкой, что запуск скриптов запрещён. Для исправления ошибки выполните команду:

Запуск скрипта с помощью Import-Module

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

Например для запуска WinPwn нужно вначале импортировать файл с функциями:

А после этого можно вызывать содержащиеся в файле функции:

Как запустить скрипт PowerShell в Linux

В Linux для вызова консоли PowerShell нужно набрать:

Затем в консоли PowerShell либо просто запустите желаемый скрипт:

Либо запустите функцию после импорта файла с помощью Import-Module. Пример запуска через импорт одной из функции Invoke-TheHash:

Как получить справку по командам в PowerShell

Если вы хотите получить справку по опциям функции, команды или программы в PowerShell, то используйте команду Get-Help, после которой укажите другую команду, по которой вы хотите получить справку:

Для получения справки по Set-Location:

Для получения справки по Invoke-SMBEnum (после импорта функции из файла):

Как обновить PowerShell до последней версии

По умолчани в Windows 10 предустановлена версия PowerShell 5, но в настоящее время последней версией является PowerShell 7. Чтобы обновиться до последней версии смотрите статью «Как установить PowerShell 7 в Windows 10». Обратите внимание, что PowerShell 7 не заменит PowerShell 5. То есть в системе будут доступны обе версии PowerShell.

Адаптация скриптов PowerShell для Linux

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

В Invoke-TheHash есть функция Invoke-SMBEnum, которая выполняет перечисление пользователей, групп, сетевых сессий и совместных ресурсов. В Windows эта функция работает отлично. Попробую использовать её в Linux.

Запускаю консоль PowerShell:

Перехожу в папку с уже скаченными скриптами:

Импортирую файл с нужной функцией:

И получаю ошибку «Cannot find path ‘computername’ because it does not exist.», она означает, что не получается найти путь computername (имя компьютера), т. к. путь не существует. Ошибка возникла в этой строке:

Если попытаться выполнить отдельно команду из этой строки:

то она вызовет эту же самую ошибку:

Можно предположить (лучше посмотреть в справке, но мне лень туда лезть), что env имеет отношение к переменным окружения, а computername — это имя переменной, которая содержит (как следует из названия) имя компьютера. Судя по всему, в Linux эта переменная окружения не существует.

Самое простое решение — прописать это имя вручную. Для этого открываю файл Invoke-SMBEnum.ps1 текстовым редактором, нахожу там строку

И меняю её на такую строку:

То есть я просто прописал имя компьютера вместо получения его с помощью функции.

Важно помнить, что после импорта функция будет считываться не из файла, который я изменил, а из памяти. Поэтому чтобы PowerShell увидел сохранённые в файле изменения, нужно заново выполнить импорт файла — для этого пришлось закрыть (CTRL+d) и открыть заново PowerShell:

И после этого вновь запускаю команду:

В этот раз команда сработала.

  • после внесения изменений в файл нужно заново его импортировать (возможно, даже перезайти в PowerShell)
  • некоторые проблемы с запуском скриптов PowerShell в Linux достаточно просто решить самостоятельно

Задать вопрос по PowerShell

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

Читайте также:  Cisco anyconnect mac os не подключается

Запуск Windows PowerShell Starting Windows PowerShell

Windows PowerShell — это обработчик скриптов .DLL , который внедрен в несколько узлов. Windows PowerShell is a scripting engine .DLL that’s embedded into multiple hosts. Самый распространенный запускаемый узел — интерактивная командная строка powershell.exe и интерактивная среда скриптов powershell_ise.exe . The most common hosts you’ll start are the interactive command-line powershell.exe and the Interactive Scripting Environment powershell_ise.exe .

Информацию о запуске Windows PowerShell® в Windows Server® 2012 R2, Windows® 8.1, Windows Server 2012 и Windows 8 см. в статье Общие задачи управления и навигации в Windows. 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 Core есть переименованный двоичный файл PowerShell Core has renamed binary

PowerShell Core, или PowerShell, имеет версию 6 и выше с открытым исходным кодом и использует .NET Core. PowerShell Core, referred to as PowerShell, is version 6 and higher that’s open source and uses .NET Core. Поддерживаемые версии доступны в Windows, macOS и Linux. Supported versions are available on Windows, macOS, and Linux.

Начиная с PowerShell 6 двоичный файл PowerShell был переименован в pwsh.exe для Windows и pwsh для macOS и Linux. Beginning in PowerShell 6, the PowerShell binary was renamed pwsh.exe for Windows and pwsh for macOS and Linux. Вы можете запустить предварительную версию PowerShell с помощью pwsh-preview . You can start PowerShell preview versions using pwsh-preview . Дополнительные сведения см. в разделе Новые возможности в PowerShell Core 6.0 и Сведения о pwsh. For more information, see What’s New in PowerShell Core 6.0 and About pwsh.

Чтобы найти справку по командлетам и документацию по установке для PowerShell 7, воспользуйтесь следующими ссылками: To find cmdlet reference and installation documentation for PowerShell 7, use the following links:

Документ Document Ссылка Link
Справка по командлетам Cmdlet reference Обозреватель модулей PowerShell PowerShell Module Browser
Установка в Windows Windows installation Установка PowerShell Core в Windows Installing PowerShell Core on Windows
Установка в macOS macOS installation Установка PowerShell Core в macOS Installing PowerShell Core on macOS
Установка в Linux Linux installation Установка PowerShell Core в Linux Installing PowerShell Core on Linux

Сведения о других версиях PowerShell см. в документации по использованию PowerShell. To view content for other PowerShell versions, see How to use the PowerShell documentation.

Запуск Windows PowerShell в более ранних версиях Windows How to Start Windows PowerShell on Earlier Versions of Windows

В этом разделе объясняется, как запустить Windows PowerShell и интегрированную среду скриптов Windows PowerShell (ISE) в Windows® 7, Windows Server® 2008 R2 и Windows Server® 2008. 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. Кроме того, здесь поясняется, как включить дополнительный компонент Windows PowerShell ISE в Windows PowerShell 2.0 в ОС Windows Server® 2008 R2 и 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.

Используйте любой из следующих методов для запуска установленной версии Windows PowerShell 3.0 или Windows PowerShell 4.0, где это возможно. 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

  • Нажмите кнопку Пуск , введите PowerShell и выберите Windows PowerShell. Click Start , type PowerShell , and then click Windows PowerShell.
  • В меню Пуск выберите Пуск , Все программы , Стандартные , откройте папку Windows PowerShell и щелкните 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

В cmd.exe , Windows PowerShell или интегрированной среде сценариев Windows PowerShell для запуска Windows PowerShell введите следующее: In cmd.exe , Windows PowerShell, or Windows PowerShell ISE, to start Windows PowerShell, type:

Можно также использовать параметры программы powershell.exe для настройки сеанса. You can also use the parameters of the powershell.exe program to customize the session. Дополнительные сведения см. в статье Справка по командной строке PowerShell.exe. For more information, see PowerShell.exe Command-Line Help.

С правами администратора (Запуск от имени администратора) With Administrative privileges (Run as administrator)

Нажмите кнопку Пуск , введите PowerShell , щелкните правой кнопкой мыши Windows PowerShell и выберите пункт Запуск от имени администратора. Click Start , type PowerShell , right-click Windows PowerShell , and then click Run as administrator.

Запуск интегрированной среды сценариев Windows PowerShell в более ранних версиях Windows How to Start Windows PowerShell ISE on Earlier Releases of Windows

Используйте один из следующих методов для запуска интегрированной среды сценариев Windows PowerShell. Use any of the following methods to start Windows PowerShell ISE.

Из меню «Пуск» From the Start Menu

  • Нажмите кнопку Пуск , введите Интегрированная среда сценариев и выберите Интегрированная среда сценариев Windows PowerShell. Click Start , type ISE , and then click Windows PowerShell ISE.
  • В меню Пуск выберите Пуск , Все программы , Стандартные , откройте папку Windows PowerShell и щелкните Интегрированная среда сценариев Windows PowerShell. 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

В cmd.exe , Windows PowerShell или интегрированной среде сценариев Windows PowerShell для запуска Windows PowerShell введите следующее: In cmd.exe , Windows PowerShell, or Windows PowerShell ISE, to start Windows PowerShell, type:

С правами администратора (Запуск от имени администратора) With Administrative privileges (Run as administrator)

Нажмите кнопку Пуск , введите Интегрированная среда сценариев , щелкните правой кнопкой мыши Интегрированная среда сценариев Windows PowerShell и выберите пункт Запуск от имени администратора. Click Start , type ISE , right-click Windows PowerShell ISE , and then click Run as administrator.

Включение интегрированной среды сценариев Windows PowerShell в более ранних версиях Windows How to Enable Windows PowerShell ISE on Earlier Releases of Windows

При использовании Windows PowerShell 4.0 и Windows PowerShell 3.0 интегрированная среда сценариев Windows PowerShell по умолчанию включена во всех версиях Windows. In Windows PowerShell 4.0 and Windows PowerShell 3.0, Windows PowerShell ISE is enabled by default on all versions of Windows. Если она еще не включена, Windows Management Framework 4.0 или Windows Management Framework 3.0 включает ее. If it isn’t already enabled, Windows Management Framework 4.0 or Windows Management Framework 3.0 enables it.

При использовании Windows PowerShell 2.0 интегрированная среда сценариев Windows PowerShell по умолчанию включена в Windows 7. In Windows PowerShell 2.0, Windows PowerShell ISE is enabled by default on Windows 7. В Windows Server 2008 R2 и Windows Server 2008 эта функция является дополнительной. However, on Windows Server 2008 R2 and Windows Server 2008, it’s an optional feature.

Чтобы включить интегрированную среду сценариев Windows PowerShell для Windows PowerShell 2.0 в Windows Server 2008 R2 или Windows Server 2008, выполните указанные ниже действия. To enable Windows PowerShell ISE in Windows PowerShell 2.0 on Windows Server 2008 R2 or Windows Server 2008, use the following procedure.

Включение интегрированной среды сценариев Windows PowerShell Windows PowerShell (ISE) To enable Windows PowerShell Integrated Scripting Environment (ISE)

  1. Запустите диспетчер серверов. Start Server Manager.
  2. Щелкните Компоненты и выберите Добавить компоненты. Click Features and then click Add Features.
  3. В меню «Выберите компоненты» щелкните интегрированную среду сценариев Windows PowerShell. In Select Features, click Windows PowerShell Integrated Scripting Environment (ISE).

Запуск 32-разрядной версии Windows PowerShell Starting the 32-Bit Version of Windows PowerShell

При установке Windows PowerShell на 64-разрядном компьютере в дополнение к 64-разрядной версии устанавливается Windows PowerShell (x86) — 32-разрядная версия 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. При открытии Windows PowerShell по умолчанию запускается 64-разрядная версия. When you run Windows PowerShell, the 64-bit version runs by default.

Однако в некоторых случаях нужно запустить Windows PowerShell (x86) , например при использовании модуля, которому требуется 32-разрядная версия, или при удаленном подключении к 32-разрядному компьютеру. 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.

Для запуска 32-разрядной версии Windows PowerShell воспользуйтесь любой из следующих процедур. To start a 32-bit version of Windows PowerShell, use any of the following procedures.

Читайте также:  Asus p5k windows 10 нет звука
Оцените статью