runas не допускает сложных аргументов?

У меня есть приложение, которое я пытаюсь запустить с повышенными правами на тонких клиентах Windows 7 и Windows XP, но, похоже, я не могу правильно указать строку runas.exe cmd. Я знаю, что мне нужен escape-символ обратной косой черты, поэтому runas правильно интерпретирует пробелы. Это работает при отправке run как одного аргумента, который был экранирован обратной косой чертой. Этот сценарий - все, что я нашел в качестве решения, и он работает, однако мне нужно отправить несколько аргументов, которые экранированы обратной косой чертой из-за пробелов в аргументах из-за путей к файлам и т. Д. Вот несколько примеров:

Эти работают И, как ожидалось, запросит пароль администратора:

runas.exe /user:Administrator "C:\update_andon.exe autosetup /kiosktype:\"Andon Kiosk"\

runas.exe /user:Administrator "C:\update_andon.exe autosetup /directory:\"C:\Program Files\CIMS_Andon\Kiosk"\

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

runas.exe /user:administrator "C:\update_andon.exe autosetup /kiosktype:\"Andon Kiosk"\ /exename:\"eAndonKiosk.exe"\ /directory:\"C:\Program Files\CIMS_Andon\Kiosk"\ /repository:\"\\domain\sat\shared\repository\andon kiosk"\"

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

Спасибо


person Ryan    schedule 13.11.2012    source источник


Ответы (2)


Каноническое решение: напишите команду в пакетный сценарий и запустите сценарий через runas.

person Ansgar Wiechers    schedule 13.11.2012
comment
Это интересный вариант. Всегда есть несколько способов снять шкуру с кошки! Спасибо за предложение. Я отмечу ваш пост как принятый ответ; мой вопрос кажется довольно устаревшим. - person Ryan; 15.11.2012

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

пример из справки

"notepad \"my file.txt\""

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

исходный код

runas.exe /user:administrator "C:\update_andon.exe autosetup /kiosktype:\"Andon Kiosk"\ /exename:\"eAndonKiosk.exe"\ /directory:\"C:\Program Files\CIMS_Andon\Kiosk"\ /repository:\"\\domain\sat\shared\repository\andon kiosk"\"

исправленный код

runas.exe /user:administrator "C:\update_andon.exe autosetup /kiosktype:\"Andon Kiosk\" /exename:\"eAndonKiosk.exe\" /directory:\"C:\Program Files\CIMS_Andon\Kiosk\" /repository:\"\\domain\sat\shared\repository\andon kiosk\""

использованная литература

  1. Цитаты, escape-символы, разделители - Windows CMD - SS64.com
  2. Пакетные файлы - escape-символы
person ClearBlueSky85    schedule 26.04.2015