La classe NsSearchEngine encapsule les méthodes nécessaires pour effectuer une recherche sur le serveur de sauvegarde.
Le type de recherche a effectuer. Par défaut, le mode nsSearchScopeEverywhere est utilisé et la recherche est réalisée dans l'intégralité des données stockées sur le serveur.
L'identificateur de la sauvegarde (NsBackup) dans laquelle rechercher les données si SearchScope est défini à nsSearchScopeSpecificBackup.
L'identificateur de l'utilisateur (NsUser) contenant les sauvegardes dans lesquelles rechercher les données si SearchScope est défini à nsSearchScopeSpecificUser.
Le nombre maximal de résultats à renvoyer. Si la valeur 0 est affectée à cette propriété, le nombre de résultats à renvoyer n'est pas limité.
Recherche les fichiers dont le nom contient le terme FileName, selon la sensibilité de la casse définie par CaseSensitive.
Recherche les fichiers dont le chemin d'accès relatif contient le terme FilePath, selon la sensibilité de la casse définie par CaseSensitive.
Recherche les fichiers dont la taille est supérieure à SizeLimit.
Recherche les fichiers dont la taille est inférieure à SizeLimit.
Recherche les fichiers dont la taille est comprise entre LowLimit et HighLimit.
Recherche les fichiers dont la date de dernière modification est plus récente que LastModDate.
Recherche les fichiers marqués comme supprimés.
Recherche les fichiers marqués comme supprimés depuis la date Date.
const THSEARCH_BACKUP_ALL = -2 Set connection = CreateObject("NsAPI.NsConnection") Set sysutils = CreateObject("NsAPI.NsScriptUtils") ' Fonction affichant la liste des résultats trouvés Sub DisplayResults(results) if results.Count = 0 then MsgBox "Aucun résultat trouvé !" else resultsStr = "" for each result in results resultsStr = resultsStr & " - " & result.FileName & ", " & sysutils.SizeToStr(result.Size) & ", dans la sauvegarde #" & sysUtils.Int64ToStr(result.BackupID) & vbCrLf next MsgBox results.count & " résultat(s) trouvé(s) : " & vbCrLf & resultsStr end if End Sub if connection.ConnectToLocalServer then set searchEngine = CreateObject("NsAPI.NsSearchEngine") searchEngine.SearchScope = nsSearchScopeEverywhere ' On cherche dans toutes les sauvegardes (nécessite des droits administrateur) searchEngine.Limit = 200 ' 200 résultats maxi ! searchQuery = InputBox("Saisissez une partie d'un nom de fichier à rechercher sur le serveur : ", "Test de l'API UB", "") if searchQuery <> "" then ' Faire une recherche par nom de fichier suivant le nom entré par l'utilisateur DisplayResults searchEngine.SearchByFileName(connection, searchQuery, false) end if MsgBox "Recherche des fichiers dont la taille est comprise entre 1 et 2 Ko..." ' Faire une recherche par taille DisplayResults searchEngine.SearchByFileSizeBetween(connection, 1024, 2048) MsgBox "Recherche des fichiers dont la date de modification est plus récente que la veille..." theDate = DateAdd("d", -1, Now) ' Obtenir la date de la veille ' Faire une recherche par date de dernière modification portée par les fichiers DisplayResults searchEngine.SearchByFileLastModDate(connection, theDate) MsgBox "Recherche des fichiers marqués comme supprimés sur les postes client..." ' Rechercher tous les fichiers n'existant plus sur les postes client DisplayResults searchEngine.SearchForDeletedFiles(connection) else MsgBox "Connexion au serveur local impossible." end if