Как запустить программу в powershell

Содержание

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

Читайте также:
Интересные тесты по школьной программе

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

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

Как запустить PowerShell в Windows 10/8.1/7

Он просто запускает файл. После создания файла .exe вам не нужно выполнять кодирование или выполнять дополнительные задачи. Вы должны следовать инструкциям.

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

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

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

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

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

Способ 1

Откройте свой терминал PowerShell. После открытия проследите расположение EXE-файла. В моем случае файл .exe хранится в каталоге «C: пользователи аднан загрузки», А имя файла -«Batmon.exe“. Итак, вам нужно переместить свой терминал в целевой каталог. Вы должны использовать «CD”Команда для смены каталога:

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

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

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

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

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

Windows Powershell: Что это и как использовать? Основные команды 🖥️⚙️🧰

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

Способ 2

Этот метод использует Старт-процесс командлет. Заявленный командлет PowerShell с меткой «-Путь файла»Принимает полный путь к файлу .exe. Кроме того, «-ArgumentList»Определяет параметры при запуске процесса в PowerShell. В то время как «-Пройти через»Используется для проверки правильности работы командлета.

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

Читайте также:
Pscp не является внутренней или внешней командой исполняемой программой или пакетным файлом

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

> Начинать — Процесс -Ждать -Путь файла «C: users adnan downloads filelister.exe» -ArgumentList ‘ / s ’ -Пройти через

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

Другой способ выполнить файл .exe — использовать тот же командлет. Старт-процесс. Однако на этот раз мы переместим терминал в каталог с файлом .exe. Например, мы хотим открыть «filelister.exe», Который помещается в»C: пользователи аднан загрузки“. Измените каталог на загрузки используя следующую команду:

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

> Начинать — Процесс filelister.exe

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

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

> Начинать — Процесс filelister.exe

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

Заключение:

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

Источник: ciksiti.com

Запуск программы из PowerShell

Задача запустить из PowerShell какой либо исполняемый файл (программу или утилиту командной строки) встречается достаточно часто. PowerShell предлагает для этого несколько различных способов, которые мы и рассмотрим далее в этой статье. Начнем с самого простого…

Прямой запуск

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

Set-Location ″C:Program Files″
.Hello.exe

Прямой запуск программы из PoSh

Обратите внимание, что даже находясь в нужном каталоге, требуется указывать относительный путь к исполняемому файлу. Исключение составляют файлы из директорий, перечисленных в переменной окружения (path). Например различные встроенные программы и утилиты (notepad, calc, ping и т.п.), находящиеся в директории WindowsSystem32, можно запускать без указания пути.

запуск встроенных утилит

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

