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



我有两个Wmi对象,其中一个是另一个的属性。

这是我的密码。

$connections = get-wmiobject -class 'HNet_Connection' -Namespace  'rootMicrosoftHomeNet' ; 
$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  'rootMicrosoftHomeNet' ;
}

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

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

从something.otherobject=otherobject中选择*;

类似上面的东西。

任何想法。

谢谢。

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

Get-WmiObject有一个-filter参数,您可以使用它来输入WQL查询。例如:

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

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

最新更新