Powershell 显示错误的用户数量

问题描述 投票:0回答:1
$computer = 'computername';
$users = gwmi win32_LogonSession -Computer $computer -Filter 'LogonType=2 or LogonType=10' | %{  
    gwmi -ComputerName $computer -Query "Associators of {Win32_LogonSession.LogonId=$($_.LogonId)} Where AssocClass=Win32_LoggedOnUser Role=Dependent" | select -Expand Name
};
$anzahl_user =  $users.count;

提供旧信息,即用户消失了,但根据 powershell 他仍然在那里。它干扰了对系统中真实用户数量的观察。有人知道 powershell 出现这种错误反馈的原因以及哪个命令(哪个更正)可以为我提供持续正确的系统用户数量?

我只能通过服务器管理器远程 desctop Dinste(德语名称)控制用户。我希望得到内部机制的解释,为什么命令给我错误的结果以及如何纠正问题的建议。我认为与用户相关的一些进程仍在进行中,因此 powershell 认为用户存在,而服务器管理器已经检测到他不存在。

windows powershell user-accounts
1个回答
0
投票
$UserProfiles = Get-WmiObject -Query "SELECT * FROM Win32_UserProfile  WHERE Special != TRUE AND Loaded = TRUE"
foreach ($Profile in $UserProfiles)
    {
    $UserID = $Profile.LocalPath.Split('\') | Select-Object -Last 1
    $LoginTable = [ordered]@{'LoginID'=$UserID}
    $LoginID = New-Object -TypeName PSObject -Property $LoginTable
    Write-Output -InputObject $LoginID
    }
© www.soinside.com 2019 - 2024. All rights reserved.