Arrondir les valeurs mémoires
Bonjour bonjour,
Je viens à vous en ce jour afin que quelqu'un puisse m'éclaircir sur ce sujet car je suis débutant en PowerShell.
Ne perdons pas de temps, voici mon code horrible :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
get-content C:\Users\Adm_test\Documents\Scripts\List1.txt |
foreach {
if (test-connection $_ -quiet -count 1)
{
$model = get-wmiObject Win32_ComputerSystem -comp $_ ;
$memory = Get-WmiObject -Class Win32_OperatingSystem | Format-List TotalVirtualMemorySize,TotalVisibleMemorySize,FreePhysicalMemory,FreeVirtualMemory,FreeSpaceInPagingFiles;
$memory >> C:\Users\Adm_test\Documents\Scripts\results.txt
$model >> C:\Users\Adm_test\Documents\Scripts\results.txt
}
else
{Write-host "$_ ne répond pas"}
} |
Je reçois bien le fichier "results.txt" afin les bonnes informations.
Seulement concernant la mémoire voici le résultat :
Code:
1 2 3 4 5 6
|
TotalVirtualMemorySize : 8453460
TotalVisibleMemorySize : 7273812
FreePhysicalMemory : 3987144
FreeVirtualMemory : 5125816
FreeSpaceInPagingFiles : 1159216 |
Il me semble que par défaut, les valeurs récupérées sont en Bytes, j'aimerais convertir cela en Megabytes et par la suite en Go (si possible)
J'ai trouvé différentes fonctions pour convertir ici et ailleurs mais je n'arrive pas à savoir où le placer dans mon code car chaque fois que j'ai testé il me rajoutait dans mon "results.txt" une ligne "Label : 0" comme si il ne convertissait rien :?
Des idées ?