在Linux上,使用winexe时,我需要获取注册表项的值。
注册表键的路径包含空格。
我使用以下命令:
/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中正确处理空格?
发布于 2013-06-12 22:07:34
我被另一个问题误导了。
我的winexe是一个32位应用程序,它在64位远程系统(windows Server2003)上运行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"'发布于 2013-05-30 04:38:28
尝试用双引号将文件夹引起来,如下所示:
/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"'请注意,空格是问题所在,请尝试使用双引号命令,直到某些命令成功。如果失败,请再次告诉我们错误输出。
https://stackoverflow.com/questions/16817790
复制相似问题