Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer des informations d'un volume monté.

2 réponses
Avatar
Major TOM
En exécutant ce code ....

'****************************************************************************
strComputer = "."
strOutputFile = "./" & Split(WScript.ScriptName, ".")(0) & ".txt"

Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set objOutputFile = objFileSystem.CreateTextFile(strOutputFile, TRUE)

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &
strComputer & "\root\cimv2")
msg = msg & strComputer & vbCrLf
msg = msg & vbCrLf
msg = msg & vbCrLf
msg = msg & "Propriétés des disques physique" & vbCrLf
msg = msg & "*******************************" & vbCrLf
msg = msg & vbCrLf
Set colDiskDrives = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive")
For each objDiskDrive in colDiskDrives
msg = msg & "Type d'interface : " & objDiskDrive.InterfaceType & vbCrLf
If objDiskDrive.MediaLoaded Then
strMediaLoadedResult = " (chargé)"
Else
strMediaLoadedResult = " (démonté)"
End If
msg = msg & "Type de support : " & objDiskDrive.MediaType &
strMediaLoadedResult & vbCrLf
msg = msg & "Nom : " & objDiskDrive.Name & vbCrLf
msg = msg & "Modèle : " & objDiskDrive.Model & vbCrLf
msg = msg & "Partitions : " & objDiskDrive.Partitions & vbCrLf
msg = msg & "Taille : " & FormatNumber((objDiskDrive.Size / (1024 * 1024 *
1024)), 2) & "Go" & vbCrLf
msg = msg & "Possibilités : " & vbCrLf
For Each numCapability in objDiskDrive.Capabilities
'Array of capabilities of the disk drive. Values include:
Select Case numCapability
Case 0 'Unknow
strCapability = "Inconnu (" & numCapability & ")"
Case 1 'Other
strCapability = "Autre (" & numCapability & ")"
Case 2 'Sequential Access
strCapability = "Accés séquentiel (" & numCapability & ")"
Case 3 'Random Access
strCapability = "Accés aléatoire (" & numCapability & ")"
Case 4 'Supports Writing
strCapability = "Supports Writing (" & numCapability & ")"
Case 5 'Encryption
strCapability = "Cryptage (" & numCapability & ")"
Case 6 'Compression
strCapability = "Compression (" & numCapability & ")"
Case 7 'Supports Removable Media
strCapability = "Supports Removable Media (" & numCapability & ")"
Case 8 'Manual Cleaning
strCapability = "Nettoyage mannuel (" & numCapability & ")"
Case 9 'Automatic Cleaning
strCapability = "Nettoyage automatique (" & numCapability & ")"
Case 10 'SMART Notification
strCapability = "Notification SMART (" & numCapability & ")"
Case 11 'Supports Dual-Sided Media
strCapability = "Supports Dual-Sided Media (" & numCapability & ")"
Case 12 'Ejection Prior to Drive Dismount Not Required
strCapability = "Ejection Prior to Drive Dismount Not Required (" &
numCapability & ")"
End Select
msg = msg & vbTab & "-" & strCapability & vbCrLf
Next
msg = msg & vbCrLf
Next


