【问题标题】:runas does not allow complex arguments?runas 不允许复杂的参数?
【发布时间】:2012-11-02 02:53:11
【问题描述】:

我有一个应用程序,我试图在 Windows 7 和 Windows XP 瘦客户端上运行提升,但我似乎无法让 runas.exe cmd 行正确。我知道我需要其中的反斜杠转义字符,以便 runas 正确解释空格。这在发送 runas 已用反斜杠转义的单个参数时有效。这种情况是我发现的所有解决方案,它可以工作,但是,我需要发送多个参数,这些参数都用反斜杠转义,因为文件路径等引起的争论中有空格。这里有一些例子:

这些工作并且如预期的那样会提示输入管理员密码:

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"\"

一种解决方案是一个接一个地运行每个参数,但我不认为这是一种解决方案,而是一种解决方法。我将反斜杠与各种参数混合在一起的方式是否遗漏了什么?我是否在某处遗漏了更多报价?

谢谢

【问题讨论】:

    标签: vbscript escaping arguments command-line-arguments runas


    【解决方案1】:

    您的尾随引号看起来您没有正确转义它们。反斜杠用于避免解释器查看下一个字符。对于尾随引号,您将反斜杠放在引号之后,这是不正确的。

    帮助示例

    "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. Quotes, Escape Characters, Delimiters - Windows CMD - SS64.com
    2. Batch files - Escape Characters

    【讨论】:

      【解决方案2】:

      规范解决方案:将命令写入批处理脚本并通过runas 运行脚本。

      【讨论】:

      • 这很有趣。给猫剥皮的方法不止一种!谢谢你的建议。我会将您的帖子标记为已接受的答案;我的问题似乎很陈旧。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      相关资源
      最近更新 更多