WMIC 命令有效,但在 powershell 脚本中无效

WMIC 命令有效,但在 powershell 脚本中无效
#Get Data Rate
wmic "/OUTPUT:'C:\Users\user\Documents\DATE RATE\Data_Rate-ts8"+".txt" nic where 'NetEnabled = True' 'get Name,MacAddress,Speed'"

在控制台中直接运行此命令即可。这只是因为在控制台中我可以这样做:

ps C:\>wmic
wmic:root\cli>/OUTPUT:"C:\Users\user\Documents\DATE RATE\Data_Rate-ts8"+".txt" nic netenabled ="True"
wmic:root\cli>exit
ps C:\>

在 powershell 脚本中,我不能简单地先输入 WMIC,然后再输入其余命令,否则它会通过输入 WMIC 提示符来中断脚本,等待用户输入并且不再执行脚本。

当我将其放入 powershell 脚本(第一个代码片段)时,我不断收到:

未找到别名

我尝试了不同的引号组合。但我上面发布的脚本具体给出了:

“/OUTPUT:'C:\Users\user\Documents\DATE RATE TESTS\Data_Rate-ts8'+'.txt'nic,其中'NetEnabled = True''获取名称 - 未找到别名。

答案1

您决定继续使用 WMIC 吗?如果您正在使用 powershell,您可能会发现使用本机 powershell cmdLets 来获取相同信息更有用。

根据您对文件的操作,这可能会允许您跳过该文件。您还可以将 WMI 查询结果传输到| foreach { }

get-wmiobject Win32_NetworkAdapter -filter 'NetEnabled = True' | select-object Name,MacAddress,Speed | format-list | out-file dataRate.txt

相关内容