У меня есть приложение, работающее как служба под определенным пользователем, но по какой-то причине, когда машина (повторно) запускается и служба запускается, она не загружает профиль этого конкретного пользователя (включая его сопоставления дисков и т. Д.).
Есть ли способ указать, что для службы загружается полный (локальный) профиль (включая сопоставления)?
На машине стоит win2k sp2 enterprise edition.
Я не уверен, что знаю, как это сделать.
Как правило, сопоставление дисков является частью интерактивного сеанса входа в систему активного пользователя, и диски не отображаются, когда учетные данные пользователя используются для сеансов обслуживания.
В зависимости от того, что вы пытаетесь сделать и что допускает данное приложение, могли бы вы вместо этого использовать фактический UNC-путь ресурса подключенного диска?
Обычно это то, что мы делаем для доступа к удаленным ресурсам, когда сеанс не вошел в систему. Например, запустите сценарий как запланированную задачу с необходимыми учетными данными, а затем выберите UNC вместо подключенного диска.
Кроме того, хотя в вашем случае с Windows 2000 это не сработает, я понимаю, что Server 2008 поддерживает символические ссылки на сетевые ресурсы.
Насколько мне известно, USERINIT.EXE восстанавливает «подключенные диски», указанные в профиле пользователя. Профиль пользователя загрузится при входе в систему для запуска службы, но USERINIT.EXE не будет вызываться, и «подключенные диски» не будут восстановлены.
Как приложение работает как служба? Является ли это внутренней функцией этого приложения, или вы используете другие средства, чтобы имитировать несервисный запуск как сервис? Причина, по которой я спрашиваю, заключается в том, что в дальнейшем вы можете запустить командный файл, который отображает диски, прежде чем вызывать основное приложение.
Возможно, это глупый вопрос, но эти диски постоянно отображались, не так ли?