Главная страница
    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.045 c
3-1116422713
Иг
2005-05-18 17:25
2005.06.29
Как достучаться к функциям Ацеса из адо?


1-1118216188
Чапаев
2005-06-08 11:36
2005.06.29
Action Manager & Access Violation


11-1099458028
miek
2004-11-03 08:00
2005.06.29
проблема с комбобоксами


3-1116325991
OX
2005-05-17 14:33
2005.06.29
Из dBase в MS SQL и обратно


1-1117610623
pudel
2005-06-01 11:23
2005.06.29
Вывод текста в заданном прямоугольнике





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский