La classe NsHardwareProfile décrit un profil matériel utilisé par un utilisateur donné. A un profil matériel est associé l'ensemble des disques clients non-amovibles via une liste d'objets de type NsHardwareVolume, permettant le monitoring de l'occupation et de la santé des volumes exploités depuis la console d'administration du logiciel.
Les profils sont automatiquement créés par le "Service d'exécution en arrière-plan" de l'agent client. Vous ne pouvez pas les modifier via cette interface de programmation.
En théorie, un seul profil matériel est associé par objet NsUser, sauf si l'agent a été installé sous plusieurs postes différents en exploitant le même identifiant de connexion.
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 profil matériel.
La date d'enregistrement du profil matériel.
Le nom du poste.
Charge en mémoire le profil matériel d'identificateur ProfileID.
Supprime le profil matériel représenté par l'objet.
Retourne la liste des volumes de stockage attachés au profil matériel.
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
if hwProfiles.Count > 1 then
' L'utilisateur possède plus d'un profil matériel référencé. Cela signifie
' probablement qu'il a changé de poste au fil de l'exploitation du logiciel
' de sauvegarde. On va conserver que le plus récent et supprimer les autres.
MsgBox "L'utilisateur " & user.Description & " possède plus d'un profil matériel référencé !"
' On suppose que le premier profil est le plus récent
set newest = hwProfiles(0)
' On vérifie...
for each hwProfile in hwProfiles
if hwProfile.CreationDate > newest.CreationDate then ' Profil actuel plus récent ?
newest = hwProfile ' On met à jour
end if
next
for each hwProfile in hwProfiles ' On supprime tous les profils à l'exception du plus récent.
if sysutils.CompareInt64(hwProfile.ID, newest.ID) <> 0 then
if hwProfile.Delete(Connection) then
MsgBox "Un ancien profil matériel de " & user.Description & ", datant du " & sysutils.UTCToLocal(hwProfile.CreationDate) & ", a été supprimé."
else
MsgBox "Impossible de supprimer le plus ancien profil matériel associé à " & user.Description
end if
end if
next
end if
next
next
else
MsgBox "Impossible de charger les informations serveur."
end if
connection.Disconnect
else
MsgBox "Connexion au serveur local impossible."
end if