запуск с использованием символа  не анализирует передаваемую команду, то он не может интерпретировать ее параметры. Поэтому дополнительные параметрыаргументы передаются также в виде текста, в кавычках. Для примера возьмем предыдущую программу и немного изменим ее, так что она принимает нужный текст в виде аргумента:</p><p> ′C:Program FilesHello.exe′ ′Hello,′, ′ world′</p><p>Для удобства команду и аргументы можно поместить в переменные:</p><p>$exe = ′C:Program FilesHello.exe′ <br />$arg1 = ′Hello′ <br />$arg2 = ′world′ <br /> — берет текстовую строку и выполняет ее в виде команды. Например:</p><p>Invoke-Expression -Command ′C:WindowsHello.exe′</p><div class='ai-viewports ai-viewport-2 ai-viewport-3 ai-insert-11-23783327' style='margin: 8px 0; clear: both;' data-insertion-position='prepend' data-selector='.ai-insert-11-23783327' data-insertion-no-dbg data-code='PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTExIGFpLWxpc3QtYmxvY2snIHN0eWxlPSdtYXJnaW46IDhweCAwOyBjbGVhcjogYm90aDsnPgoKPGRpdiBjbGFzcz0nYWktZHluYW1pYyBhaS1saXN0LWRhdGEnIHJlZmVyZXItbGlzdD0nSXc9PScgcmVmZXJlci1saXN0LXR5cGU9J0InIGRhdGEtY29kZT0nUENFdExVMWZVRzl6ZERrdExUNEtQR1JwZGlCcFpEMGlZV1JtYjNoZk1UWTROVE00T0RrNU1qSXlOVE01T0RReElqNDhMMlJwZGo0S1BITmpjbWx3ZEQ1M2FXNWtiM2N1V1dFdVlXUm1iM2hEYjJSbExtaGlRMkZzYkdKaFkydHpMbkIxYzJnb1puVnVZM1JwYjI0b0tTQjdDaUFnSUNCamIyNXpkQ0J5WVc1a2IyMUpiblFnUFNCTllYUm9MbVpzYjI5eUtFMWhkR2d1Y21GdVpHOXRLQ2tnS2lBeE1EQXdNREFwT3dvZ0lDQWdZMjl1YzNRZ1pHbDJVbUZ1Wkc5dFNXNTBJRDBnSW5KamIyeGZNU0lnS3lCeVlXNWtiMjFKYm5RN0NpQWdJQ0JrYjJOMWJXVnVkQzVuWlhSRmJHVnRaVzUwUW5sSlpDZ25ZV1JtYjNoZk1UWTROVE00T0RrNU1qSXlOVE01T0RReEp5a3VhV1FnUFNCa2FYWlNZVzVrYjIxSmJuUTdDaUFnSUNCM2FXNWtiM2N1V1dFdWFHVmhaR1Z5UW1sa1pHbHVaeTV3ZFhOb1FXUlZibWwwY3loYkNpQWdJQ0FnSUNBZ2V3b2dJQ0FnSUNBZ0lDQWdZMjlrWlRvZ1pHbDJVbUZ1Wkc5dFNXNTBMQW9nSUNBZ0lDQWdJQ0FnYzJsNlpYTTZJRnRiTXpBd0xESTFNRjBzV3pNek5pd3lPREJkTEZzek1qQXNNalV3WFN4Yk16SXdMREkzTUYwc1d6TXdNQ3d6TURCZExGc3pNREFzTWpBd1hTeGJNalF3TERRd01GMHNXek15TUN3ek1EQmRMRnN6TWpBc01qZ3dYU3hiTXpNMkxESTFNRjBzV3pNd01Dd3lPREJkWFN3S0lDQWdJQ0FnSUNBZ0lHTnZaR1ZVZVhCbE9pQW5ZMjl0WW04bkxDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJR0pwWkhNNklGc0tJQ0FnSUNBZ0lDQWdJQ0FnZXlBaVltbGtaR1Z5SWpvZ0ltMTVWR0Z5WjJWMElpd2dJbkJoY21GdGN5STZJSHNnSW5Cc1lXTmxiV1Z1ZEVsa0lqb2dJakV5T1RFeE16QWlJSDBnZlN3S0lDQWdJQ0FnSUNBZ0lDQWdleUFpWW1sa1pHVnlJam9nSW5OaGNHVWlMQ0FpY0dGeVlXMXpJam9nZXlBaWNHeGhZMlZ0Wlc1MFNXUWlPaUFpT0RRNE56WXdJaUI5SUgwc0NRb2dJQ0FnSUNBZ0lDQWdJQ0I3SUNKaWFXUmtaWElpT2lBaVltVjBkMlZsYmtScFoybDBZV3dpTENBaWNHRnlZVzF6SWpvZ2V5QWljR3hoWTJWdFpXNTBTV1FpT2lBaU5EY3dOamt5TVNJZ2ZTQjlMQWtKQ2lBZ0lDQWdJQ0FnSUNCZENpQWdJQ0FnSUNBZ2ZRb2dJQ0FnWFNrN0NpQWdJQ0IzYVc1a2IzY3VlV0ZEYjI1MFpYaDBRMkl1Y0hWemFDaG1kVzVqZEdsdmJpZ3BJSHNLSUNBZ0lDQWdJQ0IzYVc1a2IzY3VXV0V1WVdSbWIzaERiMlJsTG1OeVpXRjBaU2dLSUNBZ0lDQWdJQ0FnSUNBZ2V3b2dJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmQyNWxja2xrT2lBeU9ESXlNRGNzQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5SaGFXNWxja2xrT2lCa2FYWlNZVzVrYjIxSmJuUXNDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lIQmhjbUZ0Y3pvZ2V5QndNVG9nSjJONWFHdGhKeXdnY0RJNklDZG9abU5rSnlCOUxBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1lYcDVURzloWkRvZ2V5Qm1aWFJqYUUxaGNtZHBiam9nTVRBd0xDQnRiMkpwYkdWVFkyRnNhVzVuT2lBeElIMHNDaUFnSUNBZ0lDQWdJQ0I5Q2lBZ0lDQWdJQ0FnS1RzS0lDQWdJSDBwT3dwOUtUc0tQQzl6WTNKcGNIUSsnPjwvZGl2Pgo8L2Rpdj4K' data-block='11'></div>

