OVH Cloud OVH Cloud

FreeSpace

3 réponses
Avatar
Thierry
Bonjour et Joyeuses F=EAtes =E0 toutes et =E0 tous,

J'ai ce script:

Const HKEY_LOCAL_MACHINE =3D &H80000002
Const HARD_DISK =3D 3

Computer =3D "NomNetBios"

Set objWMIService =3D GetObject("winmgmts:"=20
& "{impersonationLevel=3Dimpersonate}!\\" & Computer=20
& "\root\cimv2")

If Err.Number<>0 Then
strResult =3D strResult & " Le poste " & inpPC & "=20
est non accessible" & vbcrlf
Else
Set colDisks =3D objWMIService.ExecQuery ("Select * from=20
Win32_LogicalDisk Where DriveType =3D " & HARD_DISK & "")
For Each objDisk in colDisks
If objDisk.DeviceID =3D "C:" Then=20
strTaille =3D Round(objDisk.FreeSpace/1000000000,2)
If strTaille <=3D 1 Then MsgBox objDisk.FreeSpace &=20
vbcrlf & "Inf 1Go"
If strTaille <=3D 5 Then MsgBox objDisk.FreeSpace &=20
vbcrlf & "Inf 5Go"
If strTaille >=3D 10 Then MsgBox objDisk.FreeSpace &=20
vbcrlf & "Sup 10Go"
End if
Next
End If

Je souhaite que ce script m'affiche l'un des messages=20
selon la taille dispo.=20
Mais il ne se passe rien.
Si c'est sup=E9rieur =E0 10Go aucun pb, il m'affiche mon petit=20
message de controle, mais si inf=E9rieur, il ne se passe=20
rien !!!

Auriez vous une id=E9e?

Le but =E9tant de controler =E0 distance =E0 la demande, la=20
taille dispo sur tous mes postes du Domaine.

Amicalemenent,
Thierry

3 réponses

Avatar
Thierry
En fait, il faut que je compare la valeur sur une valeur
avec décimal comme if strTaille < 2.00 then ....

Et ça, ben ça marche :o/ va comprendre Charles

Merci tout de même ;o)

Toutefois si vous avez d'autres idées....

-----Message d'origine-----
Bonjour et Joyeuses Fêtes à toutes et à tous,

J'ai ce script:

Const HKEY_LOCAL_MACHINE = &H80000002
Const HARD_DISK = 3

Computer = "NomNetBios"

Set objWMIService = GetObject("winmgmts:"
& "{impersonationLevel=impersonate}!" & Computer
& "rootcimv2")

If Err.Number<>0 Then
strResult = strResult & " Le poste " & inpPC & "
est non accessible" & vbcrlf
Else
Set colDisks = objWMIService.ExecQuery ("Select * from
Win32_LogicalDisk Where DriveType = " & HARD_DISK & "")
For Each objDisk in colDisks
If objDisk.DeviceID = "C:" Then
strTaille = Round(objDisk.FreeSpace/1000000000,2)
If strTaille <= 1 Then MsgBox objDisk.FreeSpace &
vbcrlf & "Inf 1Go"
If strTaille <= 5 Then MsgBox objDisk.FreeSpace &
vbcrlf & "Inf 5Go"
If strTaille >= 10 Then MsgBox objDisk.FreeSpace &
vbcrlf & "Sup 10Go"
End if
Next
End If

Je souhaite que ce script m'affiche l'un des messages
selon la taille dispo.
Mais il ne se passe rien.
Si c'est supérieur à 10Go aucun pb, il m'affiche mon
petit

message de controle, mais si inférieur, il ne se passe
rien !!!

Auriez vous une idée?

Le but étant de controler à distance à la demande, la
taille dispo sur tous mes postes du Domaine.

Amicalemenent,
Thierry
.



Avatar
sylvain
Moi ca fonctionne bien mais pour plus de surete :

ta ligne :
strTaille = Round(objDisk.FreeSpace/1000000000,2)

je la modifie par :
strTaille = Round(objDisk.FreeSpace/1000000000,0)

comme ca tu n'a pas de decimal !!

a tester plus a fond !

Sylvain


-----Message d'origine-----
En fait, il faut que je compare la valeur sur une valeur
avec décimal comme if strTaille < 2.00 then ....

Et ça, ben ça marche :o/ va comprendre Charles

Merci tout de même ;o)

