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 

Любая идея, почему это происходит?

+0

Используйте 'Debugger.Break()' для приостановки процесса. Затем проверьте, как он был запущен с помощью Process Explorer. Возможно, вы все еще настроили дубликат задачи. – leppie

ответ

2

Вы используете это в Windows 8+ (или аналогичном)? Если это так, это известная проблема с загрузкой профиля пользователя. Технот (kb2968540) имеет обходное решение (это своего рода kludgy IMO).

+0

Да, я на Windows 8.1, похоже, что это проблема, с которой я сталкиваюсь, я собираюсь попробовать работу и вернуть вас. Благодарю вас! – huseyint

Смежные вопросы