Pergunta

Suponha que eu tenho acesso a um servidor SMB em IP 1.2.3.4, como posso determinar a lista de ações disponíveis?

Windows Explorer pode fazê-lo quando eu inserir um caminho UNC \\ 1.2.3.4 \! - mas comando "dir \\ 1.2.3.4 \" prompt falha

Eu tentei os habituais chamadas FindFirstFile / FindNext -. Que eu uso com sucesso para ler os arquivos e diretórios em cada ação, mas eles não trabalham diretamente na raiz do servidor

Idealmente, eu preciso de algo que funciona para XP em diante.

Editar: que eu quero fazer isso programaticamente, em vez da partir de linha de comando. Redirecionando e analisando a saída de 'net view 1.2.3.4' iria funcionar, mas estou procurando idealmente uma API para este trabalho.

Foi útil?

Solução

De acordo com os documentos há um NetShareEnum e uma WNetEnumResource função.

Outras dicas

net view \\ 1.2.3.4

Confira http://www.ss64.com/nt/net_share.html

Edit: Se você quiser fazer isso programaticamente, parece que NetShareEnum iria funcionar.

Parece que você pode usar o WMI para obter essa informação. Verifique este post para alguns tutoriais PowerShell puros que mostram agora usar o Win32_Share WMI objeto.

Nunca use WMI (não instalado nativamente)
Use Win32 API para ações enumerar milhões postados de vezes no Google Groups (win32)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top