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 original
Dim 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