Foros del Web » Programación para mayores de 30 ;) » .NET »

cambiar IP a máquina perteneciente a un dominio

Estas en el tema de cambiar IP a máquina perteneciente a un dominio en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/03/2011, 12:05
 
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
  #2 (permalink)  
Antiguo 28/03/2011, 00:52
 
Fecha de Ingreso: diciembre-2010
Mensajes: 13
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: cambiar IP a máquina perteneciente a un dominio

Se me olvidó.
La ip si la modifica, al igual que la máscara de subred, pero no la pta de enlace y los servidores DNS.
En local si lo hace TODO, en remoto solo modifica eso, la IP y la máscara de subred.

Gracias

Será por el órden, es decir por modificar primero la ip y máscara?
Alguna otra sugerencia?

Última edición por Bender40; 29/03/2011 a las 09:56
  #3 (permalink)  
Antiguo 29/03/2011, 23:37
 
Fecha de Ingreso: diciembre-2010
Mensajes: 13
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: cambiar IP a máquina perteneciente a un dominio

En parte está solucionado.
La cosa es que una vez que se modificar la ip de una máquina del dominio no deja modificar nada mas, con lo que primero modifico las dns, pero no deja modificar antes de la ip la puerta de enlace
  #4 (permalink)  
Antiguo 30/03/2011, 07:17
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: cambiar IP a máquina perteneciente a un dominio

Hola Bender40 mira te dejo este link en el cual hace los cambios que tu requieres, solo que aqui vas a tener que usar el impersonate, que veo que lo estas usando en tu codigo actual, espero te sea de bastante utilidad. Saludos!

SwitchNetConfig
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 30/03/2011, 09:47
 
Fecha de Ingreso: diciembre-2010
Mensajes: 13
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: cambiar IP a máquina perteneciente a un dominio

Si, pero ese código tira, como el mio, sobre la propia máquina donde se ejecute.
La pega está en ejecutarla sobre otra (es decir modificar la configuración tcp/IP en remoto), y como comento.... una vez se cambia la ip ya no se puede cambiar nada mas, y la pega en eso está que no deja cambiar antes de la ip la pta de enlace....... osea que.... un fastidio

gracias de todos modos
  #6 (permalink)  
Antiguo 01/04/2011, 13:56
 
Fecha de Ingreso: diciembre-2010
Mensajes: 13
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: cambiar IP a máquina perteneciente a un dominio

Bueno, ya esta.
Modifico dns, pta de enlace e ip.
Tira un error por el try pero la operación se realiza.
Tanto para asignar ip estática como dinámica

Saludos
  #7 (permalink)  
Antiguo 01/04/2011, 13:58
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: cambiar IP a máquina perteneciente a un dominio

Seria interesante si de alguna manera u otra posteas tu code, puede que no seas el unico con el mismo problema. Saludos
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: ip, dominios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:54.