在winexe reg query命令中处理空间

时间:2013-05-29 15:17:55

标签: bash registry space winexe

在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

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

2 个答案:

答案 0 :(得分:0)

尝试使用以下空格的双引号文件夹:

/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"'

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

答案 1 :(得分:0)

我被另一个问题误导了。

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

在此上下文中,键“HKEY_LOCAL_MACHINE \ SOFTWARE”默默指向我的远程系统的HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node Key。

这是由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"'