Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2011, 12:05
Bender40
 
Fecha de Ingreso: diciembre-2010
Mensajes: 13
Antigüedad: 13 años, 4 meses
Puntos: 0
Exclamación cambiar IP a máquina perteneciente a un dominio

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