获取powershell集合中不同用户的数量

时间:2016-03-11 11:42:48

标签: powershell

我在集合中有一些用户需要计算。

该集合将包含以下内容:

  

id ------ user ------ itempath

     

3 ------ user1 ------ C:\ test

     

9 ------ user1 ------ C:\ test

     

26 ----- user2 ------ C:\ test

     

102 ---- user1 ------ C:\ test

我想从中获得的是获取user1和user2的计数。

这样:

  

User1 = 3
  User2 = 1

这些是用户打开的不同程序,因此id可能不会按顺序排列,这意味着某些用户可能在另一个用户之前和之后的集合中。

foreach ($computer in $computername){
$netfile = [ADSI]"WinNT://$computer/LanmanServer"

$netfile.Invoke("Resources") | foreach {
    try{
        $collection += New-Object PsObject -Property @{
        Id = $_.GetType().InvokeMember("Name", ‘GetProperty’, $null, $_, $null)
        itemPath = $_.GetType().InvokeMember("Path", ‘GetProperty’, $null, $_, $null)
        UserName = $_.GetType().InvokeMember("User", ‘GetProperty’, $null, $_, $null)

        }
    }
    catch{
        if ($verbose){write-warning $error[0]}
    }
}
foreach($item in $collection){
    if ($item){

    }else{

    }
}

}

1 个答案:

答案 0 :(得分:0)

来自Matt

的回答
  

您是否尝试过或可能有代码展示?这应该由Group-Object User处理

这对我有用,也给了我数数。