Конференція vbstreets - перегляд теми - служба не бачить мережеві диски

Вітаю!
Написав невелику програму на VB6, вона звертається до деяких файлів в локальній мережі.
Якщо працює в звичайному режимі - то все ОК.
Але коли запускаю її в якості служби, то не бачить мережеві диски. Видає помилку "Немає запису".
Ця помилка відбувається для будь-яких команд VB, що працюють з файлами "Dir", "OPEN" і т.д.
Може хтось стикався з такою проблемою?

aleksmir писал (а): Ця помилка відбувається для будь-яких команд VB, що працюють з файлами "Dir", "OPEN" і т.д.


Саме з мережевими дисками або завжди?
Якщо перше, то можливо що мережа ще недоступна в момент запуску.

Ура! Вийшла нова версія Unreal Commаnder'а!

Qwertiy писал (а): Саме з мережевими дисками або завжди? Якщо перше, то можливо що мережа ще недоступна в момент запуску. Можна налаштувати запуск служби і від імені конкретного користувача.

alibek писал (а): Мережеві диски належать облікового запису, а не комп'ютера. Служба працює під своїм обліковим записом. Використовуй для служби обліковий запис, який дозволяє мережевий доступ (NETWORK_SERVICE). Використовуй не букви дисків, а мережевий шлях UNC.

Qwertiy писал (а): Саме з мережевими дисками або завжди?

alibek писал (а): Мережеві диски належать облікового запису, а не комп'ютера


Я може неправильно висловився. ні з мережевими дисками (у вигляді букв), а з Розшарені мережевими дисками іншого комп'ютера, до яких звертаюся по IP: \\ 192.168.46.8 \ Шлях \ Файл.exp. Хоча пробував підключати мережеві диски через букву диска і звертатися до них як до дисків - не працює теж.

Спробую два варіанти:
1. Поекперіментіровать з обліковим записом.
2. Подивлюсь властивості у служби вбудованого Планувальника подій Windows. Вона то вже точно працює з мережевими дисками (перевірив).

aleksmir писал (а): Спробую два варіанти:
1. Поекперіментіровать з обліковим записом.
2. Подивлюсь властивості у служби вбудованого Планувальника подій Windows. Вона то вже точно працює з мережевими дисками (перевірив).


Звернення зі служби по мережевому шляху можливо. Правда не перевіряв на VB6, але не бачу причин по яким саме в ньому з цим можуть виникнути якісь проблеми.

Ура! Вийшла нова версія Unreal Commаnder'а!

Qwertiy писал (а): Звернення зі служби по мережевому шляху можливо. Правда не перевіряв на VB6, але не бачу причин по яким саме в ньому з цим можуть виникнути якісь проблеми.


Так, теж думаю що не в VB справу. Щось у властивостях самої служби.

Тепер залишилося навчити програму автоматично при створенні служби вказувати їй ім'я користувача.

aleksmir писал (а): Тепер залишилося навчити програму автоматично при створенні служби вказувати їй ім'я користувача.


Код: Виділити все sc create "Ім'я служби" binPath = "Q: \ Шлях \ К \ Exe \ файлу.exe" DisplayName = "Коротке ім'я" start = auto obj = Логін password = Пароль
Звертаю увагу на наявність прогалини після знака рівності.

Ура! Вийшла нова версія Unreal Commаnder'а!

Qwertiy писал (а): А яким чином він отримає таку можливість?


Звичайним, скориставшись помилками і уразливості в програмі. Які завжди є.

Qwertiy писал (а): Стоп. Локальний адмін адже на інших машинах адміном не буде. У чому тоді шкода?


Судячи з того, що топикстартер заходить на віддалені машини за допомогою своєї локального облікового запису, на всіх машинах використовується адміністратор з однаковим логіном і паролем. Інакше б у нього програма і в інтерактивному режимі не працювала.

Lasciate ogni speranza, voi ch'entrate.

alibek писал (а): Знайди хоч одну службу, яка б працювала під обліковим записом адміністратора.

Дозволені годинник входу Все

Членство в локальних групах * Адміністратори
Членство в глобальних групах * None
Команда виконана успішно.

Ура! Вийшла нова версія Unreal Commаnder'а!

Qwertiy писал (а): Будь ласка. Ocster 1-Click Backup працює під цим:

Lasciate ogni speranza, voi ch'entrate.

Ну в загальному замість служби довелося використовувати планувальник. Як туди додати завдання за допомогою API-заморочуватися не став, тому що все одно програма не на продаж, а для внутрішніх потреб. Планувальник завжди при створенні завдання запитує ім'я і пароль і програма, запущена планувальником без входу в систему, бачить мережеві ресурси.

Служби, раніше створені з обліковим записом "Адміністратор" тепер не видаляються, а чому то позначаються на видалення і після позначки на видалення створюватися під тими ж іменами не хочуть. Сервер перезавантажувати через це не хочеться. Єдиний варіант залишався використовувати планувальник замість служб.

aleksmir писал (а): Служби, раніше створені з обліковим записом "Адміністратор" тепер не видаляються, а чому то позначаються на видалення і після позначки на видалення створюватися під тими ж іменами не хочуть.


Тому що перед тим як видаляти, їх треба було зупинити. Зупинену службу видалити можна, а запущена позначається для видалення і видаляється тільки разом з перезавантаженням.

aleksmir писал (а): Сервер перезавантажувати через це не хочеться.

Ура! Вийшла нова версія Unreal Commаnder'а!

Схожі статті