簡體   English   中英

Powershell GET-PSSession 輸出用戶名作為列表框

[英]Powershell GET-PSSession output Username as Listbox

如果我輸入以下調用命令:

Invoke-Command -ComputerName REMOTE-COMPUTER -scriptBlock {query session} -credential CREDENTIALS  | Select-String PART-OF-USERNAME

我在命令行中得到如下輸出:

SITZUNGSNAME      BENUTZERNAME       ID  STATUS 
>services                             0  Getr.                       
 console                              1  Verb.                       
 rdp-tcp#61        User1              2  Aktiv                       
 rdp-tcp#93        User2              3  Aktiv                       
 rdp-tcp#35        User3              4  Aktiv   

現在它應該只在列表框中顯示用戶名,例如:

# Listbox

$listBox = New-Object System.Windows.Forms.ListBox 
$listBox.Location = New-Object System.Drawing.Point(10,60) 
$listBox.Size = New-Object System.Drawing.Size(260,20) 
$listBox.Height = 350

[void] $listBox.Items.Add("User1")
[void] $listBox.Items.Add("User2")
[void] $listBox.Items.Add("User3")
$form.Controls.Add($listBox) 

靜態輸出(示例圖片)

但是我們想要動態顯示所有登錄的用戶。

有沒有人想像上面的例子(示例圖片)那樣將命令行輸出顯示為列表框?

非常感謝 !

歡迎,朱利安! 您需要做的第一件事是解析query session的輸出並將其放入一組對象中。 我發現這個解析示例可以簡化流程。

接下來您需要遍歷該列表並將每個用戶名添加到列表框中。 這應該有效 - 如果您將“localhost”替換為您的目標計算機:

Get-ComputerSessions 'localhost' | %{ [void] $listBox.Items.Add($_.Username) }

感謝您的建議,但對我不起作用。 “Get-ComputerSessions”不是 Cmdlet、函數等的一部分。pp“

但我找到了另一種解決方案來填充我的列表框:

$sessions = Invoke-Command -ComputerName COMPUTERNAME -scriptBlock {query.exe user /server:'localhost'} -credential CREDENTIALS | Select-String SEACHSTRING | sort-object 

[void] $listBox.Items.AddRange($sessions)

或者(我最喜歡的

Invoke-Command -ComputerName COMPUTERNAME -scriptBlock {query session} -credential CREDENTIALS | %{ [void] $listBox.Items.Add($_) } | Select-String SEARCHSTRING | sort-object 

但我只想顯示用戶名和(可選)rdp 用戶的狀態。

它應該看起來像:

User1            active
User2            disconnected

原始輸出包括我需要的更多信息。 對我也不起作用的示例:

是否可以制作一個“表格”或“網格視圖”並將它們放入列表框中? 請參見上面的示例。

非常感謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM