2017-05-04 29 views
0

I am looking to get remote user id using任務管理器用戶ID使用C#

請參閱圖像獲取用戶的id。我通過互聯網搜索,但無法得到答案。下面是我的發現,但這個ID還沒有到來。

if (OS.ToUpper().Contains("WINDOWS 10")) 
{ 
     Process[] localByName = Process.GetProcessesByName("System"); 
     pid = localByName[0].Id.ToString(); 
} 
else if (OS.ToUpper().Contains("WINDOWS 7")) 
{ 
     pid = System.Diagnostics.Process.GetCurrentProcess().SessionId.ToString(); 
} 
+0

psexec \\ remoteSystem -u用戶名-p密碼-h -i 2(想要動態獲取此用戶標識)-d 「path \ Test.exe」 –

回答

0

使用cassia獲取用戶會話ID。

ITerminalServicesManager manager = new TerminalServicesManager(); 
      using (ITerminalServer server = manager.GetRemoteServer(machineName)) 
      { 
       server.Open(); 
       foreach (ITerminalServicesSession session in server.GetSessions()) 
       { 
        if (string.IsNullOrEmpty(session.UserName)) 
         continue; 
        if (session.UserName.Equals(userName, StringComparison.OrdinalIgnoreCase)) 
         sessionId = session.SessionId; 
       } 
      } 

試試這個。

+0

我在access.GetSessions訪問被拒絕錯誤。我們是否需要提供用戶名和密碼?如果需要比如何? –

+0

非常感謝你的工作。但在添加此代碼之前需要在註冊表中進行更改。 AllowRemoteRPC值設置爲1。 –

相關問題