Windows - Liberar e renovar IP em uma etapa?

8

Um arquivo em lotes é a única maneira de liberar e renovar um IP em uma única etapa?

ipconfig /release
ipconfig /renew

Infelizmente, tenho que administrar alguns servidores Windows usando a Área de Trabalho Remota. Obviamente, se eu digitar ipconfig /release, perderei minha conexão e não poderei ipconfig /renew. Obviamente, isso pode ser feito com arquivos .bat, mas eu queria pedir aos profissionais apenas para ver se havia outros truques para fazê-lo no mundo do servidor Windows.

Jake Wilson
fonte
Os 'profissionais' pareceriam ter uma solução de gerenciamento remoto fora de banda, como o HP Integrated Lights Out ou o sistema DRAC da Dell. Então não importa se as principais interfaces de rede estão funcionais com um endereço IP correto ou não, você ainda pode controlar remotamente o servidor para alterá-las e funcionar novamente.
SteveBurkett

Respostas:

6

Acho que a maioria das pessoas usa apenas endereços IP estáticos para servidores ou atribuições de DHCP fixas e não altera os endereços IP fora das reinicializações agendadas (alterar pontos de extremidade nos servidores em execução = incorreto). Um arquivo bat parece a solução mais simples, mas honestamente, mesmo um release direto deve renovar automaticamente um endereço IP antes que a sessão da área de trabalho remota expire.

yasth
fonte
de acordo, parece estranho ter renovado o endereço IP de um servidor - geralmente não é recomendado.
redknight
1
O DHCP +1 em um servidor não é recomendado, mas eu clicaria com o botão direito do mouse em Reparar nas propriedades da placa de rede; isso deve funcionar também e em uma estação de trabalho remota que acabei de tentar, minha sessão RDP persistiu sem problemas.
gravyface
1
Estou no processo de alternar o servidor de um endereço fixo para uma concessão DHCP estática em um novo servidor DHCP. É por isso que eu preciso liberá-lo / renová-lo, para que ele obtenha sua concessão estática do novo servidor DHCP.
Jake Wilson
Quando você o define como DHCP, ele deve renovar automaticamente? Certamente não deveria precisar ser liberado (a que seria vinculado?).
yasth
Concordou que isso, em geral, não é algo que você gostaria de fazer ... mas ao configurar a máquina para usar um IP estático em primeiro lugar, enquanto estiver remotamente conectado? Apenas salvou meu bacon.
mmc
27

Combine os dois comandos em um

ipconfig / release && ipconfig / renew

Jason Berg
fonte
7
+1 por responder ao que pediram, em vez de divulgar as melhores práticas para eles! Embora, em meus testes aqui, você precise interromper a sessão RDP e restabelecer (mesmo que seja pelo nome, não pelo IP), pois o meu parece estar apenas tentando se reconectar ao antigo IP. Não se esqueça de ipconfig /flushdnsdepois de renovar o IP e dar tempo para fazer o check-in e antes de tentar encontrar o nome do host novamente!
PsychoData
3

Use o comando AT. Exemplo em 12:58 ipconfig / release

AT 12:59 ipconfig / renew (isso é útil ao conectar-se ao psexec, porque não manipula os comandos &&)

sharpeagle
fonte
Definitivamente funcionaria! Use atpara marcar uma renovar em um minuto ou mais e agendar o lançamento / para pouco antes, ou apenas fazer o / libertar-se
PsychoData
0

Como o atcomando está obsoleto agora e não funciona no Windows 10 (ele fornece o erro The AT command has been deprecated. Please use schtasks.exe instead. The request is not supported.), aqui está um exemplo de schtaskscomo agendar a renovação do comando mais tarde.

schtasks /create /tr "ipconfig /renew" /st 02:00 /sc once /tn iprenew

Observe que isso cria uma tarefa agendada única que desorganiza a lista de tarefas agendadas; portanto, exclua-a quando terminar pela GUI ou pela linha de comando.

g491
fonte
-4

No PowerShell, seria ipconfig / release | ipconfig / renew

Netadmin
fonte
Isso direcionaria a saída para ipconfig /releaseinto ipconfig /renew. Eu acho que os dois comandos seriam executados, mas simultaneamente - ele pode tentar (e falhar) renovar antes de ser lançado. &&pode funcionar em vez de |, como na resposta de Jason.
precisa saber é o seguinte