Объект WMI с другим объектом в качестве свойства (как передать объект в качестве входного параметра)


Hi

У меня есть 2 объекта Wmi, один из которых является собственностью другого.

вот мой код.

$connections = get-wmiobject -class 'HNet_Connection' -Namespace  'root\Microsoft\HomeNet' ; 

$connectioName = 'ethernet';

#Write-Host $connections;

foreach ($connection in $connections)
{
if ( $connection.Name -eq $connectioName) 
{
$connectionx = $connection;
Write-Host $connectionx;
}
}


$connectionproperties = get-wmiobject -class 'HNet_Connectionproperties' -Namespace  'root\Microsoft\HomeNet' ;
}

Итак, у меня есть объект подключения, теперь я хочу использовать его в качестве входного параметра для поиска связанных свойств подключения, и я понятия не имею, как это сделать. Я не хочу ничего анализировать; Я могу выполнить некоторый синтаксический анализ строки, но наверняка должен быть способ использовать этот объект как есть.

Любые данные о том, как использовать объект в том, где (простой запрос WQL вместо Power Shell)

выберите * из чего-то, где something.otherobject = otherobject;

что-то вроде выше.

Есть идеи.

Спасибо.


person user1088352    schedule 05.05.2014    source источник
comment
Пожалуйста, очистите свой вопрос немного. Также будьте осторожны с вашим языком, некоторые из ваших терминов немного сбивают с толку с точки зрения PowerShell.   -  person Jason Morgan    schedule 06.05.2014


Ответы (1)


Итак, быстрый ответ — да, или, по крайней мере, насколько я понимаю ваш вопрос, ответ — да.

Get-WmiObject имеет параметр -filter, который можно использовать для ввода запроса WQL. Например:

$service = Get-WmiObject Win32_service -Filter "Name = 'Bits'" Get-WmiObject Win32_process -Filter "ProcessID = $($service.ProcessId)"

Символ $() указывает на подвыражение, которое я использую в этом случае, чтобы расширить свойство ProcessID в переменной службы.

person Jason Morgan    schedule 05.05.2014