【问题标题】:wmic with subcommand in sequence with powershell. (" wmic" then next line "csproduct"). subcommand "csproduct" not executingwmic 与 powershell 顺序的子命令。 (“wmic”然后是下一行“csproduct”)。子命令“csproduct”未执行
【发布时间】:2021-08-16 18:03:16
【问题描述】:

wmic 与 powershell 顺序的子命令。 (“wmic”然后下一行“csproduct”,我已经粘贴在powershell中。csproduct没有作为子命令粘贴在powershell中。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您正在粘贴多行行,这些行单独执行

    • 首先,wmic 单独执行,立即使其进入wmicREPL,您可以在其中以交互方式提交命令.

    • 只有 之后 PowerShell - 在wmic REPL 处于活动状态时不受控制 - 尝试粘贴另一行 csproduct;也就是说,您会看到在退出 REPL 后粘贴了这个词,通常是 exit


    要简单地执行csproduct 子命令,请将wmiccsproduct 放在相同 行并粘贴:wmic csproduct

    这将使wmic 执行子命令,返回其输出,然后退出,将控制权返回给 PowerShell。

    如果您的意图是提供多个子命令,通过字符串或文件

    • 通过字符串:
    'csproduct', 'context' | wmic
    
    • 通过文件:
    'csproduct', 'context' > subcmds.txt
    
    Get-Content subcmds.txt | wmic
    

    但是,请注意,这会在每个子命令之前以及最后一次打印 REPL 提示符,因此您可能需要执行 单独wmic调用,在ForEach-Object的帮助下:

    Get-Content subcmds.txt | ForEach-Object { wmic $_ }
    

    后退一步

    【讨论】:

    • @MiteshPatel,请看我的更新。如果这没有帮助,请说明您的用例。
    【解决方案2】:

    或者这在powershell中是一样的,csproduct是win32_computersystemproduct的wmic类别名,你会得到一个对象输出而不是文本。

    get-ciminstance win32_computersystemproduct
    
    IdentifyingNumber : ABCDEFG
    Name              : 4321AB5
    Vendor            : LENOVO
    Version           : ThinkCentre M92z
    Caption           : Computer System Product
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      相关资源
      最近更新 更多