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