トップ回答者
リモートデスク接続を行おうとしたサーバへquery sessionを実施した際の表示について

質問
回答
-
Windows API の WTSQuerySessionInformation を使えば取得できるのですが、プログラムを書く必要があります。
外部のユーティリティを使う方法になりますが、
Windows Sysinternals の PsLoggedOn (RDP に関係なく、ログオン中のすべてのユーザーの列挙)
https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedonまたは
PowerShell 用の PSTerminalServices モジュール (WTSQuerySessionInformation を使用して RDP 接続の詳細情報を列挙)
https://github.com/imseandavis/PSTerminalServices/blob/master/PSTerminalServices.msiで目的のことができると思います。
実行例
PS C:\Users\Administrator> psloggedon -nobanner
Users logged on locally:
2019/04/17 8:53:42 WS2016SV01\Administrator
2019/04/17 9:11:17 LOCALAD\Administrator
<unknown time> NT SERVICE\MSSQL$MICROSOFT##WIDNo one is logged on via resource shares.
PS C:\Users\Administrator> Import-Module PSTerminalServices
PS C:\Users\Administrator> Get-TSSessionServer SessionID State IPAddress ClientName WindowStationName UserName
------ --------- ----- --------- ---------- ----------------- --------
localhost 0 Disconnected Services
localhost 1 Connected Console
localhost 2 Active 192.168.50.5 CLIENT1 RDP-Tcp#1 WS2016SV01\Admini...
localhost 3 Active 192.168.50.40 CLIENT2 RDP-Tcp#5 LOCALAD\administr...
localhost 65536 Listening RDP-Tcp -
チャブーンです。
Yamauchiさん、情報ありがとうございます。すでに以下のブログにご自身で書かれていますよね。
https://yamanxworld.blogspot.com/2011/06/rdp-by-powershell.html
ここに詳しい情報があるので、こちらも参照されるといいかと思います>質問者さん
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 回答としてマーク tk-1732 2019年4月17日 21:47
すべての返信
-
tk-1732さん、こんにちは。フォーラムオペレーターのHarukaです。
TechNetフォーラムにご投稿くださいましてありがとうございます。
次のコマンドを使用して、現在のアカウントがドメインアカウントかローカルアカウントかを確認できます。
Whoami
次のスクリーンショットを見てください。
ローカルアカウント(server201601はコンピュータの名前です):
ドメインアカウント(wyyは私のテストドメインの名前です):上記の情報はご参考になれば幸いです。
どうぞよろしくお願いします。
MSDN/ TechNet Community Support Haruka
ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~- 編集済み Haruka6002Microsoft contingent staff, Moderator 2019年4月16日 7:08
-
Windows API の WTSQuerySessionInformation を使えば取得できるのですが、プログラムを書く必要があります。
外部のユーティリティを使う方法になりますが、
Windows Sysinternals の PsLoggedOn (RDP に関係なく、ログオン中のすべてのユーザーの列挙)
https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedonまたは
PowerShell 用の PSTerminalServices モジュール (WTSQuerySessionInformation を使用して RDP 接続の詳細情報を列挙)
https://github.com/imseandavis/PSTerminalServices/blob/master/PSTerminalServices.msiで目的のことができると思います。
実行例
PS C:\Users\Administrator> psloggedon -nobanner
Users logged on locally:
2019/04/17 8:53:42 WS2016SV01\Administrator
2019/04/17 9:11:17 LOCALAD\Administrator
<unknown time> NT SERVICE\MSSQL$MICROSOFT##WIDNo one is logged on via resource shares.
PS C:\Users\Administrator> Import-Module PSTerminalServices
PS C:\Users\Administrator> Get-TSSessionServer SessionID State IPAddress ClientName WindowStationName UserName
------ --------- ----- --------- ---------- ----------------- --------
localhost 0 Disconnected Services
localhost 1 Connected Console
localhost 2 Active 192.168.50.5 CLIENT1 RDP-Tcp#1 WS2016SV01\Admini...
localhost 3 Active 192.168.50.40 CLIENT2 RDP-Tcp#5 LOCALAD\administr...
localhost 65536 Listening RDP-Tcp -
チャブーンです。
Yamauchiさん、情報ありがとうございます。すでに以下のブログにご自身で書かれていますよね。
https://yamanxworld.blogspot.com/2011/06/rdp-by-powershell.html
ここに詳しい情報があるので、こちらも参照されるといいかと思います>質問者さん
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 回答としてマーク tk-1732 2019年4月17日 21:47