Как запустить файл через powershell

Обновлено: 23.11.2024

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

Существует несколько вариантов запуска сценариев PowerShell: просто из командной строки, с помощью PowerShell ISE или даже запланированного задания.

В этой статье я объясню различные варианты запуска скрипта PowerShell. Кроме того, я помогу вам с распространенными ошибками, такими как «запуск скриптов отключен в этой системе».

Исправить запуск скриптов в этой системе отключено

Мы начнем с распространенной ошибки, которая не позволяет большинству пользователей запускать сценарии PowerShell, — ошибки «Выполнение сценариев отключено в этой системе». Эта ошибка вызвана политикой выполнения PowerShell.

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

Поэтому, чтобы запустить сценарий PowerShell, нам сначала нужно изменить политику выполнения. Для политики у нас есть несколько вариантов:

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

Вы можете решить эту проблему, добавив следующую строку в конец скрипта PowerShell, но это не всегда удобно:

Использовать Windows PowerShell

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

Начнем с последнего, открыв PowerShell в нужном месте из проводника. В проводнике найдите скрипт, который вы хотите запустить, в данном случае это c:\temp\powershell.

  1. Щелкните правой кнопкой мыши пустую область в проводнике (не файл PowerShell)
  2. Выберите здесь «Открыть окно PowerShell»
    (в Windows 11 вам нужно будет выбрать «Открыть в терминале Windows»)

Как видите, PowerShell запускается в папке c:\temp\PowerShell. Теперь мы можем запустить скрипт, просто введя имя файла (введите первые несколько букв и нажмите Tab для автозаполнения)

Вы также можете сначала запустить Windows PowerShell:

Запуск скрипта PowerShell из CMD

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

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

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

Если вы хотите, чтобы сеанс PowerShell оставался открытым, вы можете добавить в команду параметр -noexit:

Использование PowerShell ISE

Когда вы загружаете сценарий из Интернета, всегда рекомендуется просмотреть его перед запуском. Простой способ просмотреть и запустить сценарий PowerShell — использовать PowerShell ISE.

Чтобы открыть файл PowerShell в редакторе, просто щелкните его правой кнопкой мыши и выберите "Изменить"

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

Чтобы запустить скрипт в PowerShell ISE, просто нажмите зеленую кнопку воспроизведения на панели инструментов. Результаты работы скриптов отображаются в консоли:

Запуск сценария PowerShell от имени администратора

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

Самый простой способ запустить сценарии PowerShell от имени администратора — запустить Windows PowerShell от имени администратора.

  1. Нажмите клавишу Windows + X (или щелкните правой кнопкой мыши меню "Пуск").
  2. Выберите Windows PowerShell (администратор)
  3. Нажмите «Да» в ответ на запрос безопасности учетной записи пользователя.

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

Вы также можете запустить сценарий PowerShell от имени администратора из командной строки. Когда у вас открыт PowerShell, мы можем запустить новый процесс PowerShell и запустить его от имени администратора. При желании мы можем даже указать файл, который мы хотим запустить:

Подведение итогов

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

Если у вас есть какие-либо вопросы, просто оставьте комментарий ниже. Убедитесь, что вы также прочитали дополнительную информацию о настройке своего профиля PowerShell.

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

Оглавление

Предпосылки

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

  • Компьютер с Windows 10 с правами администратора.
  • Windows PowerShell версии 5 или выше. Вы также можете использовать PowerShell v7. В этом руководстве основное внимание будет уделено Windows PowerShell, поскольку она уже есть в операционной системе Windows.
  • Любой редактор текстовых файлов

Работа с политикой выполнения

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

PowerShell возвращает приведенное выше сообщение об ошибке, когда вы пытаетесь запустить PowerShell с политикой выполнения, для которой установлено значение "Ограничено", "Удаленно подписано" или "Все подписано".

Запрещено

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

Вы по-прежнему можете выполнять отдельные команды в терминале, но не в файле сценария. Ограничение распространяется на все файлы, оканчивающиеся на .ps1xml , .psm1 или .ps1 .

Неограниченно

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

Удаленная подпись

