Analyse des disques d’un domaine active-directory

le script suivant analyse les disques de vos serveurs sur votre domaine active-directory.

Le module activedirectory est nécessaire

la création des barres se fait par le code [char]9604

get-adcomputer -filter {operatingSystem -like « *server* »} permet de récupérer l’ensemble des serveurs de votre domaine.

pour chaque ordinateur, on essaye avec Try de pingué le serveur, si le ping est ok, on utilise la classe wmi win32_logicalDisk en filtrant sur la propriété driveType à 3.

ensuite pour chaque disque, on calculera sa taille en Go, l’espace libre et utilisé

#utiliser le module activeDirectory
#si sur 2008R2, ajouter
#à exécuter sur le controleur ou sur un serveur avec le module RSAT AD
$ErrorActionPreference= »Stop »
import-module activedirectory
$ping=new-object System.Net.NetworkInformation.ping
get-adcomputer -filter {operatingSystem -like « *Server* »} | foreach{
Try{
if($ping.send($_.name,300).Status -eq « success »)
{
write-host « Analyse du serveur $($_.name) » -f Cyan
$disques=gwmi win32_logicalDisk -ComputerName $_.name | where{$_.driveType -eq 3}
$disques | %{
$utilise=(($_.size – $_.freespace) / $_.size) * 20
$reste=20-$utilise
Write-Host « `t`t » $_.deviceid  »  » -NoNewline
write-host $(« $([char](9604)) » * $utilise) -f red -NoNewline
write-host $(« $([char](9604)) » * $reste) -f green
write-host « `Tot:$(« {0:N2} » -f ($_.size/1GB)) Go — Util: $(« {0:N2} » -f (($_.size – $_.freespace)/1GB)) Go » -f DarkCyan
}
}
else{
write-warning « Serveur $($_.name) injoignable »
}
}
Catch{
Write-Warning « Erreur d’accès sur le serveur »
Write-Warning $_.exception.getType()
}
}

Gaël Marot

gmarot@gtek-it.fr

Laisser un commentaire