<p>Однако у него есть один большой недостаток, а именно — неумение работать с пробелами. К примеру, следующая команда вызовет ошибку:</p><div class='ai-viewports ai-viewport-1 ai-insert-23-85795657' style='margin: 8px 0; clear: both;' data-insertion-position='prepend' data-selector='.ai-insert-23-85795657' data-insertion-no-dbg data-code='PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTIzIGFpLWxpc3QtYmxvY2snIHN0eWxlPSdtYXJnaW46IDhweCAwOyBjbGVhcjogYm90aDsnPgoKPGRpdiBjbGFzcz0nYWktZHluYW1pYyBhaS1saXN0LWRhdGEnIHJlZmVyZXItbGlzdD0nSXc9PScgcmVmZXJlci1saXN0LXR5cGU9J0InIGRhdGEtY29kZT0nUENFdExVUmZVRzl6ZERZdExUNEtQR0Z6YVdSbElHTnNZWE56UFNKamIyNTBaVzUwTFhkcFpHVWlQanhrYVhZZ2FXUTlJbUZrWm05NFh6RTJPRFV6T1RBNU5Ea3lOek01TXpRNE1pSStQQzlrYVhZK0NqeHpZM0pwY0hRK2QybHVaRzkzTGxsaExtRmtabTk0UTI5a1pTNW9Za05oYkd4aVlXTnJjeTV3ZFhOb0tHWjFibU4wYVc5dUtDa2dld29nSUNBZ1kyOXVjM1FnY21GdVpHOXRTVzUwSUQwZ1RXRjBhQzVtYkc5dmNpaE5ZWFJvTG5KaGJtUnZiU2dwSUNvZ01UQXdNREF3S1RzS0lDQWdJR052Ym5OMElHUnBkbEpoYm1SdmJVbHVkQ0E5SUNKeVkyOXNYekVpSUNzZ2NtRnVaRzl0U1c1ME93b2dJQ0FnWkc5amRXMWxiblF1WjJWMFJXeGxiV1Z1ZEVKNVNXUW9KMkZrWm05NFh6RTJPRFV6T1RBNU5Ea3lOek01TXpRNE1pY3BMbWxrSUQwZ1pHbDJVbUZ1Wkc5dFNXNTBPd29nSUNBZ2QybHVaRzkzTGxsaExtaGxZV1JsY2tKcFpHUnBibWN1Y0hWemFFRmtWVzVwZEhNb1d3b2dJQ0FnSUNBZ0lIc0tJQ0FnSUNBZ0lDQWdJR052WkdVNklHUnBkbEpoYm1SdmJVbHVkQ3dLSUNBZ0lDQWdJQ0FnSUhOcGVtVnpPaUJiV3prM01Dd3lOVEJkTEZzNU9EQXNNalV3WFN4Yk56STRMRGt3WFN4Yk56STRMREk0TUYwc1d6Y3dNQ3d5TlRCZExGczVOekFzT1RCZExGc3hNREF3TERJMU1GMHNXekV3TURBc01USXdYU3hiT1RVd0xEa3dYU3hiT1RZd0xEa3dYU3hiT1Rnd0xERXlNRjBzV3pFd01EQXNPVEJkWFN3S0lDQWdJQ0FnSUNBZ0lHTnZaR1ZVZVhCbE9pQW5ZMjl0WW04bkxDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdZbWxrY3pvZ1d3b2dJQ0FnSUNBZ0lDQWdJQ0I3SUNKaWFXUmtaWElpT2lBaWJYbFVZWEpuWlhRaUxDQWljR0Z5WVcxeklqb2dleUFpY0d4aFkyVnRaVzUwU1dRaU9pQWlNVEk1TVRBNE5TSWdmU0I5TEFvZ0lDQWdJQ0FnSUNBZ0lDQjdJQ0ppYVdSa1pYSWlPaUFpWW1WMGQyVmxia1JwWjJsMFlXd2lMQ0FpY0dGeVlXMXpJam9nZXlBaWNHeGhZMlZ0Wlc1MFNXUWlPaUFpTkRjd05qa3lOeUlnZlNCOUxBb2dJQ0FnSUNBZ0lDQWdJQ0I3SUNKaWFXUmtaWElpT2lBaWMyRndaU0lzSUNKd1lYSmhiWE1pT2lCN0lDSndiR0ZqWlcxbGJuUkpaQ0k2SUNJNE5EZzNORFFpSUgwZ2ZTd0pDUWtLSUNBZ0lDQWdJQ0FnSUYwS0lDQWdJQ0FnSUNCOUNpQWdJQ0JkS1RzS0lDQWdJSGRwYm1SdmR5NTVZVU52Ym5SbGVIUkRZaTV3ZFhOb0tHWjFibU4wYVc5dUtDa2dld29nSUNBZ0lDQWdJSGRwYm1SdmR5NVpZUzVoWkdadmVFTnZaR1V1WTNKbFlYUmxLQW9nSUNBZ0lDQWdJQ0FnSUNCN0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5M2JtVnlTV1E2SURJNE1qSXdOeXdLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1ZEdGcGJtVnlTV1E2SUdScGRsSmhibVJ2YlVsdWRDd0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NHRnlZVzF6T2lCN0lIQXhPaUFuWTNsb2EyTW5MQ0J3TWpvZ0oyaG1ZMk1uSUgwc0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4aGVubE1iMkZrT2lCN0lHWmxkR05vVFdGeVoybHVPaUF5TURBc0lHMXZZbWxzWlZOallXeHBibWM2SURFZ2ZTd0tJQ0FnSUNBZ0lDQWdJSDBLSUNBZ0lDQWdJQ0FwT3dvZ0lDQWdmU2s3Q24wcE93bzhMM05qY21sd2RENDhMMkZ6YVdSbFBnPT0nPjwvZGl2Pgo8L2Rpdj4K' data-block='23'></div>

