class NsCustomAttributes

La classe NsCustomAttributes représente un ensemble d'attributs personnalisés associés à un élément du serveur de sauvegarde.

Utilisez les attributs personnalisés pour associer des informations utilisateur à des objets gérés par le serveur de sauvegarde. Ce dernier garantit la persistence de ces données à travers le temps. Les classes supportant des attributs personnalisés sont les suivantes : NsUserGroup, NsUser, NsBackup, NsStorage et NsExecPlan.

Sans droits administrateur, un utilisateur ne peut modifier que les attributs personnalisés de ses sauvegardes.

Count : long readonly

Le nombre d'attributs personnalisés.

NsCustomAttribute Item(long Index)

Retourne l'attribut personnalisé à l'index Index.

BSTR GetValue(BSTR Name)

Retourne la valeur de l'attribut personnalisé Name. Si l'attribut personnalisé n'existe pas, une chaîne vide est renvoyée.

VARIANT_BOOL SetValue(BSTR Name, BSTR Value)

Définit la valeur Value pour l'attribut personnalisé Name. Si l'attribut n'existe pas, il est créé et la fonction renvoit true, s'il existe, il est mis à jour et la fonction renvoit false.

void Add(BSTR Name, BSTR Value)

Définit la valeur Value pour l'attribut personnalisé Name. Cette fonction ne teste pas si un attribut personnalisé du même nom existe.

VARIANT_BOOL Exists(BSTR Name)

Retourne une variable booléenne indiquant si l'attribut personnalisé Name existe déjà.

void Clear()

Efface tous les attributs personnalisés.

VARIANT_BOOL Remove(BSTR Attribute)

Supprime l'attribut Attribute, et renvoie une variable booléenne indiquant si l'attribut a pu être trouvé et supprimé.

VARIANT_BOOL Update(NsConnection Connection)

Met à jour les attributs personnalisés sur le serveur de sauvegarde.

Association d'attributs à l'utilisateur courant

Set connection = CreateObject("NsAPI.NsConnection")
Set sysutils = CreateObject("NsAPI.NsScriptUtils")

if connection.ConnectToLocalServer then
  ' On obtient les attributs de l'utilisateur connecté
  set customAttribs = connection.Me.CustomAttributes(connection)
  
  ' Est-ce que l'attribut "phoneNumber" existe ?
  if not customAttribs.Exists("phoneNumber") then
    ' Si non, on le créé.
    customAttribs.SetValue "phoneNumber", "+33670400413"
  end if
  
  ' Test : la valeur affichée doit être la valeur précédemment saisie.
  MsgBox "Valeur de l'attribut phoneNumber : " & customAttribs.GetValue("phoneNumber")

  ' On supprime l'attribut qu'on vient de créer.
  if customAttribs.Remove("phoneNumber") then
    MsgBox "L'attribut a été supprimé avec succès."
  end if
  
  ' On ajoute un nouvel attribut.
  customAttribs.Add "address", "18 Rue des Plantes, 75005 PARIS"
  ' On teste que SetValue met bien a jour l'attribut existant
  customAttribs.SetValue "address", "19 Rue des Plantes, 75005 PARIS"
  
  ' On affiche la valeur
  MsgBox "Valeur de l'attribut address : " & customAttribs.GetValue("address")
  
  ' On enregistre les attributs.
  if not customAttribs.Update(connection) then
    MsgBox "Impossible d'enregistrer les attributs personnalisés attribués à l'utilisateur courant."
  end if

  connection.Disconnect
else
  MsgBox "Connexion au serveur local impossible."
end if