У меня есть две службы Windows: «ServiceA» и «ServiceB». Каждая служба работает под именами пользователей «UserA» и «UserB» соответственно, а во всех других отношениях службы идентичны (отдельные экземпляры одной и той же службы).
Я хотел бы иметь возможность настроить подключенные диски так, чтобы диск UserA Z: указывал на общий сетевой ресурс (\ FileServer \ ServiceAFiles), а диск UserB Z: указывал на другой общий ресурс (\ FileServer \ ServiceBFiles). Отдельно настроить сервисы не могу; куда бы я ни направлял одну службу для поиска файлов, именно там будет искать и другая, поэтому настроить диски Z: и Y: невозможно.
Я попытался настроить подключенные диски, которые «повторно подключаются при входе в систему», но службы не могут видеть диски, поэтому похоже, что службы не выполняют «традиционный» вход. Google сообщает мне, что единственный способ сделать это - изменить исходный код службы, чтобы он создавал подключенный диск при запуске. К сожалению, услуга предоставляется третьей стороной, и у меня нет доступа к исходному коду.
На самом деле, я просто хочу, чтобы две службы указывали на два разных сетевых ресурса, используя один и тот же путь, поэтому у меня возникает вопрос: есть ли обходной путь, позволяющий мне делать то, что я хочу делать?
Раньше я делал это в Windows Server 2003 с учетными записями домена, которым предоставляется интерактивный вход в систему и как права службы, и простой сценарий сопоставления дисков, развернутый для этих учетных записей с помощью групповой политики сценариев входа. Это действительно сработало, но это было довольно давно (и было для устаревшего служебного приложения, которое, конечно, не могло обрабатывать пути UNC).
Что это за версия Windows? Какие учетные записи вы используете, локальные или доменные? Как вы распределяете диски? Попробуйте использовать политику сценария запуска / входа в систему. Возможно, сервисам для этого нужен старый флаг «взаимодействие с рабочим столом», сейчас я не могу вспомнить.