Win32: llamadas a la API para enumerar recursos compartidos de red disponibles en el servidor?
-
23-08-2019 - |
Pregunta
Supongamos que tengo acceso a un servidor SMB en IP 1.2.3.4, ¿cómo puedo determinar la lista de acciones disponibles?
Explorador de Windows puede hacerlo cuando entro en una ruta UNC \\ 1.2.3.4 \! - pero Símbolo del sistema "dir \\ 1.2.3.4 \" falla
He intentado la FindFirstFile habitual / FindNext llama -. Que utilizo con éxito para leer los archivos y directorios en cada acción, pero no trabajan directamente en la raíz del servidor
Lo ideal es que necesito algo que funciona para XP en adelante.
Editar Quiero hacer esto mediante programación, en lugar de desde la línea de comandos. La reorientación y analizar la salida de 'net view 1.2.3.4' funcionaría, pero estoy idealmente en busca de una API para este trabajo.
Solución
De acuerdo con la documentación que hay una NetShareEnum
y una WNetEnumResource
función.
Otros consejos
net view \\ 1.2.3.4
http://www.ss64.com/nt/net_share.html
Edit: Si usted quiere hacer esto mediante programación, se ve como NetShareEnum funcionaría.
Parece que puede utilizar WMI para obtener esta información. Compruebe este post para algunos tutoriales PowerShell ordenadas que muestran ahora a utilizar el Win32_Share WMI objeto.
Nunca utilizar WMI (no se instala de forma nativa)
Usar Win32 API para enumerar acciones, publicado millones de veces en Google Groups (Win32)