我想以编程方式检查拥有该流程的有效用户是什么,从该流程内部,在Windows下。·
可能是winapi,但最好使用.net解决方案。
有一个复杂的系统,我没有完美的控制,.net应用程序获取“访问被拒绝”的某些网络文件系统路径,因此我想知道哪个用户应该获得访问此路径的权限,所以我需要拥有尝试访问它的进程的用户。
答案 0 :(得分:1)
答案 1 :(得分:0)
虽然不是.net,但Unix to Windows Porting Dictionary上的以下文章:
uid_t getuid();
uid_t geteuid();
...是解决这个问题的良好开端。
从那篇文章:
Unix进程维护用户的UID之间的区别 启动进程(真正的UID)和用户的UID 进程正在运行(有效的UID)。 Windows没有 保持这种区别。 SID的值将是等价的 Unix有效UID。由于相当于Unix真正的UID 使用SID时无法获得建议用于Windows的时候 需要真实或有效的UID。