Вызов функции 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 будет запускаться на самом глубоком уровне и работать до тех пор, пока не достигнет родительской команды, а затем выполнить полностью вычисленные строки.