【问题标题】:selecting from a list of results从结果列表中选择
【发布时间】:2016-10-21 09:37:09
【问题描述】:

我正在使用下面的脚本检索上次登录的用户 - 虽然我可以获得帐户列表,但我只需要检索那些包含“域名”名称的用户,而不是来自“本地服务器名称”的帐户.

$Users = Get-WmiObject Win32_LoggedOnUser -ComputerName $ADComputer |
         Select Antecedent -Unique 
\\.\root\cimv2:Win32_Account.Domain="LocalServer",Name="SYSTEM"
\\.\root\cimv2:Win32_Account.Domain="LocalServer",Name="网络服务"
\\.\root\cimv2:Win32_Account.Domain="Domain",Name="user1"

所以我只希望它返回

\\.\root\cimv2:Win32_Account.Domain="Domain",Name="user1"

我尝试了以下方法:

$Users | Select $_.Antecedent | Where {$_.Antecedent.name -like "user1"}

但这会返回空白。我怎样才能只选择这条线?此外,我想最终在结果中返回“user1”。

【问题讨论】:

    标签: powershell select get-wmiobject


    【解决方案1】:

    试试这样的

      Get-WmiObject Win32_LoggedOnUser -ComputerName $ADComputer  | where { ($_.Antecedent -split "=")[2] -like "*user1*" } |  select @{N="Name";ex={($_.Antecedent -split "=")[2]}}
    

    【讨论】:

    • 很好,但是它返回了两次结果?
    • 因为您的 Get-WmiObject commad 返回 2 个条目 ;) 是 -unique 是解决方案或 -first 1 :) 如果没问题,请单击向上箭头
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多