Почему из службы нельзя работать с RAS?

Тема в разделе "WASM.WIN32", создана пользователем drone, 15 мар 2005.

  1. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    В Windows2000.

    Т. е. я не могу ни перечислить соединения, ни создать

    новое соединение.

    (RasEnumEntries, например, говорит что 0 соединений,

    а соединения есть)

    А очень надо.
     
  2. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    а под какой учетной записью служба стартует ? Может ей прав не хватает.
     
  3. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    Сервисы работают от прав админа, насколько я знаю.

    Запускаю я службу, разумеется, тоже от админа.



    RasSetEntryProperties возвращает

    ERROR_CANNOT_OPEN_PHONEBOOK



    Хотя в мсдн написано, чтобы первым параметром этой ф-ии

    (как раз записная книга) был 0.
     
  4. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    попробуй службе выставить флаг SERVICE_INTERACTIVE_PROCESS при вызове CreateService
     
  5. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    Стоит. И окошки работают.

    В XP работает. А в 2000 нет.
     
  6. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    drone





    Неа, от system







    Видимо это не может открыть C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk



    Я бы сначала залогонил сервис под админом, если не прокатит - посмотрел бы почему PHONEBOOK не открывается. Учесть надо еще что всей этой фигней заведует эксплорер в отличие от сервиса Routing and Remote Access, где коннекшены создаются помимо пфон бука и которые могут коннектиться без логона пользователя. Удачи.
     
  7. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    Спасибо за ответы.

    А как залогинить от админа? Служба запускается

    автоматически до винлогона.

    Это надо в реестре где-то править?



    P.S. Разве система не имеет полных прав?
     
  8. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    drone

    Можно и в реестре, а можно и в mmc консоли в пропертях сервиса во вкладке Log On.

    Акаунт систем даже прав по сети лазить(через нетбиос) не имеет.

    А до винлогона сервис стартонуть не может ;) , так как внилогон сервисы и запускает.
     
  9. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    Я имел в виду, до входа в систему.

    А где программно поставить права, не

    настраивая вручную политики?
     
  10. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    программно можно impersonateloggedonuser сделать (уже писал об этом сегодня), только пароли придется где-то держать.
     
  11. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    Туповато как-то. Нет ли других способов заставить

    это работать? Я уже склонен к тому, чтобы вызывать

    из службы другую программу, чтобы работать с RAS.

    Не менее тупо, но нет привязки к нполитике безопасности.
     
  12. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia


    Как-то некорректно вопрос поставлен. Что сделать-то нужно? Програмно поменять юзера под которым запускается сервис? Чем ChangeServiceConfig не подходит? Или если это надо сделать один раз почему во вкладке Log On сервиса это не сделать просто?

    И причем здесь политика безопасности?
     
  13. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    "Нет ли других способов заставить это работать"-

    заставить корректно работать RAS функции!

    Сабж собственно.
     
  14. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    drone

    RAS функции работают корректно.
     
  15. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    Не надо. В XP да. В 2000 нет.

    Целый день тестил.
     
  16. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    drone

    У меня подозрение что просто на C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk разные премишены в 2к и XP. А функции работают корректно. Проблема не в функциях, а в том как их используют.
     
  17. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    Наверное так. Может, кинешь ссылочку, как настроить полный локальный доступ для парки (файла).

    Примерно то же я делал с ключами реестра. Там также?



    Или как запустить приложение из сервиса от текущего

    пользователя (под которым совершен вход в систему),

    не находя его пароля. Ведь процесс, запущенный

    из службы, имеет теже права, что и она :dntknw:(
     
  18. drone

    drone New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2004
    Сообщения:
    37
    Адрес:
    Moscow
    По поводу доступа к папке вопрос снимается.

    Но все равно не работает!



    И все же: как программно запустить процесс от другого

    пользователя?

    CreateProcessWithLogonW- требует пароль полльзователя.



    Есть идеи?
     
  19. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    без знания пароля никак
     
  20. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    drone

    Хм, а как можно не находя пароля? Винлогон он что делает? Пускает сервисы от тех акаунтов что ему сказали - по дефолту от систем - значит хотябы раз ему другой акаунт сказать надо(ChangeServiceConfig или вкладка Log On) и пароль для этого нужен. Можно конечно имперсонэйтить юзера после старта сервиса(CreateProcessWithLogonW излишне), но пароль тоже нужен. Так что стандартными средствами имхо никак.

    Я все-таки непонял - можно хоть раз залогонить сервис мануально зерез вкладку Log On и убедиться что оно хотябы работает?