我目前在PowerShell中有以下查询:
query user /server:$server
Run Code Online (Sandbox Code Playgroud)
返回输出:
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
svc_chthost 2 Disc 1:05 8/16/2016 12:01 PM
myusername rdp-tcp 3 Active . 8/29/2016 11:29 AM
Run Code Online (Sandbox Code Playgroud)
目前,我正在使用@(query user /server:$server).Count - 1
一个值来表示已登录的用户数量(我知道这并不漂亮)。但是,现在我想获取诸如USERNAME
,等信息ID
,并LOGON TIME
在脚本的其他部分中使用。
我的问题是围绕一种更轻松的方法来解析上述信息,或者可能是对我的问题的更好解决方案:统计和收集与登录用户有关的信息。
我找到了其他似乎更有效的解决方案,但是我确信必须有一种更简单的方法来完成此任务:
$ComputerName | Foreach-object {
$Computer = $_
try
{
$processinfo = @(Get-WmiObject -class win32_process -ComputerName $Computer -EA "Stop")
if ($processinfo)
{
$processinfo | Foreach-Object {$_.GetOwner().User} |
Where-Object {$_ -ne "NETWORK SERVICE" -and $_ -ne "LOCAL SERVICE" …
Run Code Online (Sandbox Code Playgroud)