Hola.
Tengo este código, ejecutado en local no da ninguna pega, pero otra cosa es ejecutarlo para modificar la configuración TCP/IP de una máquina perteneciente al dominio. Tira error de procedimiento de llamada, pero los servicios wmi, rcp y demás están corriendo, otras cosas que realizo en remoto, como cambiar el nombre de máquina lo hace sin pegas..... ahí va el código a ver si alguien ve algo que no veo yo, o se le ocurre algo, gracias de ante mano
Código:
' asignamos ip estatica
Dim objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & txt_maquina.Text & "\root\cimv2")
Dim arrIP()
ReDim arrIP(0)
arrIP(0) = txt_ipnueva.Text
Dim arrMascara()
ReDim arrMascara(0)
arrMascara(0) = txt_mascaranueva.Text
Dim arrPuertaEnlace()
ReDim arrPuertaEnlace(0)
arrPuertaEnlace(0) = txt_ptanueva.Text
Dim arrMetrica()
ReDim arrMetrica(0)
arrMetrica(0) = "1"
For Each objAdaptador In objWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration where Caption='" & Me.ComboBox1.Text & "'")
Dim res
Dim dns()
If txt_dns1.Text <> Nothing And txt_dns2.Text <> Nothing Then
ReDim dns(1)
dns(0) = txt_dns1.Text
dns(1) = txt_dns2.Text
Else
ReDim dns(0)
dns(0) = txt_dns1.Text
End If
Dim lngResultado1 = objAdaptador.EnableStatic(arrIP, arrMascara)
Dim lngResultado2 = objAdaptador.SetGateways(arrPuertaEnlace, arrMetrica)
res = objAdaptador.SetDNSServerSearchOrder(dns)
Process.Start("cmd", "ipconfig /renew")
If lngResultado1 = 0 And lngResultado2 = 0 And res = 0 Then
MessageBox.Show("Se ha modificado la configuración TCP/IP de la máquina", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
MessageBox.Show("No se ha podido modificar la configuración TCP/IP de la máquina", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Next
ElseIf rr = System.Windows.Forms.DialogResult.Yes And txt_ipnueva.Enabled = False Then
' asignamos ip dinamica
Dim obj As Object = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & txt_maquina.Text & "\root\cimv2")
Dim elemento As Object = obj.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration where Caption='" & Me.ComboBox1.Text & "'")
Dim resultado
Dim resultado2
For Each objAdaptador In elemento
resultado = objAdaptador.EnableDHCP()
resultado2 = objAdaptador.SetDNSServerSearchOrder()
Process.Start("cmd", "ipconfig /renew")
If resultado = 0 And resultado2 = 0 Then
MessageBox.Show("Se ha modificado la configuración TCP/IP de la máquina", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
MessageBox.Show("No se ha podido modificar la configuración TCP/IP de la máquina", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Next