【问题标题】:Do not run the command "runas"不要运行命令“runas”
【发布时间】:2014-11-29 10:25:07
【问题描述】:

我有一个服务没有启动 PostgreSQL。查看错误日志,可以使用命令(不要跑出管理员权限):

C:\Program Files\PostgreSQL\9.3\bin>runas /user:postgres "C:\Program 文件\PostgreSQL\9.3\bin\postgres -D "C:\Program 文件\PostgreSQL\9.3\data""

但是输入这个命令后出现错误:

    RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
    /user:<username> <program>

    RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
    /smartcard [/user:<username>] <program>

    RUNAS /trustlevel:<trustlevel> <program>

    /noprofile <...>
    /profile <...>
<...>


你能告诉我这个命令怎么写吗?

【问题讨论】:

    标签: postgresql cmd admin


    【解决方案1】:

    看起来您的命令末尾有多余的空格,这可能会搞砸事情,我相信您必须指定用户帐户所在的主机名或域。尝试这个: runas /user:hostname\postgres "C:\Program Files\PostgreSQL\9.3\bin\postgres -D C:\Program Files\PostgreSQL\9.3\data"

    【讨论】:

    • 可能你的意思是“额外的引号”。但问题是-D 开关的参数是一个有空格的文件路径。当 RUNAS 运行命令时,它可能无法正确解释。所以引号在那里是必要的,现在唯一的问题是如何将它们嵌套在 RUNAS 中。
    【解决方案2】:

    this Super User thread 中所述,RUNAS 中的嵌套引号应使用反斜杠进行转义。因此,您的命令应如下所示:

    runas /user:postgres "C:\Program Files\PostgreSQL\9.3\bin\postgres -D \"C:\Program Files\PostgreSQL\9.3\data\""
    

    【讨论】:

    • 这会提示输入“postgres”帐户的密码。如果它甚至有一个,我不知道它是什么。
    • @OrangeDog:我也不是,我不得不承认。至少它表明runas 发现提供的命令行没有问题,并运行它,这正是 OP 试图实现的目标。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多