使用另一个对象作为属性的WMI对象(如何将对象作为输入参数传递)

时间:2014-05-05 21:06:08

标签: powershell wmi wql


您好

我有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)中使用对象的任何输入

从something.otherobject = otherobject;

中选择*

如上所述。

任何想法。

感谢。

1 个答案:

答案 0 :(得分:0)

所以快速回答是肯定的,或者至少就我理解你的问题而言,答案是肯定的。

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

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

$()符号表示在这种情况下我使用它来扩展Service变量上的ProcessID属性的子表达式。