【问题标题】:handling space in winexe reg query commandwinexe reg 查询命令中的处理空间
【发布时间】:2013-05-29 15:17:54
【问题描述】:

在 Linux 上,我需要使用 winexe 获取注册表项的值。

reg 键的路径包含空格。

我使用这个命令:

/usr/bin/winexe -U domain/user%"password" //host 'REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Antimalware\Signature Updates" /v ScheduleDay'

我尝试使用简单引号、双引号、两者混合使用,但我不断收到密钥无效的消息。

在windows上我试过了,它可以工作:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Antimalware\Signature Updates" /v ScheduleDay

如何使用 winexe 正确处理 bash 中的空格?

【问题讨论】:

    标签: bash registry space winexe


    【解决方案1】:

    尝试用这样的空格双引号文件夹:

    /usr/bin/winexe -U domain/user%"password" //host 'REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\"Microsoft Antimalware"\"Signature Updates"" /v ScheduleDay'
    

    它可能有效,我不确定。您能准确地发布错误输出吗?

    编辑:试试这个:

    /usr/bin/winexe -U domain/user%"password" //host '"REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Antimalware\Signature Updates" /v ScheduleDay"'
    

    注意空格是问题,尝试双引号命令直到成功。如果失败,再次告诉我们错误输出。

    【讨论】:

    • 感谢您的回复,但根据您的命令,我有:“ERREUR▒:语法不正确”(语法错误)。在我的其他测试中,我有:“ERREUR▒:non de clé non valide”(无效密钥)和“错误:错误创建过程”
    • 测试了您的编辑:错误:错误创建过程(“REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Antimalware\Signature Updates" /v ScheduleDay") 2
    【解决方案2】:

    我被另一个问题误导了。

    我的 winexe 是一个 32 位应用程序,它在 64 位远程系统(windows server 2003)上运行 32 位 reg.exe。

    在这种情况下,键“HKEY_LOCAL_MACHINE\SOFTWARE”默默地指向我的远程系统的 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node 键。

    这是由windows的注册表重定向器引起的

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa384232%28v=vs.85%29.aspx

    为了避免这种重定向,我不得不像这样强制使用 64 位 reg.exe:

    /usr/bin/winexe -U domain/login%"password" //host '**cmd /C %WINDIR%\sysnative\reg.exe** "QUERY" "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Antimalware\Signature Updates"'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      • 2018-04-22
      • 2016-12-10
      • 1970-01-01
      相关资源
      最近更新 更多