【问题标题】:WMI Object with another object as property ( how to pass an object as input parameter)具有另一个对象作为属性的 WMI 对象(如何将对象作为输入参数传递)
【发布时间】:2014-05-05 21:06:07
【问题描述】:

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

类似上面的。

任何想法。

谢谢。

【问题讨论】:

  • 请稍微整理一下您的问题。还要注意你的语言,从 PowerShell 的角度来看,你的一些术语有点令人困惑。

标签: powershell wmi wql


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多