这个wmic查询(NODE,USER,PASS都是脱敏的).
wmic /NODE:10.00.00.1 /LOCALE:MS_409 /PRIVILEGES:ENABLE /TRACE:OFF /INTERACTIVE:OFF /FAILFAST:OFF /USER:domain\my_user /PASSWORD:myPass! /OUTPUT:STDOUT /APPEND:STDOUT /AGGREGATE:ON class StdRegProv CALL EnumKey ^&H80000002,"Software\Microsoft\SystemCertificates\MY\Certificates"^&H80000002是HKEY_LOCAL_MACHINE的uint32转换
..。在Windows的CMD提示符中完美地运行。我也可以在本地windows机器的节点包上下文中成功地运行它,我将假设这是因为wmic调用是专门对本地机器(windows)进行的,在那里可以轻松地处理它。还给我一个包含我所需要的结果..。
res.sNames
我创建了一个用于运行高山和节点的docker容器,在这里我托管了一个express应用程序。我按照下面的说明在Linux上安装WMIC .
https://askubuntu.com/questions/885407/installing-wmic-on-ubuntu-16-04-lts
此程序已成功安装。
现在,当我通过Node应用程序或直接命令从Ubuntu中的bash提示符运行完全相同的查询时,我将收到以下结果:
$ wmic.exe /NODE:10.00.00.1 /LOCALE:MS_409 /PRIVILEGES:ENABLE /TRACE:OFF /INTERACTIVE:OFF /FAILFAST:OFF /USER:domain\my_user /PASSWORD:myPass!/OUTPUT:STDOUT /APPEND:STDOUT /AGGREGATE:ON class StdRegProv CALL EnumKey ^&H 800002,Software\Microsoft\SystemCertificates\MY\Certificates: 426 bash: H80000002,Software\Microsoft\SystemCertificates\MY\Certificates: No此类文件或目录$ ERROR: Description = Access被拒绝。
在我的一生中,我无法确定这是由于Linux中的字符串格式错误,还是Linux运行的是一个不同的wmic版本,没有正确地解决我的查询?
在尝试@A.B的建议之后,我删除了插入符号/符号(^&),这是输出:
$wmic/NODE:10.23.0.11 /LOCALE:MS_409 /PRIVILEGES:ENABLE /TRACE:OFF /INTERACTIVE:OFF /FAILFAST:OFF /USER:aim4gain\svc_certdisc /PASSWORD:finiTAryduRationmagneticDialuP!/OUTPUT:STDOUT /APPEND:STDOUT /AGGREGATE:ON class StdRegProv CALL EnumKey H80000002 : Description = Access被拒绝。
这是同一个查询,我在这两个操作系统上运行的凭据相同,但是我在Windows上没有遇到任何问题。
发布于 2019-10-29 19:58:53
对于任何想知道的人来说,经过几个小时的测试,这与非常模糊的错误信息。确保你绝对地逃避一切,以bash风格,而不是以窗口的方式。
注意:
\$而不是^&参考资料(感谢@A.B):
https://manpages.debian.org/buster/bash/bash.1.en.html#QUOTING
$ wmic /NODE:10.23.0.11 /LOCALE:MS_409 /PRIVILEGES:ENABLE /TRACE:OFF /INTERACTIVE:OFF /FAILFAST:OFF /USER:'domain\my_user' /PASSWORD:'myPass!' /OUTPUT:STDOUT /APPEND:STDOUT /AGGREGATE:ON class StdRegProv CALL EnumKey \&H80000002,"Software\Microsoft\SystemCertificates\MY\Certificates"
Executing (StdRegProv)->EnumKey()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
ReturnValue = 0;
sNames = {"BB731A3DD8F089A6D4E59AF9D70601F9CBB94A9D"};
};https://unix.stackexchange.com/questions/549340
复制相似问题