Report replica DFS con PowerShell

Download: Scarica lo script da GitHub

Ho dovuto da poco seguire la replica di quasi 1 TB di dati da un fileserver Windows 2012 membro di un namespace DFS ad una nuova macchina Windows 2019 in una differente sede geografica collegata via WAN.

Per monitorare lo stato delle repliche via DFS ho provato prima ad utilizzare il report Health che si trova nello snapin di gestione grafica del DFS, con l’opzione per il dettaglio del backlog (quanti file restano da sincronizzare nella replica tra due cartelle). Purtroppo è un sistema assolutamente non performante per una gran quantità di file ed ho abbandonato, rilanciarlo diverse volte in poco tempo è impossibile.

Mi sono spostato quindi sulla PowerShell, che offre su Windows 2019 (in realtà a partire da Windows 2012 R2) una cmdlet molto interessante, Get-Dfsrbacklog. Ho provato a lanciarla ma mi sono trovato davanti ad un errore, perchè purtroppo uno dei due server è Windows 2012 (non R2) e la cmdlet non può funzionare su quell’OS.

Ho quindi scelto un approccio ibrido, creando uno script in PowerShell che però sfrutta il vecchio dfsrdiag.exe, lo strumento con cui si poteva controllare il backlog fino a 2012 ma che continua a funzionare ed essere presente anche sulle nuove release di Windows Server.

Lo script è ancora nella sua prima versione e va raffinato, formattando meglio l’output del comando dfsrdiag. In futuro aggiungerò anche l’opzione per usare la cmdlet Get-Dfsrbacklog nel caso si lavori con macchine Windows 2012 R2 o superiori. Manca anche una forma di controllo degli errori.

E’ richiesto avere a disposizione almeno un server Windows 2012 R2 o successivo per lanciarlo e devono essere disponibili le cmdlet del DFS.

Per utilizzarlo, lanciarlo in una console di PowerShell dal server DFS con OS più recente, passando come parametri il server sorgente e quello di destinazione (primo esempio); opzionalmente -secondo esempio- potete anche scegliere il percorso del file di log, che per default sarà creato nel desktop dell’utente.

Get-DfsBacklogReport.ps1 -sourceServer srv1 -destinationServer srv2

Get-DfsBacklogReport.ps1 -sourceServer srv1 -destinationServer srv2 -logFile C:\logs\mylog.txt

Potete trovare lo script su GitHub e scaricarlo liberamente.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments