Question Addition de Valeurs

Plus d'informations
il y a 10 ans 9 mois #20035 par POLFER
Addition de Valeurs a été créé par POLFER
Bonjour,

Juste pour prévenir, je suis un débutant ++ (au sens vraiment pas doué :P )

Voila mon besoin, je remplis un tableau csv avec des valeurs que je récupère en PowerCLI VMware.
Le but étant d'avoir pour chaque client un récapitulatif de pas mal de chose. Mon problème concerne la mémoire associée à chaque VM.
En effet, on me demande d’additionner la RAM de chaque VM pour renseigner le total dans le csv.

J'arrive bien a récupérer les infos des noms de client, le nombre de VM par OS etc donc je pense avoir une bonne base de départ.

Pour mon problème, j'en suis la :

[code:1] foreach ( $VM in $Liste_VM_ESS)
{
write-host $VM.name \"`t\" $VM.MemoryMB
}[/code:1]

Cela m'affiche bien un résultat tel que celui-ci :
SRV-CLIENT-01 2048
SRV-CLIENT-02 4096

et mon besoin serait de pouvoir additionner les 2 valeurs \"2048 + 4096\" puis diviser cela par 1024 pour obtenir \"6\"

Je vous avoue que je ne sais pas du tout comment faire ni par ou commencer.
J'espere avoir été assez exhaustif et que vous pourrez m'aiguiller.

Merci d'avance.<br><br>Message édité par: spolfer, à: 11/06/15 10:25

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 9 mois #20036 par Axel
Réponse de Axel sur le sujet Re:Addition de Valeurs
tu as un tableau avec

SRV-CLIENT-01 2048
SRV-CLIENT-02 4096

dans une colonne ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 9 mois #20038 par Axel
Réponse de Axel sur le sujet Re:Addition de Valeurs
ta version ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 9 mois #20040 par POLFER
Réponse de POLFER sur le sujet Re:Addition de Valeurs
Merci de ta réponse.
Version 2 pardon.

Non je n'ai pas un tableau avec ces valeurs.
Je ne sais pas comment expliquer mais lorsque je lance mon script complet avec PowerShell ISE, je récupère ce que j'ai noté dans le message précédent.
Je ne sais pas comment l'exploiter en fait...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 9 mois #20041 par POLFER
Réponse de POLFER sur le sujet Re:Addition de Valeurs
Peut etre est ce plus simple si je post l'intégralité du script...
Je l'ai épuré pour faciliter la lecture et cacher les infos confidentielles.

[code:1]#############################################################################
# List all VM
# Run as scheduled task with a user with rights to view all VMs
#

Add-PSSnapin VMware.VimAutomation.Core
Connect-VIServer vcenter

$date=Get-Date -uFormat \&quot;%d-%m-%Y\&quot;
$strOutFile = \&quot;EXPORT_VMWARE_$date.CSV\&quot;
$strSubject = “VM list - ” + (get-date -DisplayHint date)

### Integralite de la plateforme
$Liste_Folder = get-folder -Name \&quot;Machine de PROD\&quot; |get-folder |where {$_.name -like \&quot;*(X*)\&quot; -or $_.name -like \&quot;*(Z*)\&quot;} |where {$_.name -notlike \&quot;*(*SAAS360*)\&quot;} |select name, @{NAME=\&quot;CodeClient\&quot;;EXPRESSION={ [REGEX]::match($_.name,'[a-zA-Z0-9\(\) ]*\(([xX-zZ0-9]*)\)').groups[1].value }}

$csv=\&quot;Code_client,Nom_client,Quantite_VM_MS,Quantite_VM_Unix,FW,Essential,Entreprise,Premium`r`n\&quot;

foreach ($Folder in $Liste_Folder)
{
write-host -BackgroundColor Green $Folder.name

# Identification de l'os
$Liste_VM_MS = get-folder $Folder.name |get-Vm |Where { $_.powerstate -like \&quot;PoweredOn\&quot; } |Where { $_.guest.OsFullName -like \&quot;*Microsoft*\&quot; } | Where {$_.Name -like \&quot;*PROD*\&quot;} | select *
$Liste_VM_LX = get-folder $Folder.name |get-Vm |Where { $_.powerstate -like \&quot;PoweredOn\&quot; } |Where { $_.guest.OsFullName -notlike \&quot;*Microsoft*\&quot; } | Where {$_.Name -notlike \&quot;*FW-*\&quot;} | Where {$_.Name -notlike \&quot;*TEST*\&quot;} | select *
$Liste_VM_FW = get-folder $Folder.name |get-Vm |Where { $_.powerstate -like \&quot;PoweredOn\&quot; } |Where { $_.guest.OsFullName -notlike \&quot;*Microsoft*\&quot; } |where { $_.name -like \&quot;*FW-*PROD*\&quot; } | select *

# Identification du niveau de service
$Liste_VM_ESS = get-folder $Folder.name |get-Vm |Where { $_.powerstate -like \&quot;PoweredOn\&quot; } |Where {$_.Name -like \&quot;*PROD-LC*\&quot;} |Where {$_.Name -notlike \&quot;FW*\&quot;} |select *
$Liste_VM_ENT = get-folder $Folder.name |get-Vm |Where { $_.powerstate -like \&quot;PoweredOn\&quot; } |Where {$_.Name -like \&quot;*PROD]*\&quot;} |Where {$_.Name -notlike \&quot;FW*\&quot;} | select *
$Liste_VM_PRE = get-folder $Folder.name |get-Vm |Where { $_.powerstate -like \&quot;PoweredOn\&quot; } |Where {$_.Name -like \&quot;*PROD-PRA*\&quot;} |Where {$_.Name -notlike \&quot;FW*\&quot;} | select *

# Pour les VMs Crosoft
foreach ( $VM in $Liste_VM_MS)
{
write-host $VM.name \&quot;`t\&quot; $VM.Guest.OsFullName
}
$QTE_MS=0
if ($Liste_VM_MS.count -gt 0 )
{
$QTE_MS = $($Liste_VM_MS.count)
}
else
{ if ($Liste_VM_MS -ne $NULL)
{
$QTE_MS=1
}
}

# Pour les VMs Tux
foreach ( $VM in $Liste_VM_LX)
{
write-host $VM.name \&quot;`t\&quot; $VM.Guest.OsFullName
}
$QTE_LX=0
if ($Liste_VM_LX.count -gt 0 )
{
$QTE_LX = $($Liste_VM_LX.count)
}
else
{ if ($Liste_VM_LX -ne $NULL)
{
$QTE_LX=1
}
}

# Pour les VMs Pfsense
foreach ( $VM in $Liste_VM_FW)
{
write-host $VM.name \&quot;`t\&quot; $VM.Guest.OsFullName
}
$QTE_FW=0
if ($Liste_VM_FW.count -gt 0 )
{
$QTE_FW = $($Liste_VM_FW.count)
}
else
{ if ($Liste_VM_FW -ne $NULL)
{
$QTE_FW=1
}
}

### Pour les VMs Essential [PROD-LC]

foreach ( $VM in $Liste_VM_ESS)
{
write-host $VM.name \&quot;`t\&quot; $VM.MemoryMB
}

# Creation du CSV
$csv+=$Folder.CodeClient+\&quot;,\&quot;+$Folder.name+\&quot;,\&quot;+$QTE_MS+\&quot;,\&quot;+$QTE_LX+\&quot;,\&quot;+$QTE_FW+\&quot;,\&quot;+$nbrePart_ESS+\&quot;,\&quot;+$nbrePart_ENT+\&quot;,\&quot;+$nbrePart_PRE+\&quot;`r`n\&quot;
}

# $csv |out-file $strOutFile

# DisConnect-VIServer -Server * -Force -Confirm:$false[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 9 mois #20042 par Axel
Réponse de Axel sur le sujet Re:Addition de Valeurs
je pense qu'il faut que tu utilise les objets avec un tableau, tu range toute tes info dans name, avec tout tes serveurs ensuite tu fais une deuxieme colonne avec RAM, ensuite tu pourra plus facilement faire tes calculs

utlise new-object PSObject

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.046 secondes
Propulsé par Kunena