Win32: API вызывает список доступных сетевых ресурсов на сервере? - PullRequest
2 голосов
/ 23 мая 2009

Предположим, у меня есть доступ к серверу SMB по IP 1.2.3.4, как я могу определить список доступных общих ресурсов?

Проводник Windows может сделать это, когда я ввожу UNC-путь \\ 1.2.3.4 \ - но командная строка "dir \\ 1.2.3.4 \" не работает!

Я пробовал обычные вызовы FindFirstFile / FindNext, которые я успешно использую для чтения файлов и каталогов на каждом общем ресурсе, но они не работают напрямую в корне сервера.

В идеале мне нужно что-то, что работает для XP и далее.

Редактировать: Я хочу сделать это программно, а не из командной строки. Перенаправление и анализ выходных данных из «net view 1.2.3.4» будет работать, но в идеале я ищу API для этой работы.

Ответы [ 4 ]

8 голосов
/ 23 мая 2009

Согласно документации есть функция NetShareEnum и WNetEnumResource.

4 голосов
/ 23 мая 2009

нетто \\ 1.2.3.4

Выезд http://www.ss64.com/nt/net_share.html

Изменить: Если вы хотите сделать это программно, похоже, NetShareEnum будет работать.

0 голосов
/ 23 мая 2009

Никогда не используйте WMI (не установлен изначально)
Используйте Win32 api для перечисления акций, опубликованных миллионы раз в группах Google (win32)

0 голосов
/ 23 мая 2009

Похоже, вы можете использовать WMI для получения этой информации. Проверьте в этом посте , чтобы увидеть некоторые полезные учебные пособия по PowerShell, в которых теперь показано использование объекта WMI Win32_Share.

...