Como faço para definir a pasta Compartilhar programaticamente em vb.net

StackOverflow https://stackoverflow.com/questions/2543567

  •  23-09-2019
  •  | 
  •  

Pergunta

Tenho o ambiente cliente-servidor e desenvolvi um projeto para o cliente-servidor.

Preciso compartilhar uma pasta da minha máquina de servidor programaticamente usando o vb.net

Por favor me ajude.

Foi útil?

Solução

Aqui está um exemplo que mostra o conceito usando ManagementClass. É C#, mas facilmente conversível para vb.net:


ATUALIZAR:

Directory.CreateDirectory("C:\MyTestShare")
Dim managementClass As New ManagementClass("Win32_Share")
Dim inParams As ManagementBaseObject = managementClass.GetMethodParameters("Create")
inParams.Item("Description") = "My Files Share"
inParams.Item("Name") = "My Files Share"
inParams.Item("Path") = "C:\MyTestShare"
inParams.Item("Type") = 0
If (DirectCast(managementClass.InvokeMethod("Create", inParams, Nothing).Properties.Item("ReturnValue").Value, UInt32) <> 0) Then
    Throw New Exception("Unable to share directory.")
End If

Outras dicas

Eu tenho código que se parece com isso que funciona nas máquinas Vista e Win2K3, mas quando eu o experimento no Windows Server 2008 R2 (com atualizações recentes), ele falha com um erro de "acesso negado". Eu tentei o seu código exato acima e o mesmo resultado. Eu sou um administrador na caixa e tentei desativar o UAC, mas sem nenhum efeito.

(Eu sei que isso não é uma resposta, não tenho poder para comentar)

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