Question

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

Je suis en utilisant le code suivant pour mettre en place une action, mais je suis toujours obtenir une valeur de retour de 9 ce qui signifie nom invalide. Je passe une chaîne et ont essayé d'utiliser une chaîne explicite et je reçois toujours l'erreur 9.

Je crée la part à distance plutôt que sur la machine locale cependant. J'ai essayé de vous assurer que je me connecte au fournisseur WMI à distance, mais je ne suis pas sûr si je l'ai réussi.

Toutes les suggestions de gourous et d'autres WMI est grandement apprécié.

Était-ce utile?

La solution

trouvé la réponse sur un autre site. Le chemin du dossier doit être le chemin d'accès local à la machine, la part est créée sur, pas un chemin UNC comme j'utilisais.

Autres conseils

J'ai eu la même erreur. Dans mon cas, si le problème était une barre oblique inverse. Faire directoryPath.TrimEnd ( '\') a résolu le problème.

Valeurs de retour

Renvoie l'une des valeurs du tableau suivant ou toute autre valeur pour indiquer une erreur. 0 - Succès

2 - Accès refusé

8 - Panne inconnue

9 - Nom non valide

10 - Niveau non valide

21 - Paramètre invalide

22 - part en double

23 - chemin Redirigé

24 - Périphérique inconnu ou répertoire

25 - Nom net not found

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top