Чтобы запустить программу на выполнение из windows, вам нужно

Обновлено: 21.11.2024

"Программное обеспечение" — это общая категория кода, работающего на оборудовании. Если аппаратное обеспечение — это пианино, то программное обеспечение — это музыка. Обычный случай — это «программа», такая как Firefox — программное обеспечение, которое вы запускаете на своем компьютере для решения конкретной проблемы. Компьютер может запускать несколько программ одновременно и несет ответственность за разделение их памяти.

ЦП понимает низкоуровневый язык "машинного кода" (также известный как "собственный код"). Язык машинного кода встроен в конструкцию аппаратного обеспечения ЦП; это не то, что можно изменить по желанию. Каждое семейство совместимых ЦП (например, очень популярное семейство Intel x86) имеет свой собственный уникальный машинный код, несовместимый с машинным кодом других семейств ЦП.

Что такое программа/приложение?

  • Что такое программа или приложение?
    - напр. Фаерфокс
  • Firefox состоит из миллионов инструкций машинного кода.
    - Запускается сверху вниз (прямо как Javascript!)
    - Появляется окно Firefox (первые 1000 инструкций)
    - Появляются его меню (следующие 1000)
    - Курсор мигает в ожидании ввода
  • Инструкции, при запуске которых выполняются действия "Firefox".
  • Firefox.exe — это файл в файловой системе размером 80 МБ
    («.exe» — это соглашение Windows для названия файла программы)
  • Файл Firefox.exe в основном состоит из инструкций машинного кода.
  • Каждая инструкция имеет размер, скажем, 4 байта
  • Firefox.exe размером 80 МБ содержит около 20 миллионов машинных инструкций.

Машинный код определяет набор отдельных инструкций. Каждая инструкция машинного кода чрезвычайно примитивна, например, сложение двух чисел или проверка того, равно ли число нулю. При сохранении каждая инструкция занимает всего несколько байтов. Когда мы говорили ранее, что ЦП может выполнять 2 миллиарда операций в секунду, мы имели в виду, что ЦП может выполнять 2 миллиарда строк машинного кода в секунду.

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

Как работает программа?

  • ЦП запускает «цикл выборки/выполнения»
    -выбирает одну инструкцию в последовательности,
    -выполняет (запускает) эту инструкцию, например выполнить сложение
    -выбрать следующую инструкцию и т. д.
  • Запустить программу = запустить ЦП на его 1-й инструкции
    он прогоняет весь машинный код, запуская программу
    программа будет иметь такие инструкции, как «вернуться к шагу 3», чтобы сохранить ее работает
  • Сверхпростые инструкции машинного кода выполняются со скоростью 2 миллиарда операций в секунду.

ЦП выполняет инструкции, используя цикл «выборка-выполнение»: ЦП получает первую инструкцию в последовательности, выполняет ее (добавляя два числа или что-то еще), затем выбирает следующую инструкцию и выполняет ее и так далее. Некоторые инструкции влияют на порядок, в котором ЦП выполняет последовательность инструкций. Например, инструкция может указать ЦП вернуться к более ранней точке в последовательности инструкций (циклы реализованы таким образом) или пропустить следующую инструкцию, если определенное условие истинно (операторы if реализованы таким образом). .

Как начинается программа?

  • Файл Firefox.exe содержит свои инструкции (в файловой системе)
  • Чтобы запустить Firefox.exe:
    -Каждая программа получает свою собственную область ОЗУ,
    -Область ОЗУ содержит код программы и данные, с которыми она манипулирует
    - Байты инструкций копируются из хранения в ОЗУ
    -ЦП получает указание начать работу с первой инструкции
    -Теперь программа работает!

В файловой системе такой файл, как Firefox.exe, просто содержит байты инструкций машинного кода, из которых состоит программа («.exe» — это соглашение Windows, обозначающее файл как программу). Каждая инструкция машинного кода занимает примерно 4 байта, а вся программа представляет собой просто огромную последовательность инструкций.

Когда пользователь дважды щелкает файл программы, чтобы запустить его, по сути, блок байтов инструкций для программы копируется в ОЗУ, а затем ЦП получает указание начать работу с первой инструкции в этой области ОЗУ.

Что запускает Firefox? «Операционная система»

  • Как запустить Firefox?
  • "Операционная система"
    -e.g. Windows, Linux, Android, iOS
  • Операционная система = управление
  • Набор управляющих программ, которые управляют компьютером.
  • Операционная система запускается при первом включении компьютера
  • Управление запуском/остановкой программ
  • Управление оперативной памятью
  • Управление постоянным хранилищем
  • Компьютеры могут запускать несколько программ одновременно
  • Операционная система отслеживает информацию для каждой программы и распределяет ресурсы (например, ОЗУ) между программами.

"Операционная система" компьютера подобна первой управляющей программе, которая начинает работать при первом включении компьютера ("загружается"). Операционная система играет невидимую административную и бухгалтерскую роль за кулисами. Когда ноутбук или телефон запускается, операционная система обычно приводит все в порядок, а затем запускает программу «Проводник файлов», которая отображает доступные программы, меню и т. д., которые показывают пользователю, что доступно, позволяя пользователю перемещаться по программам и запускать их.< /p>

Операционная система поддерживает порядок в фоновом режиме, так что несколько программ могут работать одновременно, что называется "многозадачностью". Операционная система выделяет каждой программе собственную область памяти, поэтому каждая программа обращается только к своим собственным ресурсам... пытаясь ограничить возможности ошибочной или вредоносной программы. Хранение программ отдельно иногда называют «песочницей»... опосредование доступа каждой программы, чтобы она работала независимо, не мешая другим программам или системе в целом. Точно так же каждая программа имеет некоторый доступ к экрану через окно, но эта область вывода отделена от вывода других программ.

Вспомните, что файл .exe или что-то еще — это, по сути, просто файл с инструкциями машинного кода. Когда вы дважды щелкаете программу, операционная система «запускает» программу, выполняя вспомогательные действия по выделению области памяти в ОЗУ для программы, загружая первый раздел машинного кода программы в эту память и, наконец, направляя CPU для запуска этого кода.

Поддержка этой версии Orchestrator подошла к концу, мы рекомендуем вам перейти на Orchestrator 2019.

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

Настройка действия «Выполнить программу»

Прежде чем настраивать действие «Выполнить программу», необходимо определить следующее:

Аргумент командной строки или программа, которая будет запускаться, и на каком компьютере она будет работать.

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

Подробнее

Настройки Инструкции по настройке
Выполнение программы Выбрать этот режим для запуска программы так же, как ярлык Windows или диалоговое окно Windows Run. Вы также можете использовать кнопку с многоточием (. ) для поиска компьютера.
Выполнение команды Выберите этот режим, чтобы запустить команду таким же образом в качестве командной строки Windows.
Компьютер Введите компьютер, на котором будет выполняться эта программа или команда.
Путь к программе — если вы выбрали режим выполнения программы, этот элемент отображается как путь к программе. Введите полный путь к местоположению программы, которую вы хотите запустить. Затем, чтобы передать параметры программе, введите их в поле "Параметры".

Дополнительно

Настройки Инструкции по настройке
Режим выполнения Выбрать один из следующих вариантов выполнения программы:

- Интерактивный: выберите этот параметр, чтобы отобразить пользовательский интерфейс на компьютере, на котором выполняется команда или программа. Пользовательский интерфейс, если он доступен, отображается в пользовательском сеансе, который определяется учетными данными пользователя, указанными в полях «Запуск от имени» (имя пользователя, пароль) на вкладке «Дополнительно».

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

Опубликованные данные

В следующей таблице перечислены опубликованные элементы данных.

< td>Немодифицированный вывод программы.

Безопасность

