Linux 与 Windows 的 WMIC 差异

WMIC differences in Linux vs Windows

这个wmic查询(NODEUSERPASS全部脱敏)...

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"

^&H80000002HKEY_LOCAL_MACHINE

的uint32转换

... 运行s 在 Windows 的 CMD 提示符中完美无缺。我也可以在本地 windows 机器的节点包的上下文中 运行 它成功,我假设这是因为 wmic 调用是专门针对本地进行的机器 (windows) 毫不费力地处理它。返回给我一个包含我需要的结果...

res.sNames [ 'BB731A3DD8F089A6D4E59AF9D706...' ]

我创建了一个 docker 容器 运行ning Alpine 和我托管快速应用程序的节点。我按照下面的说明在 Linux...

上安装了 WMIC

https://askubuntu.com/questions/885407/installing-wmic-on-ubuntu-16-04-lts

安装成功。

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

Garne@MYCOMPUTERNAME MINGW64 ~ $ 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 ^&H80000002,"Software\Microsoft\SystemCertificates\MY\Certificates"

[1] 426

bash: H80000002,Software\Microsoft\SystemCertificates\MY\Certificates: No such file or directory

Garne@MYCOMPUTERNAME MINGW64 ~ $ ERROR: Description = Access is denied.

我这辈子都搞不清楚这是由于 Linux vs Windows 中的字符串格式错误还是 Linux 是 运行正在使用无法正确解析我的查询的 wmic 的不同变体?

对于任何想知道的人,经过数小时的测试后,错误消息非常模糊。确保以 bash 风格而不是 windows 风格完全转义所有内容。

注:

  • $ 而不是 ^&
  • 将 USER 值包装在“”中
  • 将 PASSWORD 值包装在 ''

此处引用:

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"};
};