Локалният фиксиран диск не може да бъде достъпен от услугата

Изпитвам следното странно поведение:

Услугата на C# не успява да извърши никакви операции на локалния диск D: (напр. проверка дали съществува директория), докато конзолната версия, обгръщаща същата сглобка, няма никакъв проблем. И двете работят под един и същ потребителски акаунт, който е член на групата на местните администратори. При интерактивно влизане същият този потребител също няма проблеми с достъпа до устройство D:\ с помощта на Windows Explorer.

Вмъкване на следния диагностичен код:

        DriveInfo[] drives = DriveInfo.GetDrives();
        foreach (DriveInfo drive in drives)
        {
            string label = drive.IsReady ? String.Format(" - {0}", drive.VolumeLabel) : " - drive not ready";
            string driveMessage = string.Format("Drive {0} - {1}{2}", drive.Name, drive.DriveType, label);
            EventLog.WriteEntry("NxG SiteService", driveMessage, EventLogEntryType.Information);
        }

показва, че устройство D: е фиксиран диск, който "не е готов"?

Може ли някой да ми обясни защо фиксиран диск може да бъде „неготов“ при достъп от услуга?

Средата е: Windows 2012 Server, работещ на хост VMWare ESXi версия 5.5.0


person PDHCoder    schedule 14.04.2014    source източник
comment
Може би да го „анкетирате“, докато стане готов? Може би е картографирано към някакво SAN хранилище и отнема няколко секунди, за да отговори.   -  person leppie    schedule 14.04.2014
comment
Опитвали ли сте със забавен старт на услугата? Може би услугата просто трябва да започне по-късно. Или Услугата също показва това поведение, ако я стартирате ръчно?   -  person M C    schedule 14.04.2014
comment
@M C - Услугата също показва това поведение, когато се стартира ръчно.   -  person PDHCoder    schedule 14.04.2014
comment
Опитвали ли сте да стартирате услугата си под специален потребителски акаунт? AFAIK е лоша практика да се изпълняват услуги под акаунт на „истински“ потребител. Също така проверете разрешенията за NTFS.   -  person M C    schedule 14.04.2014
comment
@M C - Опитах с различни потребителски акаунти, включително акаунт на домейн, който принадлежи към групата на локалните администратори, и с акаунта на локалния администратор... без резултат. Разрешенията за NTFS трябва да са наред, тъй като същият потребител има достъп до него от сесия на работния плот. Както и да е, направих потребителския акаунт, изпълняващ услугата, собственик на главната директория (+разпространение до всички файлове и поддиректории), все още без успех.   -  person PDHCoder    schedule 14.04.2014


Отговори (1)


Открихме причината и решението: http://social.technet.microsoft.com/Forums/windowsserver/en-US/179c72b2-2957-43a0-8798-472e907a6e55/access-denied-issue-with-server-2012-only-on-secondary-drive-not-c

person PDHCoder    schedule 15.04.2014
comment
Моля, добавете решението, а не само връзка към вашия отговор. - person flayn; 15.04.2014