La creazione di condivisione a livello di programmazione non riuscita con errore 9

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

  •  24-09-2019
  •  | 
  •  

Domanda

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());
}
}

Sto usando il seguente codice per impostare una condivisione, ma io sono sempre un valore di ritorno di 9 il che significa che nome non valido.Sto passando una stringa e hanno cercato di utilizzare una stringa esplicita e ho ancora 9 di errore.

Sto creando la condivisione in remoto, piuttosto che sulla macchina locale e comunque.Ho cercato di assicurarsi che io sono il collegamento remoto WMI provider, ma non sono sicuro se ho avuto successo.

Eventuali suggerimenti da WMI guru e gli altri è molto apprezzato.

È stato utile?

Soluzione

Trovato la risposta su un altro sito. Le esigenze percorso della cartella di essere il percorso locale per la macchina della quota viene creata su, non un percorso UNC come se stesse usando.

Altri suggerimenti

Ho avuto lo stesso errore. Nel mio caso però il problema era una barra rovesciata finale. Facendo directoryPath.TrimEnd ( '\') ha risolto il problema.

I Valori Di Ritorno

Restituisce uno dei valori nella seguente tabella o qualsiasi altro valore per indicare un errore.0 – Successo

2 – Accesso negato

8 – errore Sconosciuto

9 – nome non Valido

10 – livello non Valido

21 – parametro non Valido

22 – Duplicati condividere

23 – Reindirizzato percorso

24 – periferica Sconosciuta o una directory

25 – Net nome non trovato

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top