class NsUserGroup

La classe NsUserGroup décrit un groupe d'utilisateurs du système de sauvegarde.

Un groupe contient plusieurs utilisateurs et permet d'introduire un niveau hiérarchique pour symboliser un ensemble de postes correspondant à une réalité spatiale (machines physiquement proches, dans la même salle ou le même bâtiment) ou logique (machines d'une même entreprise, d'une même filiale, etc.) L'utilisation de groupes permet également d'attribuer des droits, des alertes et un espace de stockage par défaut qui sont hérités par les utilisateurs membres du groupe.

Chaque groupe d'utilisateurs possède un domaine, c'est à dire une chaîne de caractère qui l'identifie de manière unique (par exemple : netstation). Les noms de connexion des utilisateurs membre du groupe sont constitués de leur login accolés du domaine du groupe, séparés par le caractère @, par exemple : adrien@netstation. Lorsque vous modifiez le groupe d'appartenance d'un utilisateur ou que vous modifiez le domaine d'un groupe, vous modifiez le nom de connexion des utilisateurs membres.

ID : __int64

L'identificateur unique du groupe d'utilisateurs. Les constantes suivantes peuvent-être utilisées :

  • THGROUP_CREATE = -1 : l'objet n'existe pas et doit être créé.

Domain : BSTR

Le domaine du groupe, une chaîne de caractère unique qui sera accolée aux logins des utilisateurs pour former leur noms de connexion.

Description : BSTR

La description du groupe d'utilisateurs.

DefaultStorageID : __int64

L'identificateur unique de l'espace de stockage NsStorage sur lequel les sauvegardes des utilisateurs membres seront par défaut placées.

AlertsNotifyMode : enum NsAlertNotifyMode

Le type de notification qui devra être utilisé pour les alertes créées pour les utilisateurs et sauvegardes membres.

VARIANT_BOOL LoadFromID(NsConnection Connection, __int64 GroupID)

Charge en mémoire le groupe d'utilisateurs GroupID.

VARIANT_BOOL Update(NsConnection Connection)

Créée ou met à jour le groupe d'utilisateurs décrite par l'objet.

VARIANT_BOOL Delete(NsConnection Connection)

Supprime le groupe d'utilisateurs décrite par l'objet. Un groupe d'utilisateurs ne peut être supprimé que si aucun utilisateur n'est attaché au groupe.

VARIANT_BOOL GetComments(NsConnection Connection, BSTR Comments)

Retourne les commentaires associés à l'objet.

VARIANT_BOOL SetComments(NsConnection Connection, BSTR Comments)

Définit les commentaires associés à l'objet.

NsCustomAttributes CustomAttributes(NsConnection Connection)

Renvoit les attributs personnalisés de l'objet.

VARIANT_BOOL GetExcludedItems(NsConnection Connection, BSTR ExcludedItems)

Renvoit la liste des éléments exclus pour toutes les sauvegardes des utilisateurs du groupe.

VARIANT_BOOL SetExcludedItems(NsConnection Connection, BSTR ExcludedItems)

Définit la liste des éléments exclus pour toutes les sauvegardes des utilisateurs du groupe.

NsUserCollection Users(NsConnection Connection)

Retourne la liste des utilisateurs membres du groupe.

NsServerAlertCollection Alerts(NsConnection Connection, VARIANT_BOOL OnlyRaised)

Renvoit les alertes associées à l'objet. Si OnlyRaised vaut true, seul les alertes déclenchées sont renvoyées.

Création d'un nouveau groupe d'utilisateurs

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

if connection.ConnectToLocalServer then

  set server = CreateObject("NsAPI.NsServer")

  if server.Load(connection) then ' Charger les informations serveur
    ' Cherche le premier espace de stockage existant pour l'associer au groupe.
    
    set storageSpaces = server.StorageAccounts(connection)
    
    if storageSpaces.Count > 0 then ' Il faut qu'un moins un espace de stockage existe.
      set myGroup = CreateObject("NsAPI.NsUserGroup")

      const nsAlertNotifyServerAdmin = 1

      myGroup.ID = -1  ' Constante permettant de créer le groupe
      myGroup.Description = "Ordinateurs de la société LitWare" ' Description du groupe
      myGroup.Domain = "litware" ' Domaine du groupe
      myGroup.AlertsNotifyMode = nsAlertNotifyServerAdmin ' On veut que les alertes du groupe soient envoyées à l'administrateur	
      myGroup.DefaultStorageID = storageSpaces(0).ID ' On stocke sur le premier espace de stockage dispo.

      if myGroup.Update(connection) then
        MsgBox "Le groupe a été créé, son identifiant unique est #" & sysutils.Int64ToStr(myGroup.ID) ' OK
      else
        MsgBox "Echec lors de la création de groupe" ' Utilisez la console d'admin pour voir le message d'erreur
      end if
    else
      MsgBox "Impossible de créer un groupe car aucun espace de stockage n'a été créé sur le serveur."
    end if
  else
    MsgBox "Impossible de créer un groupe car les informations serveur n'ont pu être chargées."
  end if
    
  connection.Disconnect
else
  MsgBox "Connexion au serveur local impossible."
end if