La classe NsHardwareVolume décrit un volume client monitoré par le serveur de sauvegarde, dont le statut est régulièrement mis à jour par l'agent client.
Consultez en priorité les champs FreeSpace et HealthStatus pour prévenir des erreurs disques les plus fréquentes.
Les informations sur les profils matériels et les disques clients sont collectés uniquement si l'option adéquate est activée sur le serveur de sauvegarde.
L'identificateur unique du volume.
L'identificateur du profil matériel parent.
Le nom du volume.
Le numéro de série du volume.
Le lettre sur laquelle le volume est monté.
Une variable booléenne indiquant si le volume est considéré par Windows comme le volume système.
Le nom du système de fichiers.
Les flags du système de fichiers, tels qu'ils sont reportés par Windows.
La taille totale, en octets, du volume.
La taille restante, en octets, du volume.
Une variable booléenne indiquant si la santé du volume doit être surveillée par le logiciel en utilisant les attributs S.M.A.R.T. transmis par Windows.
Le statut de santé du volume.
Charge en mémoire le volume client d'identificateur VolumeID.
Set connection = CreateObject("NsAPI.NsConnection") Set sysutils = CreateObject("NsAPI.NsScriptUtils") if connection.ConnectToLocalServer then set server = CreateObject("NsAPI.NsServer") strResult = "" FreeSpaceLimit = 1 * 1024 * 1024 * 1024 ' Limite d'espace disque critique définie à 1 Go volumesCount = 0 if server.Load(connection) then ' Chargement des infos serveur set groups = server.UserGroups(connection) ' Chargement de tous les groupes utilisateur for each group in groups ' Pour chaque groupe... set users = group.users(connection) ' Chargement de tous les utilisateurs membres for each user in users ' Pour chaque utilisateurs... set hwProfiles = user.Hardware(connection) ' Chargement de la liste des profils matériels associés for each hwProfile in hwProfiles ' Pour chaque profil matériel référencé... set volumes = hwProfile.Volumes(connection) ' Obtenir la liste des volumes connectés for each volume in volumes ' Pour chaque volume... if sysutils.CompareInt64(volume.FreeSpace, FreeSpaceLimit) < 0 then ' Si l'espace libre est trop faible... volumesCount = volumesCount + 1 '... on ajoute le volume dans la liste des volumes problématiques. strResult = strResult & user.Description & " [" & hwProfile.DeviceName & "] " & volume.Letter & ":\ => " & sysutils.SizeToStr(volume.FreeSpace) & vbCrLf end if next next next next if volumesCount > 0 then MsgBox "Certains volumes client ont un faible espace disque restant : " & vbCrLf & strResult else MsgBox "Tous les volumes client ont assez d'espace disque libre." end if else MsgBox "Impossible de charger les informations serveur." end if connection.Disconnect else MsgBox "Connexion au serveur local impossible." end if