Windows 2012 R2,user1:dev,user2:dev
在C#中有一个方法Path.GetTempPath()。 user1是一个Windows帐户,用作登录以运行服务。在此服务中使用TempPath。
通过user2运行的应用程序想知道某些检查的路径。我怎么能得到这条路呢? 如何获取另一个Windows帐户使用的TempPath?
我尝试了以下内容:
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用户配置文件。
谢谢,新年快乐,祝福等等。