用户配置文件路径在作为计划任务运行时返回默认值

4
我已经创建了以下的C#控制台应用程序:

var userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
var path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
var path2 = Environment.ExpandEnvironmentVariables("%userprofile%");

File.AppendAllText(@"D:\logs\info.txt", userName + " -- " + path + " -- " + path2);

当我使用Windows任务计划程序创建一个计划任务并将用户帐户设置为运行任务到我的帐户(ht-laptop\huseyin)时,我会在info.txt文件中获得以下输出:

ht-laptop\huseyin -- C:\Users\Default\Documents -- C:\Users\Default

不过这似乎是随机的,我曾经见过打印文本如下:

ht-laptop\huseyin -- C:\Users\huseyin\Documents -- C:\Users\huseyin

你有任何想法为什么会出现这种情况吗?

使用 Debugger.Break() 暂停进程。然后使用 Process Explorer 检查它是如何启动的。也许您仍然设置了重复的任务项。 - leppie
1个回答

2

你是否在使用Windows 8+(或类似的版本)? 如果是,那么这是用户配置文件加载方面已知的问题。 这篇技术文章(kb2968540)提供了解决方法(依我个人看来有点别扭)。


是的,我使用的是Windows 8.1,看起来这就是我的问题所在,我会尝试解决并回复您。非常感谢! - huseyint

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接