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

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

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

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

вот кажется статья, которая может помочь
...
Рейтинг: 0 / 0
18.02.2004, 13:40
    #32413519
_Arty_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сетевое окружение
Малость не то. Мне нужны не юзеры, а компьютеры, т.е. что-то типа апишных WNetOpenEnum, WNetEnumResource...
В принципе через Active Directory это можно зделать, только пока не соображу как. И сразу еще один вопрос возникает. Как будет работать Active Directory, если компьютер не в домене (т.е. просто одноранговая сеть), смогу ли я вытащить из Active Directory рабочие группы?
...
Рейтинг: 0 / 0
18.02.2004, 14:38
    #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
18.02.2004, 15:52
    #32413885
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сетевое окружение
Мне интересно.
...
Рейтинг: 0 / 0
19.02.2004, 08:05
    #32414588
_Arty_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сетевое окружение
Без домена не работает, причем не просто "не работает", а вообще выдает ошибку :о( Я так подозреваю, дело даже не в домене, а в Active Directory.
Видимо придется всетаки зделать на WinAPI, но вопрос как это делается средствами .NET остается открытым.
...
Рейтинг: 0 / 0
19.02.2004, 09:42
    #32414664
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сетевое окружение
Честно говоря, памятуя о политике MS в таких делах, врядли стоит надеяться на то, что в .Net будет реализована поддержка не AD доменов и т.д., тем более, что всё это есть на Win32. М.б. кто-то со стороны напишет.

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

Всё вышеизложенное - моё ИМХО.
...
Рейтинг: 0 / 0
19.02.2004, 13:11
    #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
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сетевое окружение / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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