具有多个变量的 PowerShell WMI 函数调用

具有多个变量的 PowerShell WMI 函数调用

我想调用一个 WMI 方法,该方法以一个字符串作为输入、一个整数作为输入和一个整数作为输出。

以下是当前的示例:

$obj=Get-WmiObject -class "class1" -namespace "space1" $obj| Invoke-wmiMethod -name fun -ArgumentList $devUUID , $role , $status

答案1

您在这里到底想实现什么目标?

一个简单的 Get-WMIObject 和几个 Read-Hosts 应该可以完成您需要的操作:

$className = Read-Host "Enter Class Name"
$computerName = Read-Host "Enter Computer Name"
if ([string]::IsNullOrWhitespace($computerName)) {
    $computerName = "."
}

Get-WmiObject -ComputerName $computerName -Class $className

添加一些额外的错误检查,这样您就不会尝试检查无效的类名等,然后就可以开始了。示例如下: 在此处输入图片描述


您还可以在命令字符串内进行连接,如下所示:

Get-WMIObject -Class ($string1 + "32" + "_" + $string2) -ComputerName "."

(在本例中,$string1 包含“WIN”,$string2 包含“BIOS”)

括号中的内容在其父命令之前进行处理。您甚至可以更深入地在括号内执行括号。PowerShell 将从最深层开始,然后一路向外执行,直到遇到父命令,然后执行完全计算的字符串。

相关内容