Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在检索启动进程的实际用户帐户_C# - Fatal编程技术网

C# 正在检索启动进程的实际用户帐户

C# 正在检索启动进程的实际用户帐户,c#,C#,我正在尝试检索已启动进程的用户帐户。到目前为止,我还没有找到任何能够检索到良好信息的答案。它们都返回用户名的字符串,该用户名不是帐户。我尝试了WMI和诊断,结果都是一样的,都是正确的一半 假设我启动记事本两次 第一个是我用帐户:\MyDomain\frank打开的 第二次,我用以下帐户打开它:\MyComputer\Franck 然后使用WMI或Diagnostics并返回用户名“Franck”,我无法知道它是在本地用户下运行还是在域用户下运行 一种方法是使用诊断 var procs = P

我正在尝试检索已启动进程的用户帐户。到目前为止,我还没有找到任何能够检索到良好信息的答案。它们都返回用户名的
字符串,该用户名不是帐户。我尝试了WMI和诊断,结果都是一样的,都是正确的一半

假设我启动记事本两次

  • 第一个是我用帐户:\MyDomain\frank打开的
  • 第二次,我用以下帐户打开它:\MyComputer\Franck
然后使用WMI或Diagnostics并返回用户名“Franck”,我无法知道它是在本地用户下运行还是在域用户下运行

一种方法是使用诊断

var procs = Process.GetProcessesByName("Notepad").ToList();
var notepad1 = procs[0].StartInfo.Environment["Username"];
var notepad2 = procs[1].StartInfo.Environment["Username"];

两者都返回
frank
,但其中一个是域帐户,另一个是本地帐户。

如果您想要包含用户帐户的域的名称,那么您需要

如果您想要哪个域控制器验证客户端的登录请求,那么您需要查找

我的windows计算机上的值(本地用户):


因此,您应该能够从中确定它是在本地用户下运行还是在域用户下运行。

tasklist/v
提供您感兴趣的相关信息,即用户名和域名

文档中没有显示任何示例输出

任务列表

显示本地计算机或远程计算机上当前正在运行的进程的列表

/v在输出中显示详细的任务信息

您可以将其与
/fo csv
选项一起使用,以获取结果并对其进行解析

来自SuperUser的此命令具有显示输出的屏幕截图


您可以将此命令作为独立于应用程序的进程运行,类似于,但传递另一个。

它也不起作用。这两个进程为所有
Username
UserDomain
LoginServer
返回完全相同的值,它们是“frank”、“MyDomain”、“MyDomainController”。您是否在同一台机器上运行这两个进程?如果是,那么我想你会得到相同的值。检查这两个都在同一台机器上。登录为域的用户上的相同会话。稍后我将检查链接您是以代码启动这些进程,还是查看现有正在运行的进程?这很完美。它确实显示了运行流程的真实用户。
var procs = Process.GetProcessesByName("Notepad").
var userDomain = procs[0].StartInfo.Environment["UserDomain"];
var logonServer = procs[0].StartInfo.Environment["LogonServer"];
userDomain: "LAPTOP-DDK137L8"
logonServer: "\\LAPTOP-DDK137L8"