2014-05-23 1 views
0

Excuses si ce n'est pas dans la bonne zone.Powershell Script pour capturer l'espace libre du disque (C & D), mémoire libre, utilisation du processeur et utilisation du réseau

J'ai une liste de 200 serveurs qui sont un mélange de serveurs W2K3 et W2k8 que je dois recueillir les éléments suivants

C Espace disque libre (en Go) D Espace disque libre (en Go) mémoire Gratuit (en Go) Utilisation du réseau

Je souhaite exporter toutes les données dans un fichier csv pour analyse. J'ai aussi tous les serveurs dans un fichier texte.

Merci dw

+1

Pouvez-vous nous montrer ce que vous avez à ce jour ? – mjolinor

+0

Salut, Ive n'a jamais écrit un script PowerShell avant. Je peux voir qu'il y a des scripts ailleurs sur ce site mais ils ne font pas tout à fait ce que je veux et je ne peux pas en trouver un qui permette de rassembler plusieurs serveurs. – user3668509

+0

Si vous êtes ici en tant que programmeur/programmeur à la recherche d'une solution à un problème spécifique avec votre code, vous êtes arrivé au bon endroit. Si vous voulez simplement un script pour exécuter une fonction spécifique, alors vous avez probablement besoin d'un consultant. – mjolinor

Répondre

0

Pour obtenir des mesures simples, vous aurez besoin d'utiliser flux de travail pour exécuter les Powershell commandes données sur des serveurs spécifiques en parallèle:

function disk_free($computer, $disk){ 
    $s = gwmi -Computer $computer Win32_LogicalDisk | ? DeviceID -eq $disk 
    "{0:N2}" -f ($s.FreeSpace*100/$s.Size) 
} 

workflow srv_check { 
    param ([array] $computers) 
    foreach -parallel ($computer in $computers) { 
     disk_free $computer "c:" 
     disk_free $computer "d:" 
    } 
} 

[email protected]("srv1", "srv2" ...)  
srv_check -computers $servers 
Questions connexes