Привет!
Ситуация такова: на VB написана DLL которая использует wtsapi32.lib и меняет в пропертях юзеров путь к Terminal Server profile. Когда эта самая dll создается как ActiveX и вызывается из ASP страницы, то функция из этой dll не выполняется так как надо. Если же все это проделать из обычного *.vbs файла, то все ОК, функция возвращает нужный резалт.
Какие могут быть тут решения? Как заставить работать всю эту кухню из под IIS?
Заранее спасибо.
Здравствуйте Lexey, Вы писали:
L>Здравствуйте Masiona, Вы писали:
M>>Ситуация такова: на VB написана DLL которая использует wtsapi32.lib и меняет в пропертях юзеров путь к Terminal Server profile. Когда эта самая dll создается как ActiveX и вызывается из ASP страницы, то функция из этой dll не выполняется так как надо. Если же все
L>Под кем ASP-страница выполняется? Под IUSR_<MachineName>? Тогда все логично, у этой уч. записи просто прав не хватает.
L>это проделать из обычного *.vbs файла, то все ОК, функция возвращает нужный резалт.
M>>Какие могут быть тут решения? Как заставить работать всю эту кухню из под IIS?
L>Сделать так, чтобы страница выполнялась под юзером с административными правами. Вариантов тут много — Integrated-аутентификация с имеперсонацией, имперсонация внутри страницы с использованием какого-нибудь компонента, запуск ASP-приложения под нужным юзером в качестве анонимуса, засовывание своего компонента в COM+ и назначение ему identity администратора.
L>ИМХО, самые нормальные варианты — первый и четвертый.
Все, задача снимается

. Функция возвращает False, но тем не менее ??!! делает, то что нужно, хотя если этот COM скомпилить в обычный EXE, то реакция более естественней: если все ОК — True, иначе False.
А тут получается все ОК, но возвращает почему-то False.
P.S. Сработал 4-й вариант (COM+)
Большое спасибо
Have a nice day!