Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Работа с сетью из-под сервиса   Найти похожие ветки 

 
Sour Smile   (2005-04-29 14:30) [0]

Мой сервис запускается под правами LocalSystem (всё правильно, так и должно быть), но вот наткнулся на проблему: не получается работать с из-под этого сервиса с сетью; прочитать список открытых ресурсов, покопировать файлы и т.п. (что интересно, список доменов и компьютеров в этих доменах функция NetServerEnum возвращает без вопросов, а вот список открытых ресурсов NetShareEnum уже отвечает "Отказано в доступе")...
Может есть какой нибудь способ обойти эту проблему?


 
BiN ©   (2005-04-29 14:40) [1]

Administrator, Power User, Print Operator, or Server Operator group membership is required to successfully execute the NetShareEnum function at levels 2 and 502. No special group membership is required for level 0 or level 1 calls.


 
Набережных С. ©   (2005-04-29 14:54) [2]

A LocalSystem вообще никто в сети. В домене W2k можно дать права учетной записи компьютера, тогда LocalSystem будет представлена этой учеткой. Как и что - это к админам.


 
Sour Smile   (2005-04-29 16:08) [3]


> BiN ©   (29.04.05 14:40) [1]


> Набережных С. ©   (29.04.05 14:54) [2]

Это я всё прекрасно знаю и понимаю, но эти знания никак не помогают обойти эту проблему...

ps. гдето я видел пример как запустить процедуру под текущим пользователем, вот хоть убейте не помню где...
И даже при таком подходе тоже проблема полностью не решается - сервис может быть уже запущен, а в систему никто ещё не входил... Впрочем уже былобы легче...


 
Ученик   (2005-04-29 22:34) [4]

>Sour Smile   (29.04.05 14:30)  

Необходимо подключить сетевой ресурс с допустимым пользователем


function ConnectNetResource(const ResourceName : string;
                           const UserName, Password : string;
                           Delay : DWORD) : Integer;
var
 NetResource : TNetResource;
 StartTick : DWORD;
 lpUserName, lpPassword : PChar;
begin
 FillChar(NetResource, SizeOf(NetResource), 0);
 NetResource.dwType := RESOURCETYPE_DISK;
 NetResource.lpRemoteName := PChar(ResourceName);
 if UserName = "" then
   lpUserName := NIL
 else
   lpUserName := PChar(UserName);
 if Password = "" then
   lpPassword := NIL
 else
   lpPassword := PChar(Password);
 StartTick := GetTickCount;
 repeat
   Result := WNetAddConnection2(NetResource, lpPassword, lpUserName, 0);
   if (Result = 0) or ((GetTickCount - StartTick) > Delay) then
     Break
   else
     Sleep(10000);
 until False
end;



 
Slym ©   (2005-05-03 12:34) [5]

Делай 2 сервиса.
1. Логика от LocalSystem.
2. Коммуникации от пользователя домена.
Сервисы общаются при помощи:
1. SendMessage
2. MMF+ Mutex (в Samples есть)
3. NamedPipe



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.061 c
3-1116507782
msguns
2005-05-19 17:03
2005.06.29
Точное позиционирование в DBGrid


6-1112245143
Norn1
2005-03-31 08:59
2005.06.29
http&ftp via proxy


9-1111760195
Yegorchic
2005-03-25 17:16
2005.06.29
Как добавить объект в GLScene во время работы программы


14-1117254337
D2005
2005-05-28 08:25
2005.06.29
Есть ли возможность?


14-1117892069
Piter
2005-06-04 17:34
2005.06.29
Счетчик на PHP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский