ExecuteCommandeServeur

ExecuteCommandeServeur

Messagepar Stephane Maillard » 19 Juil 2005 à 20:44

Execute les commandes consoles sur le serveur utilise les API's Notes incluse dans nnotes.dll

N'oubliez pas, vous devez quand même avoir les droits sur le serveur pour exécuter certaines commandes. Si vous n'avez pas les droits un message d'erreur Handle irrémédiable apparaît dans un bel encadré rouge, il ne vous reste plus qu'à rebooter la machine.

Dans votre base cliente vous créez l'agent. Quand vous le lancer un inputbox vous le nom du serveur : "SRVDOMINO" et la commande : "Show Users".

Pour le résultat deux possibilité :
- Un messagbox (Attention pour certaines commandes la totalité n'est pas affichée.)
- Un masque avec un champs en RichText[syntax="ls"]' Options
Option Public

'
' Déclaration pour ExecuteCommandeServeur
'
Declare Function NSFRemoteConsole Lib "nnotes.dll" _
(Byval ServerName As String, _
Byval ConsoleCommand As String, _
rethBuffer As Long) As Long

Declare Function OSLockObject Lib "nnotes.dll" _
(Byval hBuffer As Long) As String

Declare Sub OSUnlockObject Lib "nnotes.dll" _
(Byval hBuffer As Long)

Declare Sub OSMemFree Lib "nnotes.dll" _
(Byval hBuffer As Long)

Dim session As NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem

Sub Initialize
Dim SERVEUR As String
Dim COMMANDE As String

Set session = New NotesSession
Set db = session.CurrentDatabase

SERVEUR = Inputbox("Entrez le nom du serveur :")
COMMANDE = Inputbox("Entrez votre commande :")
Call ExecuteCommandeServeur(SERVEUR, COMMANDE)
End Sub

Public Sub ExecuteCommandeServeur(SERVEUR As String, COMMANDE As String)
'
' Execute les commandes consoles sur le serveur
' utilise les API's Notes incluse dans nnotes.dll
'
' Auteur : Stéphane Maillard
' Date : 19 février 2001
' Version : 1.0
'
Dim hBuf As Long
Dim pBuf As String
Dim result As Long

Set doc = db.CreateDocument
doc.Form = "resultcomserveur"

result = NSFRemoteConsole(SERVEUR, COMMANDE, hBuf)
pBuf = OSLockObject(hBuf)

Call doc.ReplaceItemValue("LogServeur", pBuf) ' Ou 'Messagebox pBuf'
Call OSUnlockObject(hBuf)
Call OSMemFree(hBuf)
Call doc.save(True, False)
End Sub[/syntax]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Retour vers API

cron