Question
[System.Math]::Round
- ZOKI
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 13 ans 11 mois #11505
par ZOKI
[System.Math]::Round a été créé par ZOKI
Bonjour
Mon script fonctionne mais le résultat donné de l'espace disponible des disques durs du poste compte trop de chiffres après la virgule.
Avec ce script, je recois un mail pour chaque disque \"saturé\" à plus de 85% de sa capacité.
j'aimerais utiliser la fonction [System.Math]::Round pour arrondir la totalité de l'espace disponible en Go
mais je n'y arrive pas
Je ne sais pas ou mettre cette fonction dans mon script
$exp = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
$tech = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
$disk = Get-WMIObject Win32_LogicalDisk -filter \"DriveType=2\" -computer localhost | Where-Object {$_.Size -ne $null} | where-object {($_.freespace/1gb) / ($_.size/1gb) -lt 0.85}
Foreach ($element in $disk)
{
Send-Mailmessage -to $tech -from $exp -subject 'Espace disque faible' -body \"le disque $($element.DeviceID) ($($element.VolumeName)) n'a plus que $($element.Freespace/1Gb)) Go disponibles\" -smtpserver 'smtp.orange.fr'
}
si vous pouvez m'éclairer ... Merci
Mon script fonctionne mais le résultat donné de l'espace disponible des disques durs du poste compte trop de chiffres après la virgule.
Avec ce script, je recois un mail pour chaque disque \"saturé\" à plus de 85% de sa capacité.
j'aimerais utiliser la fonction [System.Math]::Round pour arrondir la totalité de l'espace disponible en Go
mais je n'y arrive pas
Je ne sais pas ou mettre cette fonction dans mon script
$exp = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
$tech = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
$disk = Get-WMIObject Win32_LogicalDisk -filter \"DriveType=2\" -computer localhost | Where-Object {$_.Size -ne $null} | where-object {($_.freespace/1gb) / ($_.size/1gb) -lt 0.85}
Foreach ($element in $disk)
{
Send-Mailmessage -to $tech -from $exp -subject 'Espace disque faible' -body \"le disque $($element.DeviceID) ($($element.VolumeName)) n'a plus que $($element.Freespace/1Gb)) Go disponibles\" -smtpserver 'smtp.orange.fr'
}
si vous pouvez m'éclairer ... Merci
Connexion ou Créer un compte pour participer à la conversation.
- BENOIT Damien
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 13 ans 11 mois #11507
par BENOIT Damien
Réponse de BENOIT Damien sur le sujet Re:[System.Math]::Round
Bonjour,
J'ai réalisé il y a quelques temps une chose similaire mais je n'ai pas utilisé [System.Math]::Round
www.it-experience.fr/scripts/check_disk.ps1
C'était la remonté d'espace disque dans Nagios avec PS, cela t'aidera peut-être au niveau du calcul.
Dans l'interface cela me renvoyais par exemple \"69.766% (83.54817 Gb) restant sur e:\"
Cela fait aussi quelques chiffres mais c'était exploitable.
<br><br>Message édité par: Damien BENOIT, à: 12/04/12 18:47
J'ai réalisé il y a quelques temps une chose similaire mais je n'ai pas utilisé [System.Math]::Round
www.it-experience.fr/scripts/check_disk.ps1
C'était la remonté d'espace disque dans Nagios avec PS, cela t'aidera peut-être au niveau du calcul.
Dans l'interface cela me renvoyais par exemple \"69.766% (83.54817 Gb) restant sur e:\"
Cela fait aussi quelques chiffres mais c'était exploitable.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 11 mois #11508
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:[System.Math]::Round
Salut,
une fusion de vos deux approches:
[code:1]
$Liste= Get-WMIObject Win32_LogicalDisk |
Foreach-Object {New-Object PSObject -Property @{
Drive=$_.DeviceID;
FreeSpace=[math]::Round($_.Freespace / 1GB,2);
Size=$_.Size / 1GB}}
$Liste
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 12/04/12 20:27
une fusion de vos deux approches:
[code:1]
$Liste= Get-WMIObject Win32_LogicalDisk |
Foreach-Object {New-Object PSObject -Property @{
Drive=$_.DeviceID;
FreeSpace=[math]::Round($_.Freespace / 1GB,2);
Size=$_.Size / 1GB}}
$Liste
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 12/04/12 20:27
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- ZOKI
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 13 ans 11 mois #11510
par ZOKI
Réponse de ZOKI sur le sujet Re:[System.Math]::Round
Merci. Ce second script apporte la réponse attendue.
Le premier script m'a ouvert d'autres perspectives.
Quel pied !!!
Merci ++++ à vous deux.
Le premier script m'a ouvert d'autres perspectives.
Quel pied !!!
Merci ++++ à vous deux.
Connexion ou Créer un compte pour participer à la conversation.
- BENOIT Damien
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 13 ans 11 mois #11514
par BENOIT Damien
Réponse de BENOIT Damien sur le sujet Re:[System.Math]::Round
Merci Laurent pour cette autre approche !
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.099 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [System.Math]::Round