WIN32_PRINTER - ESTRANHO

ALEVALE 11/01/2016 14:15:03
#455971
Pessoal seguinte

Tenho uma função para listar impressoras em um computador remoto através de WMI, o estranho é que no meu computador funciona perfeitamente ele retorna todas as impressoras agora remotamente ele não traz nada, não consegui identificar o porque do erro.

OBS: Antes de mais nada tenho acesso nos outros computadores como administrador

Private Function ListCurrentPrinters(ByVal strComputerName As String, ByVal strAdminUsername As String, ByVal strAdminPassword As String)
Try
Dim co As New ConnectionOptions
co.Impersonation = ImpersonationLevel.Impersonate
co.Authentication = AuthenticationLevel.PacketPrivacy
co.EnablePrivileges = True

co.Username = strAdminUsername
co.Password = strAdminPassword

[ô]LOCAL COMPUTER
Dim scope = New ManagementScope
If UCase(strComputerName) = UCase(My.Computer.Name) Then
scope = New ManagementScope([Ô]\\[Ô] & strComputerName & [Ô]oot\cimv2[Ô])
Else
scope = New ManagementScope([Ô]\\[Ô] & strComputerName & [Ô]oot\cimv2[Ô], co)
End If

scope.Connect()

Dim printers = New ManagementObjectSearcher(scope, New SelectQuery([Ô]select * from Win32_Printer[Ô])).[Get]()

For Each printer As ManagementObject In printers
Dim nameOfPrinter = UCase(printer([Ô]Name[Ô]).ToString())

If Microsoft.VisualBasic.InStr(printer([Ô]name[Ô]), [Ô]\\[Ô]) Then
dgPrinters.Rows.Add(UCase(printer([Ô]name[Ô])), UCase(printer([Ô]Comment[Ô])), UCase(printer([Ô]location[Ô])))
End If
Next

Catch ex As Exception

End Try

End Function
KERPLUNK 12/01/2016 00:24:53
#455995
Nesta função, você está impersonando o usuário admin da máquina remota. Verifique se está correto.
ALEVALE 13/01/2016 11:49:41
#456081
Não sei se a minha resposta é coerente com o que você quis dizer mas vamos lá.

Eu testei com todas as possibilidades do metodo [Ô]ImpersonationLevel.[Ô] e pelo que eu li somente o[Ô] ImpersonationLevel.Impersonate[Ô] funciona com WMI os demais quando eu testei o resultado foi 0 não trouxe nenhum resultado o [Ô]ImpersonationLevel.Impersonate[Ô] funcionou porém como te disse ele não lista as impressoras de rede somente as locais, porém localmente no meu PC funciona, bem estranho.
Tópico encerrado , respostas não são mais permitidas