DHCP

DHCP: impostare il lease time con netsh

Oltre all’utilizzo della solita GUI per impostare la durata del lease di uno scope DHCP si può usare il seguente comando:

netsh dhcp server scope 10.0.0.0 set optionvalue 51 DWORD 3600

Se utilizzato in qualche script PS1 vi permette di automatizzare operazioni che altrimenti sarebbero assai noiose, richiederebbero molto tempo e molto probabilmente vi farebbero incorrere in errori di distrazione.

DHCP: script PS1 per aggiungere scope DHCP da un file CSV

Una della più grandi novità delle release di windows server dalla 2008 in poi è la powershell che, sebbene all’inizio possa sembrare poco amichevole, dopo qualche tempo diventa indispensabile per alcune operazioni.

Supponete infatti di dover eseguire delle operazioni ripetitive come ad esempio l’aggiunta di oltre cento scope DHCP con tutti i parametri, dovendo farlo utilizzando la GUI di certo avrete bisogno di parecchio tempo.

Grazie alla powershell ed ad uno script PS1, invece, questa operazione la potrete eseguire in pochi secondi.

Per prima cosa dovrete creavi un file CSV al cui interno vi siano i valori degli scope che volete creare:

Scope_Name,Scope_Mask,Scope_Description,Scope_Start,Scope_End,Scope_Router
192.168.189.64,255.255.255.192,"Sede1",192.168.189.116,192.168.189.118,192.168.189.126
192.168.190.64,255.255.255.192,"Sede2",192.168.190.116,192.168.190.118,192.168.190.126

Fatto questo usate il seguente script:

Param($csvpath)
$networks = import-csv $csvpath

$DHCP_Server="172.16.3.201"

foreach($network in $networks)
{

   $Scope_Name=$network.Scope_Name
   $Scope_Mask=$network.Scope_Mask
   $Scope_Description=$network.Scope_Description
   $Scope_Start=$network.Scope_Start
   $Scope_End=$network.Scope_End
   $Scope_Router=$network.Scope_Router
   netsh dhcp server $DHCP_Server add scope $Scope_Name $Scope_Mask $Scope_Description
   netsh dhcp server $DHCP_Server scope $Scope_Name add iprange $Scope_Start $Scope_End
   netsh dhcp server $DHCP_Server scope $Scope_Name set optionvalue 003 IPADDRESS $Scope_Router
   netsh dhcp server $DHCP_Server scope $Scope_Name set optionvalue 51 DWORD 28800
   netsh dhcp server $DHCP_Server scope $Scope_Name set state 1
}

Salvato questo script come add-dhcp_scopes.ps1 lo potete lanciare passando come parametro il file CSV

add-dhcp_scopes.ps1 dhcp.csv

DHCP: Error while importing option “81″

Eseguire il backup ed il restore del database e delle configurazioni di un server DHCP è un’operazione piuttosto semplice.
Questa può essere utilizzata si per mettersi al riparo dalla perdita dei dati (lease, reservation, esxlusion) sia per spostare il servizio DHCP su un altro server.

Per l’esportazione è sufficiente usare il seguente comando

netsh dhcp server export c:\backup_dhcp.txt all

mentre per il ripristino il comando è il seguente

netsh dhcp server export c:\backup_dhcp.txt all

Può capitare che l’operazione di ripristino fallisca a causa del seguente errore:

Error while importing option “81.”

In questo caso è necessario verificare che le impostazioni relative al DNS nei settaggi del DHCP al momento del backup siano uguali a quelle nel momento del restore.
A maggior ragione questo è da tenere presente quando si sposta il database DHCP su un nuovo server
Per far questo dovete seguire la seguente procedura:

  1. In Microsoft Management Console (MMC), aprire il server DHCP.
  2. Fare clic con il pulsante destro del mouse sul server e quindi fare clic su Proprietà .
  3. Fare clic sulla scheda per visualizzare la configurazione DNS.
    Ogni impostazione deve essere lo stesso su entrambi i server DHCP.