Vous êtes ici : Accueil > Produits > Network Monitor (Pro) > Manuel > Contrôles de supervision > Surveillance du résultat d'un script Visual Basic

Surveillance du résultat d'un script Visual Basic

Le programme permet de surveiller le résultat d'une fonction Visual Basic Script (VBScript).

Comme le contrôle « Application externe », les contrôles « VBScript » et « JavaScript » permettent de créer des tests spécifiques dans ces langages. Dans les paramètres, écrivez le code source du script de test et indiquez quelle fonction est la fonction principale (exécutable). Pour un résultat positif, le script doit toujours renvoyer la chaîne « OK ». Si la valeur renvoyée est différente, le contrôle est en échec et l'application émet une alerte. Vérifiez le fonctionnement des scripts avec les outils du système avant de configurer les contrôles.

Les contrôles « VBScript » et « JavaScript » étendent nettement les possibilités de surveillance du réseau et des équipements.

Surveillance du résultat d'un script Visual Basic

 

Exemples utiles de scripts VB pour la surveillance

1. Obtenir la taille d'un dossier, sous-dossiers compris

2. Vérifier les dates des fichiers d'un dossier (utile pour surveiller les enregistrements de vidéosurveillance sur un serveur de fichiers)

3. Obtenir l'utilisation de la mémoire RAM, en pourcentage

4. Obtenir l'utilisation moyenne de tous les disques durs, en pourcentage

5. Exécuter une requête GET ou POST (HTTP)

6. Envoyer un message vers Slack

 

1. Obtenir la taille d'un dossier, sous-dossiers compris

function Main

'Indiquez ici le chemin du dossier :
Main = GetFolderSize("C:\\Logs\\")
'Utilisez \\ à la place de \ dans le chemin

end function

Function GetFolderSize(Path)
Dim fso, fsize
Dim ctFolder, cFile, cFolder
Set fso=CreateObject("Scripting.FileSystemObject")
fsize = 0
Set ctFolder = fso.GetFolder(Path)
On Error Resume Next
For Each cFile In ctFolder.Files
fsize = fsize + cFile.Size
Next
For Each cFolder In ctFolder.SubFolders
fsize = fsize + GetFolderSize(cFolder.Path)
Next
GetFolderSize = fsize
End Function

 

2. Vérifier les dates des fichiers d'un dossier. Si tous les fichiers ont la date du jour, le script renvoie 1, sinon 0. Vous pouvez indiquer un dossier réseau à la place d'un chemin local.

function Main
Dim fso, fsize
Dim ctFolder, cFile, AR, sdate, sdate2, sdate3
Set fso = CreateObject("Scripting.FileSystemObject")

'Indiquez ici le chemin du dossier :
Set ctFolder = fso.GetFolder("C:\\Logs\\")
'Utilisez \\ à la place de \ dans le chemin

AR = 1
sdate = CStr(Day(Date) & "." & Month(Date) & "." & Year(Date))
For Each cFile In ctFolder.Files
sdate2 = CStr(cFile.datelastmodified)
sdate3 = CStr(Day(sdate2) & "." & Month(sdate2) & "." & Year(sdate2))
If sdate <> sdate3 Then AR = 0
Next
Main=AR
End Function

 

3. Obtenir l'utilisation de la mémoire RAM, en pourcentage. À la place de la clé %A, le programme substitue automatiquement l'adresse de l'hôte issue des paramètres du contrôle. Le script interroge WMI. Vous pouvez en écrire d'autres sur ce modèle.

function Main

strHostAddr = "%A"
strLogin = ""
strPassword = ""
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strHostAddr, "root\cimv2", strLogin, strPassword)
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem",,48)
For Each objItem in colItems
Main = Int((int(objItem.TotalVisibleMemorySize) - int(objItem.FreePhysicalMemory))/int(objItem.TotalVisibleMemorySize)*100)
Next
end function

 

4. Obtenir l'utilisation moyenne de tous les disques durs, en pourcentage

function Main

strHostAddr = "%A"
strLogin = ""
strPassword = ""
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strHostAddr, "root\cimv2", strLogin, strPassword)
Set colItems = objWMIService.ExecQuery("SELECT PercentIdleTime FROM Win32_PerfFormattedData_PerfDisk_PhysicalDisk where Name='_Total'",,48)
For Each objItem in colItems
Main = 100 - (int(objItem.PercentIdleTime))
Next
end function

 

5. Exécuter une requête GET ou POST (HTTP). Vous pouvez l'utiliser comme action en réponse à une alerte en échec.

function Main
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "https://send.cpsms.dk/sendsms?to:79991234567?from:79991234567?msg:test", False
o.send
Main = ""
end function

6. Envoyer un message vers Slack via une URL de webhook (sur le modèle de la requête POST)

function Main
Dim request
Set request = CreateObject("MSXML2.XMLHTTP")
request.open "POST", "https://hooks.slack.com/services/AJHGK45J4/FTS5NFG73/UDz30ftMMzinOgFxhTx2zBBB", false
request.send "{""text"": ""Ceci est un test ! ""}"
Main = ""
end function

 

Pour ajouter ce contrôle, sélectionnez un hôte, cliquez sur « Ajouter un contrôle », puis recherchez le nom du contrôle dans la fenêtre de l'assistant.

assistant — surveillance du résultat d'un script Visual Basic

Configurez les paramètres du contrôle dans la fenêtre qui s'affiche. Vous pourrez les modifier ensuite à l'aide de la commande « Modifier le contrôle... ». Pour en savoir plus, consultez comment configurer les alertes du contrôle et les autres options.

 

Configuration requise : Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022 pris en charge.

 

Tous les produits
logiciel d'inventaire réseau
Network Inventory Explorer
Inventaire matériel et logiciel des ordinateurs du réseau
logiciel de supervision réseau
Network Monitor
Surveillez serveurs, services, commutateurs administrables, etc.
cartographie et supervision visuelle du réseau
LANState
Surveillez et administrez les hôtes sur une carte visuelle, créez des plans réseau
logiciel de suivi de bande passante
Bandwidth Monitor
Suivez la bande passante et la consommation de trafic Internet
logiciel de schémas réseau
Network Diagram
Créez des schémas réseau et découvrez la topologie
recherche de fichiers sur partages réseau et FTP
Network File Search
Recherchez des fichiers sur les partages réseau et les serveurs FTP
audit des accès aux partages
Connection Monitor
Auditez l'accès distant des utilisateurs aux partages (dossiers et fichiers)
scanner de ports gratuit
Network Scanner (GRATUIT)
Programme gratuit pour analyser réseaux, hôtes et ports TCP