<p>Invoke-Expression -Command ′C:Program FilesHello.exe′</p><p>Эта особенность делает применение командлета крайне неудобным. Хотя при необходимости подобных ошибок можно избежать с помощью дополнительных кавычек, например так:</p><p>Invoke-Expression -Command ″C:′Program Files′Hello.exe″</p><div class='ai-viewports ai-viewport-2 ai-viewport-3 ai-insert-12-40008473' style='margin: 8px 0; clear: both;' data-insertion-position='prepend' data-selector='.ai-insert-12-40008473' data-insertion-no-dbg data-code='PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTEyIGFpLWxpc3QtYmxvY2snIHN0eWxlPSdtYXJnaW46IDhweCAwOyBjbGVhcjogYm90aDsnPgoKPGRpdiBjbGFzcz0nYWktZHluYW1pYyBhaS1saXN0LWRhdGEnIHJlZmVyZXItbGlzdD0nSXc9PScgcmVmZXJlci1saXN0LXR5cGU9J0InIGRhdGEtY29kZT0nUENFdExVMWZVRzl6ZERFd0xTMCtDanhrYVhZZ2FXUTlJbUZrWm05NFh6RTJPRFV6T0Rrd05qVXhOREl5TmpRM015SStQQzlrYVhZK0NqeHpZM0pwY0hRK2QybHVaRzkzTGxsaExtRmtabTk0UTI5a1pTNW9Za05oYkd4aVlXTnJjeTV3ZFhOb0tHWjFibU4wYVc5dUtDa2dld29nSUNBZ1kyOXVjM1FnY21GdVpHOXRTVzUwSUQwZ1RXRjBhQzVtYkc5dmNpaE5ZWFJvTG5KaGJtUnZiU2dwSUNvZ01UQXdNREF3S1RzS0lDQWdJR052Ym5OMElHUnBkbEpoYm1SdmJVbHVkQ0E5SUNKeVkyOXNYekVpSUNzZ2NtRnVaRzl0U1c1ME93b2dJQ0FnWkc5amRXMWxiblF1WjJWMFJXeGxiV1Z1ZEVKNVNXUW9KMkZrWm05NFh6RTJPRFV6T0Rrd05qVXhOREl5TmpRM015Y3BMbWxrSUQwZ1pHbDJVbUZ1Wkc5dFNXNTBPd29nSUNBZ2QybHVaRzkzTGxsaExtaGxZV1JsY2tKcFpHUnBibWN1Y0hWemFFRmtWVzVwZEhNb1d3b2dJQ0FnSUNBZ0lIc0tJQ0FnSUNBZ0lDQWdJR052WkdVNklHUnBkbEpoYm1SdmJVbHVkQ3dLSUNBZ0lDQWdJQ0FnSUhOcGVtVnpPaUJiV3pNd01Dd3lOVEJkTEZzek16WXNNamd3WFN4Yk16SXdMREkxTUYwc1d6TXlNQ3d5TnpCZExGc3pNREFzTXpBd1hTeGJNekF3TERJd01GMHNXekkwTUN3ME1EQmRMRnN6TWpBc016QXdYU3hiTXpJd0xESTRNRjBzV3pNek5pd3lOVEJkTEZzek1EQXNNamd3WFYwc0NpQWdJQ0FnSUNBZ0lDQmpiMlJsVkhsd1pUb2dKMk52YldKdkp5d2dJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0JpYVdSek9pQmJDaUFnSUNBZ0lDQWdJQ0FnSUhzZ0ltSnBaR1JsY2lJNklDSnRlVlJoY21kbGRDSXNJQ0p3WVhKaGJYTWlPaUI3SUNKd2JHRmpaVzFsYm5SSlpDSTZJQ0l4TWpreE1UTXlJaUI5SUgwc0NpQWdJQ0FnSUNBZ0lDQWdJSHNnSW1KcFpHUmxjaUk2SUNKellYQmxJaXdnSW5CaGNtRnRjeUk2SUhzZ0luQnNZV05sYldWdWRFbGtJam9nSWpnME9EYzJNU0lnZlNCOUxBa0tJQ0FnSUNBZ0lDQWdJQ0FnZXlBaVltbGtaR1Z5SWpvZ0ltSmxkSGRsWlc1RWFXZHBkR0ZzSWl3Z0luQmhjbUZ0Y3lJNklIc2dJbkJzWVdObGJXVnVkRWxrSWpvZ0lqUTNNRFk1TWpNaUlIMGdmU3dKQ1FvZ0lDQWdJQ0FnSUNBZ1hRb2dJQ0FnSUNBZ0lIMEtJQ0FnSUYwcE93b2dJQ0FnZDJsdVpHOTNMbmxoUTI5dWRHVjRkRU5pTG5CMWMyZ29ablZ1WTNScGIyNG9LU0I3Q2lBZ0lDQWdJQ0FnZDJsdVpHOTNMbGxoTG1Ga1ptOTRRMjlrWlM1amNtVmhkR1VvQ2lBZ0lDQWdJQ0FnSUNBZ0lIc0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IzZHVaWEpKWkRvZ01qZ3lNakEzTEFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MFlXbHVaWEpKWkRvZ1pHbDJVbUZ1Wkc5dFNXNTBMQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQndZWEpoYlhNNklIc2djREU2SUNkamVXaHJZaWNzSUhBeU9pQW5hR1pqWkNjZ2ZTd0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHRjZlVXh2WVdRNklIc2dabVYwWTJoTllYSm5hVzQ2SURFd01Dd2diVzlpYVd4bFUyTmhiR2x1WnpvZ01TQjlMQW9nSUNBZ0lDQWdJQ0FnZlFvZ0lDQWdJQ0FnSUNrN0NpQWdJQ0I5S1RzS2ZTazdDand2YzJOeWFYQjBQZz09Jz48L2Rpdj4KPC9kaXY+Cg==' data-block='12'></div>

