0

你好

我有 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' ;
}

所以我现在有了连接对象,我想用它作为输入参数来查找关联的连接属性,但我不知道该怎么做。我不想解析任何东西;我可以对字符串进行一些解析,但肯定应该有一种方法可以按原样使用这个对象。

关于如何在 where 中使用对象的任何输入(简单的 WQL 查询而不是 power shell)

select * from something where something.otherobject = otherobject;

类似上面的东西。

有任何想法吗。

谢谢。

4

1 回答 1

0

所以快速回答是肯定的,或者至少据我了解你的问题,答案是肯定的。

Get-WmiObject有一个-filter可用于输入 WQL 查询的参数。举个例子:

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

$() 符号表示我在本例中使用它来扩展 Service 变量的 ProcessID 属性的子表达式。

于 2014-05-05T21:26:11.473 回答