Политика удаленной подписи позволяет запускать любой сценарий, имеющий либо (а) цифровую подпись, либо (б) любой сценарий, написанный на вашем локальном компьютере с подписью или без нее.

Если сценарий загружен из Интернета и не подписан, вам потребуется разблокировать файл. Вы можете сделать это, щелкнув файл правой кнопкой мыши и выбрав «Свойства». Или вы можете использовать командлет PowerShell Unblock-File для этого конкретного файла сценария.

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

Все подписано

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

Изменение политики выполнения PowerShell

Чтобы изменить политику выполнения:

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

Поиск PowerShell в меню "Пуск"

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

Поскольку в этом руководстве предполагается, что вы загрузили из Интернета файл сценария GetServices.ps1, установите для политики выполнения значение RemoteSigned.

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

<р>3.Вы должны увидеть вывод с запросом на подтверждение действия. Введите Y и нажмите Enter, чтобы подтвердить изменение политики.

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

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

Чтобы продемонстрировать выполнение скрипта PowerShell, вам действительно нужен файл скрипта! Если у вас его нет под рукой, скачайте этот ZIP-файл и извлеките из него файл PS1. Внутри вы найдете простой файл сценария с именем GetServices.ps1.

Каждый сценарий PowerShell должен заканчиваться расширением .ps1.

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

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

<р>2. Перейдите к местоположению файловой системы, в котором находится ваш скрипт, с помощью командлета PowerShell Set-Location или псевдонима cd. Сценарий этого руководства находится в каталоге C:\Temp.

<р>3. Запустите скрипт, используя запись через точку ( . ). PowerShell — это оболочка, которая также ищет имена команд. Чтобы отличить команду PowerShell от сценария, вы должны поставить перед сценарием точку. Эта точка представляет текущий каталог.

Как запустить скрипт PowerShell из командной строки через расположение PowerShell

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

Чтобы запускать сценарии через командную строку, необходимо сначала запустить исполняемый файл PowerShell (powershell.exe) с расположением PowerShell C:\Program Files\WindowsPowerShell\powershell.exe, а затем передать ему путь к скрипту в качестве параметра.

Вы можете запускать сценарии с параметрами в любом контексте, просто указав их при запуске исполняемого файла PowerShell, такого как powershell.exe -Parameter 'Foo' -Parameter2 'Bar' .

Открыв файл cmd.exe, вы можете выполнить сценарий PowerShell, как показано ниже. В этом примере запускается ядро ​​и передается путь сценария C:\Temp\GetServices.ps1.

Обратите внимание, что в приведенном ниже примере используется путь расположения PowerShell для запуска скрипта. Вам придется сделать это, если папка не находится где-то в вашем PATH.

Расположение PowerShell для PowerShell 7 использует другой исполняемый файл с именем pwsh.exe, обычно расположенный в C:\Program Files\PowerShell\7\pwsh.exe .

Ниже представлен полезный видеоролик на YouTube, в котором рассказывается о выполнении скрипта через пакетный файл, который выполняет cmd.exe.

Использование PowerShell ISE

Если вы создаете свои собственные сценарии или редактируете чужие, вы, вероятно, будете использовать редактор сценариев, такой как PowerShell ISE или, возможно, код Visual Studio (VS). Поскольку ISE поставляется с Windows, давайте сосредоточимся на этом методе в этом руководстве.

Чтобы вызвать скрипт через ISE:

  1. Перейдите в меню "Пуск", найдите PowerShell ISE и откройте его.

Поиск PowerShell ISE в меню "Пуск"

<р>2. Нажмите «Файл» → «Открыть» и найдите свой сценарий.

Открыть скрипт с помощью меню "Файл"

<р>3. Открыв скрипт, нажмите зеленую кнопку запуска, чтобы выполнить скрипт. Эта кнопка вызовет скрипт во встроенном терминале PowerShell внизу.

Запуск скрипта с помощью PowerShell ISE

Вывод примера сценария

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

Если вы запустите образец скрипта GetServices.ps1, вы увидите следующее. Этот сценарий запускает командлет Get-Service, который возвращает все службы, установленные на локальном компьютере Windows.

Запуск скрипта PowerShell из скрипта

