La creación de compartir mediante programación, se producirá un error de 9

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

  •  24-09-2019
  •  | 
  •  

Pregunta

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

Estoy usando el siguiente código para configurar un recurso compartido, pero siempre estoy obteniendo un valor de retorno de 9 lo que significa nombre no válido.Yo estoy pasando una cadena y han tratado de usar una cadena explícita y todavía se me pone el error 9.

Estoy creando el compartir de forma remota en lugar de en el equipo local, sin embargo.He tratado de asegurarme de que me estoy conectando a la remota proveedor de WMI, pero no estoy seguro de si he tenido éxito.

Cualquier sugerencia de WMI gurús y demás es muy apreciada.

¿Fue útil?

Solución

encontrado la respuesta en otro sitio. Las necesidades ruta de carpeta para ser la ruta local a la máquina se crea en la acción, no una ruta UNC como yo estaba usando.

Otros consejos

Yo tenía el mismo error. En mi caso, sin embargo el problema era una barra diagonal inversa. Haciendo directoryPath.TrimEnd ( '\') resolvió el problema.

Valores De Retorno

Devuelve uno de los valores en la tabla siguiente o cualquier otro valor para indicar un error.0 – Éxito

2 – Acceso denegado

8 – Desconocido fracaso

9 – nombre no Válido

10 – nivel no Válido

21 – parámetro no Válido

22 – Duplicar compartir

23 – Redirigido camino

24 – dispositivo Desconocido o directorio

25 – Net no se encuentra el nombre

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top