class NsCreateRestorePackageRequest

La classe NsCreateRestorePackageRequest encapsule les propriétés et les méthodes nécessaires à la génération d'une archive de restauration (NsRestorePackage).

Utilisez les méthodes AddVersion, AddFile, ou AddAllVersionsOfFile pour ajouter des fichiers spécifiques dans l'archive de sauvegarde. Utilisez la méthode AddFullBackupContent pour ajouter l'intégralité d'une sauvegarde dans l'archive de restauration.

Une fois la sélection des fichiers à extraire effectuée, utilisez la méthode CreatePackage pour déclencher la génération de l'archive sur le serveur de sauvegarde. La progression de la construction peut être contrôlée en utilisant les champs State et ProgressValue de l'objet NsRestorePackage renvoyé. En cas d'échec, une référence invalide d'objet est renvoyée.

PackageName : BSTR

Le nom de l'archive de restauration. Par défaut, une chaîne vide.

PackageFormat : enum NsRestorePackageFileFormat

Le format de l'archive de restauration. Par défaut, le format nsRestorePackageFileFormatNSArchive.

UserID : __int64

L'utilisateur propriétaire de l'archive de restauration. Par défaut, l'utilisateur actif.

Options : long

Reservé.

void EnablePasswordProtection(BSTR Password)

Définis un mot de passe exigé à l'ouverture de l'archive et active le chiffrement AES128 du fichier conteneur.

void DisablePasswordProtection()

Supprime la protection par mot de passe de l'archive ainsi que son chiffrement AES.

void Clear()

Efface les références aux fichiers précédemment ajoutées.

void AddVersion(NsBackupVersion FileVersion)

Ajoute la version de fichier désignée par FileVersion à l'archive.

void AddVersionByID(__int64 VersionID)

Ajoute la version de fichier d'identificateur VersionID à l'archive.

void AddFile(NsBackupFile FileObj)

Ajoute la version la plus récente du fichier FileObj à l'archive.

VARIANT_BOOL AddAllVersionsOfFile(NsConnection Connection, NsBackupFile FileObj)

Ajoute toutes les versions du fichier FileObj à l'archive.

VARIANT_BOOL AddAllVersionsOfFileByID(NsConnection Connection, __int64 FileID)

Ajoute toutes les versions du fichier d'identificateur FileID à l'archive.

void AddFullBackupContent(NsBackup BackupTask)

Ajoute l'intégralité de la sauvegarde BackupTask à l'archive de restauration. La dernière version des documents est récupérée. Il n'est pas possible de combiner la récupération de fichiers individuels et de sauvegardes entières via cette classe.

void AddFullBackupContentByID(__int64 BackupID)

Ajoute l'intégralité de la sauvegarde d'identificateur BackupID à l'archive de restauration. La dernière version des documents est récupérée. Il n'est pas possible de combiner la récupération de fichiers individuels et de sauvegardes entières via cette classe

NsRestorePackage CreatePackage(NsConnection Connection)

Lance la construction de l'archive de restauration contenant les fichiers spécifiés.

NsRestorePackage ExportPackage(NsConnection Connection, BSTR LocalPath)

Démarre la génération de l'archive de restauration et la place dans le répertoire LocalPath du serveur de sauvegarde. L'appel à cette méthode n'est possible que si l'utilisateur actif possède des droits administrateur.

Extraction de tous les fichiers Word depuis le serveur de sauvegarde

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

if connection.ConnectToLocalServer then
  set server = CreateObject("NsAPI.NsServer")
  
  ' Changer ici le chemin d'accès à l'archive téléchargée
  targetPath = "C:\Test\test.nsrpk"

  if server.Load(connection) then
    ' Obtient un objet pour chercher dans les sauvegardes
    set searchEngine = server.SearchEngine
    ' On recherche tous les fichiers Word
    set results = searchEngine.searchByFileName(connection, ".doc", false)
    if results.Count > 0 then
      ' On crée un objet pour créer l'archive
      set packager = CreateObject("NsAPI.NsCreateRestorePackageRequest")
      for each result in results
        ' Ajouter le fichier à l'archive
        packager.AddVersionByID(result.versionID)
      next
      ' Nommer l'archive pour le debug
      packager.PackageName = "TEST"
      ' Ajouter un mot de passe à l'archive, il sera exigé lors de son ouverture
      packager.EnablePasswordProtection("secret")
      ' Lancer la création du fichier
      set restorePackage = packager.CreatePackage(connection)
      ' Créé ?
      if restorePackage is nothing then
        MsgBox "Error lors de la création de l'archive de restauration."
      else
        ' Attendre la création de l'archive, maximum 5 minutes
        if not restorePackage.WaitForConstruction(connection, 5 * 60) then
          MsgBox "Une erreur est survenue durant la construction de l'archive, ou celle-ci prends trop de temps à être générée. Abandon."
        else
          ' L'archive est prête a être téléchargée, c'est parti !
          if not restorePackage.Download(connection, targetPath) then
            MsgBox "Impossible de télécharger l'archive de restauration"
          else
            MsgBox "L'archive a été téléchargée avec succès et les éléments vont maintenant être restaurés."
            ' On exécute l'assistant de restauration pour récupérer les documents
            CreateObject("WScript.Shell").Run targetPath
          end if
        end if
      end if
    else
      MsgBox "Aucun fichier à extraire n'a été trouvé sur le serveur."
    end if
  else
    MsgBox "Impossible de charger les informations serveur."
  end if

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