Действие "Выполнить программу" основано на PsExec. PsExec позволяет выполнять процессы в других системах с полной интерактивностью для консольных приложений. Дополнительные сведения о PsExec см. в PsExec.

Действие "Выполнить программу" наследует некоторые проблемы безопасности от PsExec. В частности, PsExec использует именованные каналы. Это может быть проблемой безопасности, так как через этот инструмент можно отправлять учетные данные.

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

Командная строка — это инструмент, который позволяет пользователям выполнять различные задачи централизованно. ИТ-специалисты часто находят это приложение полезным при выполнении заданий или проектов. Для обычных пользователей компьютеров даже может быть полезно научиться использовать командную строку в случае необходимости устранения неполадок. В этой статье мы обсудим, что такое командная строка, преимущества использования этого приложения, как запустить программу в командной строке и советы, которые помогут вам использовать это приложение.

Что такое командная строка?

Командная строка — это приложение на большинстве компьютеров Windows, которое напрямую взаимодействует с операционной системой для автоматизации задач с помощью сценариев и пакетных файлов. Это приложение представляет собой текстовый интерпретатор командной строки, который может работать как средство навигации. Он также используется для выполнения расширенных действий по администрированию или устранения определенных проблем в Windows. Например, вы можете использовать командную строку, чтобы увидеть всех, кто использовал ваше соединение Wi-Fi, отследить возможного хакера или, возможно, исправить файл, который не открывается. Использование командной строки также может дать вам больший контроль над компьютером, включая взаимодействие с некоторыми программами, которые взаимодействуют исключительно через командную строку.

Преимущества запуска программы в командной строке

Некоторые преимущества использования командной строки для запуска программ и выполнения задач включают экономию времени и возможность устранять проблемы во время сбоя системы или приложения с графическим интерфейсом пользователя (GUI). Иногда использование командной строки — это гораздо более быстрый способ доступа к информации или задачам. Запуск программы в командной строке также обычно требует меньше места в памяти, чем в графическом интерфейсе, потому что программе не нужно обрабатывать графические компоненты, поэтому запуск программы также занимает меньше времени. Если у вас медленный процессор, командная строка все равно может работать эффективно.

Как запустить программу в командной строке

Вот список шагов, которые помогут вам запустить программу в командной строке:

1. Откройте меню «Пуск» и введите «cmd» в поле поиска

Найдите меню "Пуск" в левом нижнем углу экрана и нажмите на него. В белом поле поиска рядом со значком Windows введите «cmd». Командная строка — это первый результат поиска.

2. Нажмите «Командная строка», чтобы открыть приложение, и введите первую команду

Щелкните приложение правой кнопкой мыши и выберите "Запуск от имени администратора". Откроется новое окно командной строки. Откроется черный экран с обычным текстом.

3. Определите, какую программу вы хотите запустить

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

3. Найдите путь к папке с вашей exe-программой

Введите «cd [путь к файлу]» в командной строке. Это позволит вам найти папку, содержащую программу .exe, которую вы хотите запустить. В окне проводника вы можете открыть определенную папку и скопировать путь к файлу, расположенный в адресной строке в верхней части окна, нажав C и Ctrl. Например, вы можете запустить Google Chrome, найдя папку с названием Google Chrome в ваших Program Files. Путь к этому файлу: "C:\Program Files\Google".

4. Замените «[filepath]» в окне командной строки на путь к файлу, который вы скопировали

Замена этого пути к файлу позволяет запускать как команды, так и нужную программу. Затем вы можете нажать клавишу Enter на клавиатуре. Это приведет вас к выбранному пути к файлу в командной строке.

5. Введите «start [filename.exe]» в командной строке, заменив «filename» именем выбранного файла

Замените « [filename.exe ]» на имя вашей программы. Это позволяет вам запускать вашу программу из пути к файлу. Например, вы можете запустить Google Chrome, набрав «Start Chrome.exe». Затем вы можете нажать «Ввод» на клавиатуре, и программа запустится.

Советы по использованию командной строки

