我有一个变量$结果,其值是:
SESSIONNAME USERNAME ID STATE TYPE DEVICE
rdp-tcp#1 account17 7 Active rdpwd
我想单独获取ID的值,并在其他查询中使用它。
我尝试了以下方法:
1.-$idValue = @($result | %{ $_.ID })
但是没有得到价值。
2.-$result |Select -ExpandProperty ID
我收到错误消息“选择对象:找不到属性“ ID”。”
如何从结果中单独获取属性ID的值?
qwinsta
/query
命令的输出是字符串,而不是对象,因此没有ID
要打印的属性。如果要将字段用作属性,则需要将字符串转换为对象:
query session | ? { $_ -match '^[ >](\S+) +(\S*?) +(\d+) +(\S+)' } |
select @{n='Service';e={$matches[1]}},
@{n='Username';e={$matches[2]}},
@{n='ID';e={$matches[3]}},
@{n='Status';e={$matches[4]}} | % {
$_.ID
}
或者,如果您仅对ID感兴趣,则可以执行如下正则表达式替换:
$account = 'account17'
$pattern = '^[ >]\S+ +\S*? +(\d+) +\S+.*'
(query session $account | select -Skip 1) -replace $pattern, '$1'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句