Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux与Windows中的WMIC差异_Linux_Windows_Bash_Registry_Wmic - Fatal编程技术网

Linux与Windows中的WMIC差异

Linux与Windows中的WMIC差异,linux,windows,bash,registry,wmic,Linux,Windows,Bash,Registry,Wmic,此wmic查询节点,用户,通过所有脱敏 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,"So

此wmic查询节点,用户,通过所有脱敏

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_本地_机器的uint32转换

。。。在Windows中的CMD提示符中完美运行。我还可以在本地windows机器的节点包上下文中成功运行它,我假设这是因为wmic调用专门针对本地机器windows进行的,在那里它可以轻松处理。向我返回一个包含我所需内容的结果

res.sNames[“BB731A3DD8F089A6D4E59AF9D706…”

我创建了一个docker容器,运行Alpine和节点,我在其中托管了一个express应用程序。我按照下面的说明在Linux上安装WMIC

这已成功安装

现在,当我通过我的节点应用程序或直接命令在Ubuntu中的bash提示符下运行完全相同的查询时,我收到了以下结果:

Garne@MYCOMPUTERNAME明W64~ $wmic.exe/NODE:10.00.00.1/LOCALE:MS_409/PRIVILEGES:ENABLE/TRACE:OFF/INTERACTIVE:OFF/FAILFAST:OFF/USER:domain\my_USER/pass:myPass/输出:STDOUT/APPEND:STDOUT/AGGREGATE:ON类StdRegProv CALL EnumKey^&h8000002,Software\Microsoft\SystemCertificates\MY\Certificates

[1] 426

bash:H80000002,Software\Microsoft\SystemCertificates\MY\Certificates:没有这样的文件或目录

Garne@MYCOMPUTERNAMEMINGW64~$ERROR:Description=访问权限为 否认


在我的一生中,我无法确定这是由于Linux和Windows中的字符串格式错误,还是Linux运行的wmic的另一个变体没有正确解析我的查询?

对于任何想知道的人,在经过数小时的测试后,用非常模糊的错误消息来验证这一点。确保以bash样式而不是windows样式完全避开所有内容

注:

\$而不是^& 将用户值包装到 将密码值包装在 此处的参考资料:


你能告诉我你为什么投反对票吗?
$ 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"};
};