Допустим, у вас есть два скрипта, и вы хотите, чтобы один вызывал другой. Возможно, у вас есть сценарий с именем GetUser.ps1 и сценарий с именем ResetPassword.ps1. Внутри сценария GetUser.ps1 вы хотите выполнить ResetPassword.ps1, чтобы сбросить пароль пользователя.

Внутри вызывающего скрипта (GetUser.ps1), вы должны добавить строку для выполнения другого скрипта точно так же, как если бы вы вызывали скрипт из командной строки.

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

Ненавидите рекламу? Хотите поддержать писателя? Получите многие из наших руководств в виде руководства по ATA.

Ещё от ATA Learning & Partners

Резервное копирование Office 365 для чайников

Лучшее руководство по защите данных Microsoft Office 365. Изучите готовые функции безопасности.

Руководства ATA

ATA известна своими высококачественными письменными учебными пособиями в виде сообщений в блогах. Поддержите ATA с помощью электронных книг ATA Guidebook PDF, доступных в автономном режиме и без рекламы!

Сценарии PowerShell просты в использовании, но есть несколько моментов, о которых следует помнить, особенно если вы используете такие сценарии впервые.

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

Почему мой скрипт PowerShell не запускается двойным щелчком, как скрипт vbs или bat?

Действие по умолчанию при двойном щелчке по ps1-файлу — открыть его в Блокноте или другом текстовом редакторе или редакторе сценариев/кода, который может быть у вас установлен, например Visual Studio Code.

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

Отчасти это также удобная функция, позволяющая легко проверять или редактировать код, поскольку многие сценарии не выполняются вручную, а автоматизируются с помощью запланированных задач, сценариев входа или реализованы как вызываемые функции (например, команды Get и Set).

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

Как открыть PowerShell?

Быстрый способ открыть PowerShell — щелкнуть правой кнопкой мыши значок меню «Пуск» и выбрать; Windows PowerShell.

В Windows 11 эта запись была заменена терминалом Windows, который по умолчанию открывает сеанс Windows PowerShell. Терминал Windows также доступен для Windows 10.

Если нужного параметра нет в списке, просто введите «PowerShell» сразу после открытия меню «Пуск» или в поле поиска.

Еще один вариант — прокрутить меню «Пуск» вниз до папки Windows PowerShell и запустить ее оттуда.

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


Нажмите правой кнопкой мыши на меню "Пуск", чтобы быстро открыть PowerShell.

Как легко выполнить сценарий PowerShell?

Самый простой способ запустить сценарий PowerShell, который допускает прямое выполнение, — щелкнуть по нему правой кнопкой мыши и выбрать; Запуск с PowerShell.

Если у вас есть только код, например, с веб-страницы, вы часто можете просто скопировать/вставить код прямо в окно PowerShell.

Если скрипт необходимо загрузить первым или для него требуются дополнительные параметры, вы также можете использовать один из следующих способов:

Способ 1: меню "Файл"

  1. Перейдите к папке, в которой вы сохранили ps1-файл, в проводнике и выберите:
    Файл-> Открыть Windows PowerShell
  2. Введите (часть) имя скрипта.
  3. Нажмите клавишу TAB для автозаполнения, а затем имя.
    • Примечание. Делайте это, даже если вы ввели имя полностью. Это связано с тем, что файлы в PowerShell должны начинаться с косой черты ( .\ ), и нажатие TAB добавит ее. Очевидно, вы также можете вручную ввести .\ перед именем файла, но использование TAB может быть более удобным. В качестве альтернативы можно ввести полный путь к файлу.
  4. Нажмите ENTER, чтобы выполнить сценарий.

Способ 2: перетаскивание

  1. Открыть окно PowerShell
  2. Перетащите сценарий из проводника или с рабочего стола в окно PowerShell.
  3. Убедитесь, что окно PowerShell активно (нажмите на строку заголовка, чтобы убедиться в этом).
  4. Нажмите ENTER, чтобы выполнить сценарий.

Ошибка безопасности «нет цифровой подписи» для загруженных скриптов

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