<p><img decoding=Start-Process

Командлет Start-Process запускает указанный файл в виде процесса, используя метод Start .NET класса Process. Например:

Start-Process -FilePath ′C:Program FilesHello.exe′

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

Start-Process -FilePath ′C:Program FilesHello.exe′ -NoNewWindow -Wait

Также Start-Process позволяет передать в процесс дополнительные аргументы:

Start-Process -FilePath ′C:Program FilesHello.exe′ -ArgumentList ′Hello, world′ -NoNewWindow -Wait

запуск с использованием Start-Process

По умолчанию командлет ничего не возвращает, но с помощью параметра -PassThru можно заставить его вернуть объект процесса. Этот объект очень удобно поместить в переменную:

$process = Start-Process -FilePath ′C:Program FilesHello.exe′ -Wait -PassThru

из которой можно затем можно узнать многие полезные вещи, такие как статус:

или код выполнения:

варианты использования Start-Process

.NET

В принципе .NET классом Process можно воспользоваться напрямую, без командлета Start-Process. К примеру, запустить процесс можно командой:

использование класса .Net для запуска программы

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

$process = New-Object -TypeName System.Diagnostics.Process
$process.StartInfo.FileName = ″C:Program FilesHello.exe″
$process.StartInfo.Arguments = ″Hello,world″
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.UseShellExecute = $false
$process.Start()
$process.WaitForExit()
$process.StandatdOutput.ReadToEnd()

