Pergunta

ObjectGetOptions options = new ObjectGetOptions();
 ManagementPath p = new ManagementPath("\\\\server01\\root" + "\\cimv2:Win32_Share");

// Make a connection to a remote computer.
ManagementScope scope = new ManagementScope("\\\\server01\\root\\cimv2");
scope.Connect();


// Create a ManagementClass object
ManagementClass managementClass = new ManagementClass(scope, p, options);
// Create ManagementBaseObjects for in and out parameters
ManagementBaseObject inParams = managementClass.GetMethodParameters("Create");
ManagementBaseObject outParams;
// Set the input parameters
//inParams["Description"] = String.Empty;
inParams["Name"] = "test";
inParams["Path"] = @folderPath;
inParams["Type"] = 0x0; // Disk Drive
// Invoke the method on the ManagementClass object
outParams = managementClass.InvokeMethod("Create", inParams, null);
// Check to see if the method invocation was successful
if ((uint)(outParams.Properties["ReturnValue"].Value) != 0)
{
      throw new Exception("Unable to share directory.  Error code: " + outParams.Properties["ReturnValue"].Value);
}
}
catch (Exception e)
{
    MessageBox.Show(e.Message.ToString());
}
}

Estou usando o código a seguir para configurar um compartilhamento, mas estou sempre obtendo um valor de retorno de 9, o que significa nome inválido. Estou passando uma string e tentei usar uma string explícita e ainda recebo o erro 9.

No entanto, estou criando o compartilhamento remotamente e não na máquina local. Tentei ter certeza de que estou me conectando ao provedor remoto da WMI, mas não tenho certeza se tiver sido bem -sucedido.

Quaisquer sugestões de Gurus do WMI e outros são muito apreciadas.

Foi útil?

Solução

Encontrei a resposta em outro site. O caminho da pasta precisa ser o caminho local para a máquina em que o compartilhamento é criado, não um caminho UNC como eu estava usando.

Outras dicas

Eu tive o mesmo erro. No meu caso, embora o problema tenha sido uma barra de barriga. O DirectoryPath.Trimend ('') resolveu o problema.

Valores de retorno

Retorna um dos valores na tabela a seguir ou qualquer outro valor para indicar um erro. 0 - Sucesso

2 - Acesso negado

8 - falha desconhecida

9 - Nome inválido

10 - nível inválido

21 - parâmetro inválido

22 - compartilhamento duplicado

23 - caminho redirecionado

24 - dispositivo desconhecido ou diretório

25 - nome da rede não encontrada

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