В большинстве случаев это можно решить, изменив две вещи;

  • Разблокировать скрипт
    Щелкните скрипт правой кнопкой мыши и выберите "Свойства". В диалоговом окне "Свойства", если оно доступно, установите флажок "Разблокировать" и нажмите "ОК".
  • Set-ExecutionPolicy
    Если это все еще не работает, введите следующее в окне PowerShell;
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    Если вы не можете его изменить, ваш администратор, скорее всего, ограничил использование сценариев PowerShell. Для получения дополнительной информации см. также; Set-ExecutionPolicy.


После загрузки скрипта не забудьте разблокировать его.

Сценарии Dot-Source в вашем профиле PowerShell

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

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

Чтобы создать скрипт в вашем профиле PowerShell, откройте PowerShell и введите;
блокнот $профиль

Если Блокнот предложит вам, что файл не существует и хотите ли вы его создать, выберите «Да». Если вы получили сообщение об ошибке «Система не может найти указанный путь», закройте «Блокнот» и вместо этого введите следующую команду;
New-Item -Path $profile -ItemType "file" -Force

В Блокноте введите точку, пробел и полный путь к скрипту. Например;
. "C:\Scripts\MyScript.ps1"

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


Вы можете использовать несколько сценариев в своем профиле PowerShell.

Примечание.
По умолчанию ваш профиль PowerShell хранится в файле с именем Microsoft.PowerShell_profile.ps1 .

Чтобы узнать его точное местоположение, используйте следующую команду PowerShell;
Получить элемент $profile

Создание запланированной задачи, которая выполняет сценарий PowerShell

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

  1. Откройте планировщик заданий.
    Просто введите «Планировщик заданий» сразу после открытия меню «Пуск» или в поле поиска.
  2. На панели «Действия» справа выберите «Создать простую задачу…».
  3. Укажите имя запланированной задачи и нажмите "Далее".
  4. Выберите триггер для запуска задачи. Например, «Ежедневно» или «При входе в систему».
  5. Для действия выберите: Запустить программу.
  6. Заполните форму Запустить программу следующим образом;
    • Программа/скрипт: PowerShell
    • Добавить аргументы (необязательно): путь к вашему скрипту PowerShell, включая все параметры командной строки.
    • Начать через (необязательно):
  7. Нажмите "Далее", чтобы получить обзор только что созданной задачи, а затем нажмите "Готово", чтобы создать ее.

Совет!
Вы также можете заполнить все поля в поле «Программа/скрипт». После нажатия кнопки «Далее» планировщик заданий обнаружит, что у вас есть указанные аргументы, и предложит вам исправить их.

Скачать и установить модули PowerShell для Microsoft 365

При работе со сценариями PowerShell для Microsoft 365 (ранее известного как Office 365) вам сначала необходимо установить модули PowerShell для каждой службы и подключиться к этой службе, прежде чем вы сможете выполнять какие-либо сценарии.

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

Ниже приведен обзор наиболее распространенных модулей.

  • Обмен
    • V2 (рекомендуется)
      Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
    • Версия 1 (устаревшая)
      1. Войдите в Центр администрирования Exchange
      2. Выберите гибрид.
      3. Нажмите кнопку «Настроить» для модуля PowerShell Exchange Online.
        Эта прямая ссылка также может работать.
      4. В меню «Пуск» выберите; Модуль Microsoft Exchange Online Powershell

    Чтобы увидеть, какие модули вы установили, используйте;
    Получить установленный модуль

    Чтобы узнать, какие модули доступны на вашем компьютере, используйте;
    Get-Module –ListAvailable

    Обновление модулей можно выполнить через;
    Update-Module – Name – Scope CurrentUser

    Примечание:
    Если вы получаете сообщение об отсутствии доступного репозитория, зарегистрируйте его следующим образом;
    Register-PSRepository -Default -InstallationPolicy Trusted -Verbose

    PowerShell — это инструмент командной строки для автоматизации различных задач, таких как создание, открытие или изменение файлов. Он поставляется со встроенной поддержкой Microsoft Windows. Более того, вы можете установить его на различные дистрибутивы Linux и macOS. PowerShell также поддерживает язык сценариев для выполнения задач, связанных с программированием. Он работает с четырьмя различными командами: командлетами, исполняемыми программами, функциями PowerShell и сценариями PowerShell. Вы можете проверить список всех четырех типов команд, используя «Get-Command» в вашей PowerShell. Среди всех этих команд чаще всего используются командлеты.

    PowerShell поддерживает выполнение различных файлов с помощью команд. Исполняемые (.exe) файлы являются одним из них. Файлы .exe начинают работать сразу после открытия. Эти файлы .exe могут быть созданы с помощью различных методов, таких как язык C или C++ и Python. Операционная система не беспокоится о том, как и почему был создан этот файл. Он просто действует для запуска файла. После создания файла .exe вам не нужно выполнять кодирование или дополнительные задачи. Вы должны следовать инструкциям.

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

    В этой статье мы рассмотрим многочисленные способы запуска файла .exe с помощью Windows PowerShell:

    Как запускать файлы .exe с помощью PowerShell

    Существуют различные способы запуска файла .exe с помощью терминала PowerShell.

    Сначала откройте терминал PowerShell. Щелкните значок «Поиск» в меню «Пуск» и найдите PowerShell. Как только вы найдете результат поиска, нажмите PowerShell. Откройте его, чтобы начать писать:

    Способ 1

    Откройте терминал PowerShell. После его открытия отследите местоположение файла .exe. В моем случае файл .exe хранится в каталоге «C:\users\adnan\downloads», а имя файла — «Batmon.exe». Итак, вам нужно переместить свой терминал в целевой каталог. Вы должны использовать команду «cd», чтобы изменить каталог:

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

    В каталоге существует файл «Batmon.exe»;

    Итак, следующая команда, которая откроет файл, приведена ниже:

    Обязательно писать «.\» перед именем файла .exe. В противном случае команда не запустится. Установщик «Batmon.exe» начнет работать после успешного выполнения команды:

    Кроме того, этот метод можно выполнить с помощью PowerShell ISE. Замечено, что PowerShell ISE предоставляет раскрывающийся список файлов, доступных в целевом каталоге. В «Способе 1» целевым каталогом является «C:\users\adnan\downloads», поэтому перейдите на свой терминал в этот каталог. При вводе «.\» откроется раскрывающийся список доступных файлов, как показано ниже:

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

    Метод 2

    В этом методе используется командлет Start-Process. Указанный командлет PowerShell с параметром «-FilePath» принимает полный путь к файлу .exe. Более того, «-ArgumentList» указывает параметры при запуске процесса в PowerShell. Принимая во внимание, что «-PassThru» используется для проверки правильности работы командлета.

    Например, я хочу открыть файл «filelister.exe", который находится в каталоге: C:\users\adnan\downloads\filelister.exe.

    Скопируйте путь к файлу .exe и вставьте приведенную ниже команду:

    > Пуск — Процесс — Подождать — Путь к файлу ‘C:\users\adnan\downloads\filelister.exe’ — Список аргументов ‘ / s’ — PassThru

    Когда вы вводите команду, она открывает запрошенный файл .exe и выполняет следующие действия:

    Еще один способ запустить файл .exe — использовать тот же командлет Start-Process. Однако на этот раз мы переместим терминал в каталог с файлом .exe. Например, мы хотим открыть «filelister.exe», который находится в «C:\users\adnan\downloads». Измените каталог для загрузки с помощью следующей команды:

    После перемещения в нужное место вам необходимо выполнить следующую команду для запуска «filelister.exe»:

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

    Откройте PowerShell ISE и перейдите к расположению файла .exe. Выполните командлет Start-Process, как показано ниже:

    Команда и вывод в обоих случаях одинаковы. Однако один вывод создается из PowerShell, а другой — из PowerShell ISE

    Вывод:

    PowerShell автоматизирует различные задачи операционной системы Windows. Он может выполнять множество файлов; исполняемые файлы или .exe являются одним из них. Это руководство поможет вам узнать что-то новое о PowerShell. В этом посте мы продемонстрировали несколько способов запуска файла .exe из Windows PowerShell. Встроенный командлет PowerShell Start-Process чаще всего используется для открытия файлов .exe.

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

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

    Знаете ли вы, что с помощью PowerShell можно запускать файлы .exe? Вы удивитесь, насколько легко это сделать.

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

    Непосредственный переход к файлу

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

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

    Например, предположим, что у вас есть файл с именем «myprogram.exe», расположенный в папке C:/Users/admin/testfolder/experiments.

    Чтобы запустить этот файл .exe, откройте PowerShell и используйте команду «cd»:

    c:\Users\admin> cd testfolder

    c:\Users\admin\ testfolder> cd эксперименты

    Теперь вы находитесь в папке экспериментов.

    Затем запустите myprogram.exe следующим образом:

    C:\Users\admin\testfolder\experiments> .\myprogram.exe

    Обратите внимание, что для запуска файлов .exe в PowerShell необходимо использовать «.\». В противном случае файл .exe не запустится, но и ошибок вы не получите. Заявление будет просто передано PowerShell.

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

    Чтобы отправить параметры в файл .exe:

    C:\Users\admin\testfolder\experiments> .\myprogram.exe 12

    Здесь «12» — это ввод, который вы отправляете в файл .exe для обработки.

    Точное имя файла неизвестно

    Иногда вы можете не знать точное имя файла. Вот почему некоторые редакторы PowerShell отображают все файлы в папке, когда вы вводите «.\». Много раз он отображает все файлы в папке в виде раскрывающегося меню, и вы можете выбрать файл из него. .

    Еще один вариант — использовать командлет Get-ChildItem.Это может быть особенно полезно в старых редакторах PowerShell. Просто перейдите в папку и введите «Get-ChildItem. Это отобразит имена всех файлов, время последней записи, режим доступа и другие детали. Вы можете просмотреть этот список и ввести имя исполняемого файла .exe.

    C:\Users\admin\testfolder\experiments> Get-ChildItem

    Использование Invoke-Expression

    В приведенном выше варианте вы перешли в папку для запуска файла .exe. Но как это сделать через скрипт?

    Использование командлета Invoke-Expression.

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

    Вы можете запустить файл «myprogram.exe», упомянутый в приведенном выше примере, следующим образом:

    Invoke-Expression -Command "C:\Users\admin\ testfolder\experiments\myprogram.exe"

    Еще один способ выразить приведенную выше команду:

    C:\Users\admin\testfolder\experiments\myprogram.exe ” | Вызов-выражение

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

    Обратите внимание, что для некоторых исполняемых файлов могут потребоваться параметры, и в этом случае используйте переменную $Input параметра «command» для передачи значений в Invoke-Expression. Точно так же вы можете использовать его вывод через параметр «command».

    Таким образом, вы можете использовать командлет Invoke-Expression для запуска файлов .exe в PowerShell.

    Командлет Start-Process

    Следующий способ запуска файлов .exe в PowerShell – использование командлета Start-Process.

    Этот командлет запускает один или несколько процессов на вашем локальном устройстве.

    Вот как выглядит командлет Start-Process:

    Для запуска файлов .exe в PowerShell требуется только параметр -FilePath. В приведенном выше примере просто перейдите в папку «testfolder/experiments» и введите:

    Start-Process -FilePath «myprogram.exe»

    Это запустит исполняемый файл. Если вы находитесь в другом каталоге, используйте параметр «-WorkingDirectory», чтобы указать PowerShell перейти к «testfolder/experiments» и запустить в нем файл «myprogram.exe».

    Код будет выглядеть следующим образом:

    Start-Process -FilePath "myprogram.exe" -WorkingDirectory "C:\Users\admin\testfolder\experiments"

    Таким образом, вы можете использовать командлет Start-Process для запуска файлов .exe в PowerShell.

    Вы можете выбрать один из трех вышеперечисленных методов, и результаты совсем не изменятся. Выбор больше зависит от ваших предпочтений и от того, где вы выполняете файл. Например, если вы хотите запускать файлы .exe как часть кода более крупной программы, используйте командлет Start-Process или Invoke-Expression, поскольку его можно внедрить в виде кода.

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

    Заключение

    Итак, PowerShell автоматизирует многие задачи, которые вы выполняете вручную на платформе Windows, и одной из таких задач является запуск исполняемых файлов.

    Вы можете запускать файлы .exe в PowerShell тремя различными способами:

    • Введите «.\», а затем имя файла.
    • Использование Invoke-Expression
    • Использование командлета Start-Process

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

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

    Читайте также: