2017-04-17 3 views
0

RDSファームのTS部分の1つで簡単なコマンドを実行しようとしていますが、結果は得られません。Powershell Win32_ServerConnection on TS Server 2012 no result

Get-WmiObject Win32_ServerConnection -ComputerName MYTSSERVER 

を使用しているTSのすべての接続を確認したいだけです。どんな考えが原因である可能性がありますか?

+0

[ServerFaultの上のこの質問は](https://serverfault.com/questions/342533/wmi-object-to-get-current -sessions-with-client-name)はあなたが探しているものかもしれません – BenH

答えて

1

Win32_ServerConnectionは、マシン上のネットワーク共有へのアクティブな接続を示していただき、ありがとうございます。アクティブなネットワーク共有またはそれらへの接続がない場合、結果は表示されません。

リモートセッションを探しているRDSファームのターミナルサーバーであるため、Win32_LoggedOnUserが必要な場合があります。つまり、Win32_LoggedOnUserは、切断されたセッションや閉じられたセッションをクリアしません。その情報が有効かどうかに関係なく、最後のコンピュータの再起動以降のすべてのセッションが表示されます。

これは非常に面倒ですが、実際のセッションやアクティブなセッションをリストする最も良い方法は、マシン上で実行されているexplorer.exeのすべてのコピーとそれらが所属する人物をリストにすることです。オブジェクトにquery.exeの出力をオンにするPowerShellでの方法があります。

$Users = query user /server:TERMSERV01 2>&1 
$Users = $Users | ForEach-Object { (($_.trim() -replace ">" -replace "(?m)^([A-Za-z0-9]{3,})\s+(\d{1,2}\s+\w+)", '$1 none $2' -replace "\s{2,}", "," -replace "none", $null)) } | ConvertFrom-Csv 
$Users 
+0

あなたの答えをありがとう!それは他のいくつかの質問をもたらします。ここでの目標は、ユーザーを取得してComputerNameを解決することです。 (Get-WmiObject Win32_LoggedOnUser -ComputerName MYTSSERVER |ここでusername -match "test1")ComputerNameは実際には動作しません。私はそれをどうやってできるのか考えていますか? – mastergat

+0

私はLoggenOnUserのプロパティをチェックしましたが、私はそれが私が欲しいものを達成することはできないと思います。私はすでにTSにWin32_ProcessとGetOwnerを使ってユーザー名を接続しており、このセッションからComputerNameを抽出する必要があります。何か案が? – mastergat

+0

@MasterGatなぜあなたは以前の質問を削除したのですか?実際に達成したいことをはるかに正確に説明しましたか? –

関連する問題