Вот несколько советов, которые помогут вам использовать командную строку:

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

Легко открыть командную строку, запустив Windows Run, удерживая кнопку Windows и нажимая кнопку R на клавиатуре. Затем вы можете ввести «cmd» и нажать клавишу ввода, открыв командную строку.

Если вы не знаете, какие команды использовать, вы можете ввести «Справка» в командной строке. Это приводит к появлению списка с различными общими командами, которые вы можете использовать.

Чтобы получить дополнительную информацию о команде, введите "/?" в конце. Это дает вам дополнительную информацию об изменении работы этой команды.

Держите свой компьютер в чистоте и без проблем, запустив "sfc/scannow" в окне командной строки. Этот инструмент проверки системных файлов может помочь вам выявить и устранить проблемы путем сканирования всех ваших защищенных файлов. Он также восстанавливает поврежденные файлы для повышения производительности вашего компьютера.

Перетащите папки в командную строку, чтобы вставить местоположение папки. Вы можете упростить определение пути к файлу, перетащив папку в окно командной строки.

Используйте функциональные клавиши (F1–9) для быстрого доступа. Эти кнопки в верхней части клавиатуры помогут вам повторно вводить команды, не вводя их снова.

Общие команды для использования в командной строке

Вот список некоторых команд, которые вы можете использовать для взаимодействия с командной строкой:

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

список задач: отображает все активные задачи и службы.

taskkill: останавливает процесс или приложение.

время: устанавливает время компьютера.

тип: отображает все содержимое текстового файла.

ver: показывает версию Windows на вашем компьютере.

проверить: сообщает Windows, правильно ли ваши файлы записаны на диск.

xcopy: копирует файлы и деревья каталогов.

Обратите внимание, что ни одна из компаний, упомянутых в этой статье, не связана с Indeed.

Несмотря на ответ Джеймса, я нашел несколько способов, которыми это можно почти сделать:

  1. Изменив исполняемый файл, я могу удалить запись trustInfo из манифеста (или полностью из манифеста, чтобы использовать внешний), что позволяет программе запускаться без UAC. К сожалению, это изменяет исполняемый файл, поэтому вскоре после этого он закрывается из-за внутренней проверки контрольной суммы.
  2. С помощью Process Explorer я могу запустить его как пользователь с ограниченными правами. Однако это, кажется, ограничивает его значительно больше, чем мне хотелось бы (он работает как защищенный режим IE и поэтому может получить значительно меньший доступ, чем мой стандартный пользователь без повышенных прав).

Не могли бы вы указать программу, даже если вы ее больше не используете? Это может помочь людям узнать, к чему он пытается получить доступ, для чего требуются права администратора

@ekaj К сожалению, нет. Однако это не особенно актуально: UAC запускается программой, запрашивающей повышение прав во время создания процесса (обычный способ — как в этом случае — с манифестом). Как только процесс запущен, он не может изменить свой статус привилегий — независимо от того, к каким ограниченным ресурсам он пытается получить доступ.

10 ответов 10

Сохраните этот текст в формате .reg и добавьте его в реестр Windows. (Двойной щелчок по нему должен помочь.)

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

В некоторых случаях (небольшое количество 0,1% программ могут дважды запрашивать запрос UAC).

Раньше я использовал прокладку Application Compatibility Toolkit, но это требовало много работы для каждого исполняемого файла и оставляло мусор в реестре для каждого файла. Этот метод работает, и мне он нравится намного больше.

Принимаю этот метод, так как он кажется самым простым, и я (наконец-то!) смог его проверить. Также имеет очень приятное свойство: его можно тривиально использовать в качестве одноразовой командной строки (удалите внешний " и затем превратите \" в " ).

У меня та же проблема, что и у @Derek, приложение, похоже, постоянно повторно запрашивает UAC, я не доверяю ему общесистемный доступ, но мне нужна его функциональность..

Вы можете добавить это в реестр только для текущего пользователя, вошедшего в систему, изменив ключи на: HKEY_CURRENT_USER\Software\Classes*\shell\forcerunasinvoker и HKEY_CURRENT_USER\Software\Classes*\shell\forcerunasinvoker\command

@jpmc26 Я думаю, что /min — это ошибка. Решение работает точно так же и без него. Вом, должно быть, перепутал переключатели cmd и start. Кажется, что cmd.exe не жалуется на неправильные переключатели. Например, попробуйте cmd /whatever.

Сохранить в неadmin.bat:

Теперь вы можете перетаскивать сюда программы, чтобы запускать их без прав администратора.

Для этого не требуются права администратора, как для изменения этого ключа реестра. Также вы не будете загромождать контекстное меню.

Обновление: теперь должно работать и с программами, в имени которых есть пробелы.

Я попробовал это на некоторых программах, требующих доступа к моим дискам, и они не смогли их обнаружить или вообще не работали:/ (например, rufus rufus.akeo.ie)

@keinabel Вероятно, это потому, что им действительно нужен был администратор для работы. Этот сценарий предназначен для программ, которым требуются права администратора, но при этом они не делают того, что для этого требуется. Необработанный доступ к дискам — типичная задача администратора.

Похоже, это не работает ни для каких исполняемых файлов в каталоге "C:\Program Files\. ". Я получаю, что Windows не может найти «C:\Program». Убедитесь, что вы правильно ввели имя, и повторите попытку. Я пробовал эту команду вручную несколько раз с небольшими вариациями и безуспешно. Есть идеи?

У меня была такая же проблема с расположением файла в папке с пробелами. Решил это удалением некоторых двойных кавычек: cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"

Надеюсь, я не слишком опоздал на вечеринку, но я искал похожий вопрос и, не найдя здесь ответа, обнаружил, что встроенная в Windows команда RunAs при запуске от имени администратора может сделать это с помощью /trustlevel переключатель.

Это сработало в моем случае. По иронии судьбы, запуск программы явно без повышения прав требует командной строки с повышенными правами. Иди разберись. :) Надеюсь, это поможет вам.

Я могу подтвердить, что это не работает. Я только что протестировал его и получил сообщение об ошибке: "ОШИБКА RUNAS: невозможно запустить - (здесь имя программы). Запрошенная операция требует повышения прав".

Протестировано с помощью приглашения с повышенными правами, использовалась командная строка runas /trustlevel:0x20000 (программа), программа все равно запускалась от имени администратора. Для справки: 0x20000 — это обычный пользователь.

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

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

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

Microsoft называет этот процесс добавлением RunAsInvoker "прокладки совместимости".

Большое спасибо! Это единственное, что сработало для меня! У меня было приложение, которое вызывалось из контекстного меню Windows, и оно всегда подходило как администратор, несмотря на то, что оно вызывалось правильно из других мест. После этого исправления приложение стало вызываться корректно.

Если это исполняемый файл установки (установки), для которого требуются права администратора, есть хитрость, позволяющая запустить его без повышенных прав:

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

Если в файле .exe есть манифест, эти эвристики для повышения прав не применяются.

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

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

Элемент Описание
Путь к программе Путь к программе или введенная команда.
Параметры программы Параметры, которые были переданы программе. Этот параметр доступен только в том случае, если на вкладке «Сведения» выбран параметр «Запуск программы».
Путь к рабочей папке Путь к рабочей папке.
Идентификатор процесса Идентификатор процесса приложения, запущенного при выполнении действия «Выполнить программу». Если вы используете командный запуск, это будет идентификатор процесса приложения командной строки Windows.
Код выхода из программы Код возврата приложения который был запущен действием «Выполнить программу».
Компьютер Имя компьютера, на котором было запущено приложение.
Вывод программы Текст, отправленный на консоль при запуске программы.
Чистый вывод
Файл вывода программы Имя локального файла, в котором был сохранен вывод программы.
Файл вывода программы в формате UNC Имя файла, в котором вывод программы был сохранен в формате UNC.