Toutefois si vous avez d'autres idées....

-----Message d'origine-----
Bonjour et Joyeuses Fêtes à toutes et à tous,

J'ai ce script:

Const HKEY_LOCAL_MACHINE = &H80000002
Const HARD_DISK = 3

Computer = "NomNetBios"

Set objWMIService = GetObject("winmgmts:"
& "{impersonationLevel=impersonate}!" & Computer
& "rootcimv2")

If Err.Number<>0 Then
strResult = strResult & " Le poste " & inpPC
& "


est non accessible" & vbcrlf
Else
Set colDisks = objWMIService.ExecQuery ("Select * from
Win32_LogicalDisk Where DriveType = " & HARD_DISK & "")
For Each objDisk in colDisks
If objDisk.DeviceID = "C:" Then
strTaille = Round(objDisk.FreeSpace/1000000000,2)
If strTaille <= 1 Then MsgBox objDisk.FreeSpace &
vbcrlf & "Inf 1Go"
If strTaille <= 5 Then MsgBox objDisk.FreeSpace &
vbcrlf & "Inf 5Go"
If strTaille >= 10 Then MsgBox objDisk.FreeSpace &
vbcrlf & "Sup 10Go"
End if
Next
End If

Je souhaite que ce script m'affiche l'un des messages
selon la taille dispo.
Mais il ne se passe rien.
Si c'est supérieur à 10Go aucun pb, il m'affiche mon
petit

message de controle, mais si inférieur, il ne se passe
rien !!!

Auriez vous une idée?

Le but étant de controler à distance à la demande, la
taille dispo sur tous mes postes du Domaine.

Amicalemenent,
Thierry
.

.





Avatar
Thierry
Merci Sylvain,

bonne fête à toi ;o)

-----Message d'origine-----
Moi ca fonctionne bien mais pour plus de surete :

ta ligne :
strTaille = Round(objDisk.FreeSpace/1000000000,2)

je la modifie par :
strTaille = Round(objDisk.FreeSpace/1000000000,0)

comme ca tu n'a pas de decimal !!

a tester plus a fond !

Sylvain


-----Message d'origine-----
En fait, il faut que je compare la valeur sur une valeur
avec décimal comme if strTaille < 2.00 then ....

Et ça, ben ça marche :o/ va comprendre Charles

Merci tout de même ;o)

Toutefois si vous avez d'autres idées....

-----Message d'origine-----
Bonjour et Joyeuses Fêtes à toutes et à tous,

J'ai ce script:

Const HKEY_LOCAL_MACHINE = &H80000002
Const HARD_DISK = 3

Computer = "NomNetBios"

Set objWMIService = GetObject("winmgmts:"
& "{impersonationLevel=impersonate}!" & Computer
& "rootcimv2")

If Err.Number<>0 Then
strResult = strResult & " Le poste " & inpPC
& "


est non accessible" & vbcrlf
Else
Set colDisks = objWMIService.ExecQuery ("Select * from
Win32_LogicalDisk Where DriveType = " & HARD_DISK & "")
For Each objDisk in colDisks
If objDisk.DeviceID = "C:" Then
strTaille = Round(objDisk.FreeSpace/1000000000,2)
If strTaille <= 1 Then MsgBox objDisk.FreeSpace &
vbcrlf & "Inf 1Go"
If strTaille <= 5 Then MsgBox objDisk.FreeSpace &
vbcrlf & "Inf 5Go"
If strTaille >= 10 Then MsgBox objDisk.FreeSpace &
vbcrlf & "Sup 10Go"
End if
Next
End If

Je souhaite que ce script m'affiche l'un des messages
selon la taille dispo.
Mais il ne se passe rien.
Si c'est supérieur à 10Go aucun pb, il m'affiche mon
petit

message de controle, mais si inférieur, il ne se passe
rien !!!

Auriez vous une idée?

Le but étant de controler à distance à la demande, la
taille dispo sur tous mes postes du Domaine.

Amicalemenent,
Thierry
.

.


.