C# 如何获取windows用户的临时路径,而不是当前的临时路径

C# 如何获取windows用户的临时路径,而不是当前的临时路径,c#,.net,registry,windows-server-2012-r2,C#,.net,Registry,Windows Server 2012 R2,Windows 2012 R2,用户1:dev,用户2:dev 在C#中有一个方法Path.GetTempPath()。user1是windows帐户,用作运行服务的登录。在该服务中,使用临时路径 通过user2运行的应用程序希望知道此路径以进行一些检查。我怎样才能找到这条路? 如何获取另一个windows帐户使用的临时路径 我尝试了以下方法: ServiceController sc = new ServiceController("service"); string serviceAcc

Windows 2012 R2,用户1:dev,用户2:dev

在C#中有一个方法Path.GetTempPath()。user1是windows帐户,用作运行服务的登录。在该服务中,使用临时路径

通过user2运行的应用程序希望知道此路径以进行一些检查。我怎样才能找到这条路? 如何获取另一个windows帐户使用的临时路径

我尝试了以下方法:

 ServiceController sc = new ServiceController("service");
 string serviceAccountName = RegistryHelpers.GetServiceAccountNameFromRegistry(sc);
 if (serviceAccountName.Equals("LocalSystem"))
                return null;

 // this is necessary for local accounts => Sid constructor throws exception
 serviceAccountName = serviceAccountName.Replace(@".\", @"");

 Sid sid = new Sid(serviceAccountName);

 string regKey = sid.SidString + @"\Environment";
 string tempPathValue = RegistryHelpers.GetRegistryValueFromRegistryUsers(regKey, "TEMP");
本例中的问题是SidString\Environment中的RegistryValue为“%USERPROFILE%\AppData\Local\Temp”,这导致当前登录的windows用户配置文件


感谢您,祝您新年快乐,万事如意。

如果您想在用户之间共享数据,那么也许临时目录不是存储数据的最佳位置?我不想共享数据。我想检查病毒检测解决方案是否正在扫描此路径。