À l'aide de Powershell, vous pouvez utiliser la commande suivante:
Get-WmiObject -Class win32_logicalDisk -ComputerName server1, server2, server3, etc | Select-Object pscomputername, deviceid, freespace, size
Remplacez server1, server2, etc. par les noms de serveur distant ou les adresses IP.
La sortie ressemble à ceci:
Si vous le souhaitez, vous pouvez ajouter | Export-Csv -Path .\drives.csv
à la fin du script pour exporter le fichier vers un fichier CSV (valeurs séparées par des virgules) à utiliser avec Excel. Si vous le faites, lorsque vous ouvrirez Excel, vous devrez formater les colonnes de taille de lecteur dans Excel sous forme de nombres.
Juste pour rire, j'ai écrit ce script PowerShell qui effectuera la tâche sur tous les serveurs dans Active Directory:
$ErrorActionPreference= 'silentlycontinue'
Get-ADComputer -Filter 'OperatingSystem -like "*Server*"' -Properties * | Select-Object Name |
ForEach-Object {
If (Test-Connection $_.Name -Count 1){
Get-WmiObject -Class win32_logicalDisk -ComputerName $_.Name |
Select-Object pscomputername, deviceid, freespace, size
}
else {
Write-host $_.Name " Connection Error"
}
}
Si vous êtes dans un domaine, vous pourrez probablement faire quelque chose avec WMI ( exemple WMI ). Si vous n'êtes pas dans un domaine, vous pouvez suivre deux méthodes pour la surveillance à distance:
la source
Si vous avez accès au partage réseau et que Cygwin est installé, vous pouvez exécuter cette commande:
# df -h //myserver/shareddrive Filesystem Size Used Avail Use% Mounted on - 25G 13G 12G 52% //myserver/shareddrive
la source
les gars, je suis également venu avec une solution en utilisant l'idée de fsutil et telnet:
diskcheck.bat:
la source
la source