嗨
我有两个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属性。