从Powershell中的查询用户/服务器的结果中删除列

时间:2017-07-10 16:08:48

标签: powershell

目前我使用它来显示我们服务器上的远程会话,但我想编辑结果表以删除列SESSIONNAME

param([string]$Server)
query user /server:$Server

我试过了:

  • 正则表达式
  • format-table -property username,id,state,idletime,logontime
  • Select所有其他列。

所有这些都导致没有输出。

我尝试了来自这里作为重复链接的帖子的回复,但我认为它不起作用,因为我必须完全限定服务器。我不知道如何调整此代码以显示sessionnames列之外的所有内容。

param([string]$Input)

$Server = $Input + ".network"
$re = '(\w+)\s+?(\S*)\s+?(\d+)\s+Disc\s+(\S+)\s+(\d+\.\d+\.\d+)'

query user /server:$Server | Where-Object { $_ -match $re } | ForEach-Object 
{
  New-Object -Type PSCustomObject -Property @{
    'Username'  = $matches[1]
    'SessionID' = $matches[3]
    'IdleTime'  = $matches[4]
    'LogonTime' = $matches[5]
  }
} | Select-Object Username, IdleTime

0 个答案:

没有答案