Active Directory Recycle Bin
Windows 2008 R2 porta con se un’interessante novità per gli amministratori di rete, il Recycle Bin di Active Directory.
Questa funzionalità permette di ripristinare oggetti di AD cancellati evitando però di dover eseguire il ripristino del system state di un DC da un precedente backup.
Questo significa quindi che possiamo eseguire un restore più rapido e più trasparente agli utenti
L’attivazione del Recycle Bin di Active Directory richiede che il functions level di AD sia 2008 R2, quindi non possiamo avere DC vecchi in linea.
Ultima cosa IMPORTANTE da sapere è che una volta attivata la funzionalità la modifica è IRREVERSIBILE.
Detto questo, possiamo iniziare ad attivarla.
Aprite quindi la powershell e importate il modulo activedirectory con il seguente comando
import-module activedirectory
Quindi digitate il seguente comando:
Enable-ADOptionalFeature –Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=WindowsNT,CN=Services,CN=Configuration,DC=dominio,DC=loc’ –Scope ForestOrConfigurationSet –Target ‘dominio.loc’
WARNING: Enabling 'Recycle Bin Feature' on 'CN=Partitions,CN=Configuration,DC=dominio,DC=loc' is an irreversible action! You will not be able to disable 'Recycle Bin Feature' on 'CN=Partitions,CN=Configuration,DC=dominio,DC=loc' if you proceed. Confirm Are you sure you want to perform this action? Performing operation "Enable" on Target "Recycle Bin Feature". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
Confermate ed il gioco è fatto!
Nel caso vi apparisse il seguente messaggio d’errore verificate di eseguire il comando sul server che detiene il ruolo FSMO Domain naming master
WARNING: Enabling 'Recycle Bin Feature' on 'CN=Partitions,CN=Configuration,DC=dominio,DC=loc' is an irreversible action! You will not be able to disable 'Recycle Bin Feature' on 'CN=Partitions,CN=Configuration,DC=dominio,DC=loc' if you proceed. Enable-ADOptionalFeature : A referral was returned from the server At line:1 char:25 + Enable-ADOptionalFeature <<<< -Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=dominio,DC=loc' -Scope ForestOrConfigurationSet -Target 'dominio.loc' + CategoryInfo : NotSpecified: (CN=Recycle Bin ...DC=dominio,DC=loc:ADOptionalFeature) [Enable-ADOptionalFeature], ADException + FullyQualifiedErrorId : A referral was returned from the server,Microsoft.ActiveDirectory.Management.Commands.EnableADOptionalFeature
Per recuperare un oggetto cancellato potete usare il seguente comando
Get-ADObject -Filter {displayName -eq "test_user"} -IncludeDeletedObjects | Restore-ADObject
Script Powershell per generazione report certificati in scadenza
Dopo aver realizzato un’infrastruttura PKI in ambiente Microsoft, particolarmente nelle grandi realtà il numero dei certificati emessi può crescere velocemente e non sempre ricordarsi se e quando rinnovare i certificati diventa cosa semplice.
Se non è possibile utilizzare il rinnovo automatico, si può utilizzare uno script come questo per generare una notifica schedulata dei certificati in scadenza nei prossimi 15 giorni.
Add-PSSnapin Microsoft.Exchange.Management.Powershell.Admin -erroraction silentlyContinue
certutil -view -out "RequestID,RequesterName,NotAfter" csv > C:\Script\elenco_certificati.csv $csv = Import-Csv C:\Script\elenco_certificati.csv
$end_date = ((get-date).AddDays(15)).ToShortDateString()
foreach ($cert in $csv) { $d1 = ($cert.'Certificate Expiration Date').SubString(0,10) $d2 = [datetime]::ParseExact($d1, "dd/MM/yyyy", $null) $d3 = $d2.ToShortDateString() if ($d3 -gt $end_date) { Add-Content C:\Script\elenco_certificati_in_scadenza.csv $cert } }
$file = "C:\Script\elenco_certificati_in_scadenza.csv" $smtpServer = "mail.server.srv" $att = new-object Net.Mail.Attachment($file) $msg = new-object Net.Mail.MailMessage $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Credentials = New-Object System.Net.NetworkCredential("user", "password"); $msg.From = "mittente@dominio.it" $msg.To.Add("destinatario@dominio.it") $msg.Subject = "Elenco certificati in scadenza nei prossimi 15 giorni" $msg.Body = "Vedi allegato" $msg.Attachments.Add($att)
$smtp.Send($msg) $att.Dispose()
Windows 2008 R2: How manually rebuild Performance Counters
Molti applicativi per il monitoraggio delle risorse utilizzano i performance counter di sistema per determinare lo stato delle risorse.
Mi è capitato che l’agent deputato all’individuazione di queste informazioni non risponda più o addirittura vada in crash a causa della compromissione proprio dei performance counter in questione.
A questo punto si rende necessario ricostruirli con i seguenti comandi:
cd c:\windows\system32
lodctr /R
cd c:\windows\sysWOW64
lodctr /R
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
Rename a Domain Controller Using Netdom
Il cambio dell’hostname di un domain controller come pure il suo IP possono a volte destare dei timori data la criticità delle funzioni svolte.
La seguente procedura è quella che uso sistematicamente e fin’ora si è sempre dimostrata funzionante e stabile!
- eseguite il login al domain controller che volete rinominare
- aprite un prompt di DOS oppure la powershell (se avete l’UAC abilitato eseguitelo come amministratore) e digitate i seguenti comandi inserendo i valori corretti per il vostro caso
netdom computername <CurrentComputerName> /add:<NewComputerName>
netdom computername <CurrentComputerName> /makeprimary:<NewComputerName>
- riavviate il server
- aprite nuovamente il prompt di DOS e digitate il seguente comando
netdom computername <NewComputerName> /remove:<OldComputerName>
Windows Server 2008: server manager refresh error 0x800F0818
Può capitare che aprendo il server manager di windows 2008 R2 non sia possibile visualizzare i ruoli e le funzionalità installate a causa dell’errore 0x800F0818.
Già avere errori nelle console di gestione è una cosa fastidiosa, figuriamoci se questo accade su un domain controller o peggio su un file server dove eseguire qualsiasi operazione potrebbe causare la chiusura dei file aperti e/o la disconnessione degli utenti.
Vediamo quindi quale potrebbe essere una soluzione a questo problema.
Per prima cosa dobbiamo procurarci un tool di Microsoft:
System Update Readiness Tool for Windows 7 for x64-based Systems (KB947821)
Verificate di scaricare sempre il più aggiornato!
Lanciate questo tool e una volta terminata l’esecuzione (potrebbe impiegare parecchi minuti), all’interno della directory C:\Windows\Logs\CBS troverete un file denominato CheckSUR.txt
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:
- In Microsoft Management Console (MMC), aprire il server DHCP.
- Fare clic con il pulsante destro del mouse sul server e quindi fare clic su Proprietà .
- Fare clic sulla scheda per visualizzare la configurazione DNS.
Ogni impostazione deve essere lo stesso su entrambi i server DHCP.






Ultimi commenti