msg = msg & vbCrLf & vbCrLf
msg = msg & "Propriétés des partitions du disque" & vbCrLf
msg = msg & "***********************************" & vbCrLf
msg = msg & vbCrLf
Set colDiskPartitions = objWMIService.ExecQuery("SELECT * FROM
Win32_DiskPartition")
For each objPartition in colDiskPartitions
msg = msg & "Name : " & objPartition.Name & vbCrLf
msg = msg & "Type : " & objPartition.Type & vbCrLf
msg = msg & "Device ID : " & objPartition.DeviceID & vbCrLf
msg = msg & "Taille : " & FormatNumber((objPartition.Size / (1024 * 1024 *
1024)), 2) & "Go" & vbCrLf
If objPartition.BootPartition Then
strResultBootPartition = "bootable"
Else
strResultBootPartition = "non bootable"
End If
If objPartition.PrimaryPartition Then
strResultPrimaryPartition = "Partition primaire"
Else
strResultPrimaryPartition = "Partition secondaire"
End If
msg = msg & strResultPrimaryPartition & " " & strResultBootPartition & vbCrLf
msg = msg & vbCrLf
Next


msg = msg & vbCrLf
msg = msg & "Propriétés des disques logiques" & vbCrLf
msg = msg & "*******************************" & vbCrLf
msg = msg & vbCrLf
Set colDisks = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk")
For Each objDisk In colDisks
MsgBox objDisk.Description
If objDisk.Description <> "Connexion réseau" Then
Select Case objDisk.DriveType
Case 1
strDriveType = "Aucun répertoire racine (" & objDisk.FileSystem & ")"
Case 2
strDriveType = "Disque démontable (" & objDisk.FileSystem & ")"
Case 3
strDriveType = "Disque local (" & objDisk.FileSystem & ")"
Case 4
strDriveType = "Disque réseau (" & objDisk.FileSystem & ")"
Case 5
strDriveType = "CDROM (" & objDisk.FileSystem & ")"
Case 6
strDriveType = "Disque RAM (" & objDisk.FileSystem & ")"
Case Else
strDriveType = "Disque indéterminé"
End Select
msg = msg & strDriveType & vbCrLf
msg = msg & "Nom de volume : " & objDisk.VolumeName & " (" & objDisk.Name &
" - n/s " & objDisk.VolumeSerialNumber & ")" & vbCrLf
If objDisk.Compressed Then
strCompressed = "compressé"
Else
strCompressed = "non compressé"
End If
If objDisk.Size > 0 Then
numDiskFree = FormatNumber((objDisk.FreeSpace / (1024 * 1024 * 1024)), 2)
numDiskSize = FormatNumber((objDisk.Size / (1024 * 1024 * 1024)), 2)
numPourcentDiskFree = FormatNumber((objDisk.FreeSpace / objDisk.Size) * 100,
2) & "%"
msg = msg & "Espace libre/Taille : " & numDiskFree & "/" & numDiskSize & "Go
" & strCompressed & " soit " & numPourcentDiskFree & " d'espace disponible" &
vbCrLf
End If
msg = msg & vbCrLf
End If
Next


objOutputFile.WriteLine msg
Set Shell = Wscript.CreateObject("Wscript.Shell")

'****************************************************************************

J'obtiens ceci :

Propriétés des disques physique
*******************************

Type d'interface : IDE
Type de support : Fixed hard disk media (chargé)
Nom : \\.\PHYSICALDRIVE0
Modèle : WDC WD1200JB-00CRA1
Partitions : 1
Taille : 111,79Go
Possibilités :
-Accés aléatoire (3)
-Supports Writing (4)

Type d'interface : SCSI
Type de support : Fixed hard disk media (chargé)
Nom : \\.\PHYSICALDRIVE1
Modèle : IBM DDRS-34560W SCSI Disk Device
Partitions : 1
Taille : 4,25Go
Possibilités :
-Accés aléatoire (3)
-Supports Writing (4)

Type d'interface : SCSI
Type de support : Fixed hard disk media (chargé)
Nom : \\.\PHYSICALDRIVE2
Modèle : IBM DDRS-34560W SCSI Disk Device
Partitions : 1
Taille : 4,26Go
Possibilités :
-Accés aléatoire (3)
-Supports Writing (4)

Type d'interface : SCSI
Type de support : Fixed hard disk media (chargé)
Nom : \\.\PHYSICALDRIVE3
Modèle : IBM DDRS-34560W SCSI Disk Device
Partitions : 1
Taille : 4,26Go
Possibilités :
-Accés aléatoire (3)
-Supports Writing (4)

Type d'interface : SCSI
Type de support : Fixed hard disk media (chargé)
Nom : \\.\PHYSICALDRIVE4
Modèle : IBM DDRS-34560W SCSI Disk Device
Partitions : 1
Taille : 4,26Go
Possibilités :
-Accés aléatoire (3)
-Supports Writing (4)



Propriétés des partitions du disque
***********************************

Name : Disque n° 0, partition n° 0
Type : Logical Disk Manager
Device ID : Disk #0, Partition #0
Taille : 111,79Go
Partition secondaire non bootable

Name : Disque n° 1, partition n° 0
Type : Installable File System
Device ID : Disk #1, Partition #0
Taille : 4,24Go
Partition primaire bootable

Name : Disque n° 2, partition n° 0
Type : Installable File System
Device ID : Disk #2, Partition #0
Taille : 4,25Go
Partition primaire bootable

Name : Disque n° 3, partition n° 0
Type : Installable File System
Device ID : Disk #3, Partition #0
Taille : 4,25Go
Partition primaire bootable

Name : Disque n° 4, partition n° 0
Type : Installable File System
Device ID : Disk #4, Partition #0
Taille : 4,25Go
Partition primaire bootable


Propriétés des disques logiques
*******************************

Disque démontable ()
Nom de volume : (A: - n/s )

Disque local (NTFS)
Nom de volume : System (C: - n/s F4EFD8AA)
Espace libre/Taille : 1,46/4,24Go non compressé soit 34,35% d'espace disponible

Disque local (NTFS)
Nom de volume : Programs (D: - n/s 3C4E8ACF)
Espace libre/Taille : 3,21/4,25Go non compressé soit 75,44% d'espace disponible

Disque local (NTFS)
Nom de volume : Datas (E: - n/s D8DADC63)
Espace libre/Taille : 4,23/4,25Go non compressé soit 99,41% d'espace disponible

CDROM ()
Nom de volume : (G: - n/s )


Mon problème c'est que le disque 0 n'est pas pris en compte dans la partie
"Propriétés des disques logiques" car c'est un volume monté en tant que dossier
de la partition E:\ sans unité déterminée.

Comment faire pour récupérer sa taille libre ?
--

Par avance, merci de votre aide.

Thierry

2 réponses

Avatar
Do Re Mi chel La Si Do
Bonjour !

Peut être l'objet WMI "Win32_MappedLogicalDisk" te serait-il utile ?

@-salutations

Michel Claveau
Avatar
Major TOM
Merci mais non car j'ai besoin de connaitre la taille d'un volume monté dans un
répertoire qui ne dispose pas de lettre d'unité.


Thierry


"Do Re Mi chel La Si Do" a écrit dans le
message de news: u8xU70z%
Bonjour !

Peut être l'objet WMI "Win32_MappedLogicalDisk" te serait-il utile ?

@-salutations

Michel Claveau