варианты использования .Net

WMI

С помощью WMI можно сделать практически все, в том числе и запустить программу. Для этого вполне подойдет метод Create WMI-класса Win32_Process. Этот метод запускает процесс на локальном или удаленном компьютере через RPC. Например, для выполнения программы на локальном компьютере можно воспользоваться такой командой:

А для выполнения на удаленном компьютере команда будет выглядеть так:

запуск программы через WMI, способ 1

Как вариант, можно воспользоваться командлетом Invoke-WmiMethod:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″C:Program FilesHello.exe″

запуск программы через WMI, способ 2

Либо командлетом Invoke-CimMethod:

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

WMI запускает процесс в отдельном окне и возвращает объект, содержащий идентификатор процесса (ProcessID) и результат выполнения (ReturnValue). ReturnValue может принимать следующие значения:

0 — Sucsessful Completiom
2 — Access Denied
3 — Insufficient Privilege
8 — Uncnown Failure
9 — Path Not Found
21 — Invalid Parameter

Invoke-Command

Командлет Invoke-Command умеет выполнять команды на локальном или удаленном компьютере, используя WinRM. Например, для запуска нашей программы на локальном компьютере используем команду:

При необходимости в программу можно передать аргументы:

Обратите внимание, что Invoke-Command не очень дружит с пробелами, поэтому во избежании ошибок приходится исхитряться с кавычками. Впрочем, подобных проблем можно избежать, например комбинируя использования командлета с оператором https://windowsnotes.ru/powershell-2/zapusk-programmy-iz-powershell/» target=»_blank»]windowsnotes.ru[/mask_link]

Как работать с процессами в Powershell используя Get и Start-Proccess

Работа с процессами Powershell Start-Process и управление ими на примерах

Процессы — это один из основных компонентов Windows и чаще всего мы работаем с ними через Task Manager (диспетчер задач), но эта возможность становится весомее если мы используем команды по управлению процессами в Powershell. Основные команды по управлению запущенными задачами можно увидеть так:

Get-Command -Noun Process

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru