Buenas:
Estoy desarrollando una aplicación en vb.net para un windows server 2012 r2. Dicha aplicación, se inicia cuando algún cliente, se conecta a un ordenador del dominio, haciendo que la impresora X instalada en el servidor, se comparta con el usuario que acaba de iniciar sesión.
El problema es el siguiente: el script me funcionaba desde ya hace tiempo, pero me han encargado darle un lavado de cara y ponerlo en vb.net. ¿Problema? Me da un error de acceso denegado.
Código vb:
Ver originalDim StrComputer As String = My.Computer.Name
Dim ObjWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & StrComputer & "\root\cimv2")
Dim impresorasInstaladas = ObjWMIService.ExecQuery("select * from Win32_Printer")
For Each impresora As Object In impresorasInstaladas
If InStr(impresora.Name, nombreImpresora) > 0 Then
'Descompartimos cada impresora
Console.WriteLine("Deshabilitando impresora " & impresora.Name)
impresora.Shared = False
impresora.ShareName = idTPV
impresora.Put_()
End If
Next
En todo el código anterior, salta el fallo de "Acceso Denegado" en el impresora.Put_().
He probado dándole al archivo permisos de administrador, probando otras funciones y demás. Lo gracioso