powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сетевое окружение
10 сообщений из 10, страница 1 из 1
Сетевое окружение
    #32413200
_Arty_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как получить список доменов, рабочих групп и компьютеров в сети?
...
Рейтинг: 0 / 0
Сетевое окружение
    #32413264
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отошлю ещё раз к WinAPI, хотя м.б. всё это и есть в .Net - если кто знает, отпишите, сам почитаю с удовольствием :)

функция NetGroupAdd
создает на сервере глобальную группу
функция NetGroupAddUser
добавляет к существующей глобальной группе указанного пользователя
функция NetGroupDel
удаляет глобальную группу
функция NetGroupDelUser
удаляет указанного пользователя из глобальной группы
(представь себе картину: заходит админ в сеть, а он уж больше не админ :))
функция NetGroupEnum
перечесляет все глобальные группы
функция NetGroupGetUsers
выдаёт список членов глобальной группы

функция NetUserAdd
добавляет пользователя, устанавливает пароль и права
функция NetUserEnum
возвращает учетные записи всех пользователей на на указанном сервере
функция NetUserGetGroups
возвращает список глобальных групп, членом которых является указанный пользователь
функция NetUserGetLocalGroups
возвращает список локальных групп, членом которых является указанный пользователь

...
ну и т.д.
Дальше и подробнее см. MSDN
...
Рейтинг: 0 / 0
Сетевое окружение
    #32413273
_Arty_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как это зделать на WinAPI я знаю. Но чует моя 5я точка, что в .NET должно все проще решаться. MSDN копать уже устал...
...
Рейтинг: 0 / 0
Сетевое окружение
    #32413425
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.15seconds.com/issue/020730.htm

вот кажется статья, которая может помочь
...
Рейтинг: 0 / 0
Сетевое окружение
    #32413519
_Arty_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Малость не то. Мне нужны не юзеры, а компьютеры, т.е. что-то типа апишных WNetOpenEnum, WNetEnumResource...
В принципе через Active Directory это можно зделать, только пока не соображу как. И сразу еще один вопрос возникает. Как будет работать Active Directory, если компьютер не в домене (т.е. просто одноранговая сеть), смогу ли я вытащить из Active Directory рабочие группы?
...
Рейтинг: 0 / 0
Сетевое окружение
    #32413682
_Arty_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем бросаем на форму TreeView и DirectoryEntry и пишем код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
private void MainForm_Load(object sender, System.EventArgs e)
{
	IEnumerator de = directoryEntry1.Children.GetEnumerator();
	de.Reset();
	while(de.MoveNext())
	{
		TreeNode n = treeView1.Nodes.Add((de.Current as System.DirectoryServices.DirectoryEntry).Path);
		n.Nodes.Add( "");
	}
}

private void treeView1_BeforeExpand(object sender, System.Windows.Forms.TreeViewCancelEventArgs e)
{
	if(e.Node.Nodes.Count == 1 )
	{
		e.Node.Nodes.Clear();
		directoryEntry1.Path = e.Node.Text;
		IEnumerator de = directoryEntry1.Children.GetEnumerator();
		de.Reset();
		while(de.MoveNext())
		{
			TreeNode n = e.Node.Nodes.Add((de.Current as System.DirectoryServices.DirectoryEntry).Path);
			n.Nodes.Add("");
		}
	}
}


Получается такой примитивный броузер ActiveDirectory. Список компов там вроди как есть, есть домены, юзеры... рабочих груп не нашел... И остается открытым вопрос как все это будет работать в одноранговой сети без контролера домена... Дома проверю, если кому интересно могу тут отписать...
...
Рейтинг: 0 / 0
Сетевое окружение
    #32413885
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне интересно.
...
Рейтинг: 0 / 0
Сетевое окружение
    #32414588
_Arty_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Без домена не работает, причем не просто "не работает", а вообще выдает ошибку :о( Я так подозреваю, дело даже не в домене, а в Active Directory.
Видимо придется всетаки зделать на WinAPI, но вопрос как это делается средствами .NET остается открытым.
...
Рейтинг: 0 / 0
Сетевое окружение
    #32414664
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря, памятуя о политике MS в таких делах, врядли стоит надеяться на то, что в .Net будет реализована поддержка не AD доменов и т.д., тем более, что всё это есть на Win32. М.б. кто-то со стороны напишет.

Ведь WinNT4 они практически перестали поддерживать.

Всё вышеизложенное - моё ИМХО.
...
Рейтинг: 0 / 0
Сетевое окружение
    #32415168
_Arty_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попутно возник вот такой вот вопрос:

пытаюсь зделать вызов WNetEnumResource. Ее определение выглядит как

Код: plaintext
1.
2.
3.
4.
5.
6.
DWORD WNetEnumResource(
  HANDLE hEnum,
  LPDWORD lpcCount,
  LPVOID lpBuffer,
  LPDWORD lpBufferSize
);


где lpBuffer - указатель на буфер, который представляет массив структур NETRESOURCE
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
typedef struct _NETRESOURCE {
  DWORD dwScope;
  DWORD dwType;
  DWORD dwDisplayType;
  DWORD dwUsage;
  LPTSTR lpLocalName;
  LPTSTR lpRemoteName;
  LPTSTR lpComment;
  LPTSTR lpProvider;
} NETRESOURCE;

Память под буфер я должен выделить ручками. Функция сама его не выделяет. И вот тут собственно вопрос. Как выделить память под буфер?
byte[] Buffer = new byte[16384] // так???
Но как в таком случае преобразовать потом Buffer из byte[] в NETRESOURCE ?

Какой тип для буфера нужно поставить в определении метода?
Код: plaintext
1.
2.
[DllImport( "mpr.dll" , EntryPoint= "WNetEnumResource" , CallingConvention=CallingConvention.StdCall)]
private static extern int WNetEnumResource(int hEnum, int lpcCount, ????? lpBuffer, int lpBufferSize);
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сетевое окружение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]