3

RDP セッションを開くスクリプトを作成していますが、RDP セッションが既に実行されているかどうかを確認したいと考えています。私の最初の考えは、メモリ内で実行されている MSTSC.EXE をチェックすることです。これを行う方法はありますか?

問題の代替ソリューションにも開かれています。クライアントが RDS サーバーに 2 回ログインするのを防止しようとしています。同じユーザーが異なるクライアントからログインする可能性があるため、複数のログインが許可されます。

4

1 に答える 1

13

現在、この機能を使用しています。

このように呼び出すだけですIsProcessRunning "compname","mstsc.exe"

Function IsProcessRunning( strComputer, strProcess )
    Dim Process, strObject
    IsProcessRunning = False
    strObject   = "winmgmts://" & strComputer
    For Each Process in GetObject( strObject ).InstancesOf( "win32_process" )
    If UCase( Process.name ) = UCase( strProcess ) Then
        IsProcessRunning = True
        Exit Function
    End If
    Next
End Function
于 2013-11-05T18:00:49.537 に答える