powershell - utilisation des disques

powershell - utilisation des disques - Infrastructures serveurs - Systèmes & Réseaux Pro

Marsh Posté le 21-04-2016 à 15:59:19    

Bonjour tout le monde,
 
voila, j'ai un souci de code powershell, voici mon script qui récupere les disques de mes serveurs liés à l'AD, et qui exporte en CSV:
 
Import-Module ActiveDirectory
 
$drives=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 |
  Where-Object {$_.DriveType -eq 3} |  
        Select-Object pscomputername, DeviceID, VolumeName, @{n='FreeSpace';e={[int]($_.FreeSpace/1GB)}}, @{n='Size';e={[int]($_.Size/1GB)}}
    }
}
$drives | Export-CSV -NoType drives.csv
 
 
sauf que voila le resultat:
 
 
"pscomputername","DeviceID","VolumeName","FreeSpace","Size"
,"C:","","192","233"
,"C:","","57","100"
,"E:","DATA","76","800"
,"C:","","57","100"
,"E:","DATA","80","800"
,"C:","","44","100"
,"E:","DATA","80","800"
,"C:","","35","100"
,"E:","DATA","11","150"
,"C:","SYSTEME","67","100"
,"E:","DATA","200","200"
 
 
l'idée serait d'avoir le nom du serveurs concerné au début des lignes, je n'arrive pas à récupérer ou passer cette info (qui est pourtant présente dans $_.Name )
 
une idée ??
 
merci beaucoup :)

Reply

Marsh Posté le 21-04-2016 à 15:59:19   

Reply

Marsh Posté le 21-04-2016 à 16:24:07    

si c'est pour du monitoring de serveurs. Ne veux tu pas creer un serveur sous centreon, skinken, nagios ou un autre produit ?
car j'ai l'impression que tu veux réinventer la roue.


---------------
je veux tout, tout de suite, et gratuitement ! miladiou !
Reply

Marsh Posté le 21-04-2016 à 16:29:26    

Bonjour,
nous avons une supervision, mais je souhaite sortir un état précis à la volée sur ce métrique.

Reply

Marsh Posté le 21-04-2016 à 16:34:38    

Tu n'injectes rien dans ta variable pscomputername ?

Reply

Marsh Posté le 21-04-2016 à 16:52:12    

heuu non, je t'avouerai que je ne suis pas très affûté en powershell, il me semblait que pscomputername recuperrait automatiquement le nom du serveurs interrogé...

Reply

Marsh Posté le 21-04-2016 à 17:21:07    

quand je modifie pour demander l'affichage des datas ça me renvoie à peu pres ce que je souhaite:
 
Import-Module ActiveDirectory
 
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 |
  Where-Object {$_.DriveType -eq 3} |  
        Format-Table $_.Name, DeviceID, VolumeName, @{n='FreeSpace';e={[int]($_.FreeSpace/1GB)}}, @{n='Size';e={[int]($_.Size/1GB)}}
    }
}
 
 
 
 
 
 
DOP-DC01                DeviceID                VolumeName                            FreeSpace                    Size
--------                --------                ----------                            ---------                    ----
                        C:                                                                  192                     233
 
 
 
DOP-SRV01                DeviceID                VolumeName                            FreeSpace                    Size
-----------             --------                ----------                            ---------                    ----
                        C:                                                                   57                     100
                        E:                      DATA                                         76                     800
 
 
 
DOP-SRV02                DeviceID                VolumeName                            FreeSpace                    Size
---------               --------                ----------                            ---------                    ----
                        C:                                                                   57                     100
                        E:                      DATA                                         80                     800
 
 
 
DOP-SRV03                DeviceID                VolumeName                            FreeSpace                    Size
--------                --------                ----------                            ---------                    ----
                        C:                                                                   44                     100
                        E:                      DATA                                         80                     800
 
 
 
je suis perplexe (et surtout un peu perdu...)

Reply

Marsh Posté le 03-10-2016 à 16:00:35    

Salut,
 
as tu réussi à avoir les infos que tu voulais ?  
 
Je vois que tu mets  -Properties * sur ta requete AD. ça bouffe pas mal de temps sachant que tu ne veux récuperer que le nom. Tu devrais le virer.
 
Par contre au niveau de l'affichage du résultat je ne vois pas ce qui te dérange. Vu que dans ton tableau qui génère un autre tableau pour le freespace et Size.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed