Autor Thema: "Geschedul"te Konsolenkommandos?  (Gelesen 2756 mal)

Offline _Markus_

  • Frischling
  • *
  • Beiträge: 21
  • Geschlecht: Männlich
  • R6 finally GOLD!
"Geschedul"te Konsolenkommandos?
« am: 24.10.02 - 09:38:00 »
Morgens,

um meinem GroupShield Problem Herr zu werden würde ich gerne in 20 Minuten Intervallen ein paar Konsolen-Kommandos

(tell router quit
tell GSDOAScan quit
load GSDOAScan
load router)

ausführen lassen ... hat jemand eine Idee, wie man so
etwas realisieren könnte?

Thanks in advance for any help!   ;D
Yuck! Who replaced the Linux on my Domino server with Windoze 2k?

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:"Geschedul"te Konsolenkommandos?
« Antwort #1 am: 24.10.02 - 09:45:45 »
Dazu kannst du ein paar NotesAPI Calls und einen periodischen Agentenverwenden:

Den folgenden Code packst du in den DECLARATION Teil deines Agenten:

Declare Function NSFRemoteConsole Lib "NNotes.dll" Alias "NSFRemoteConsole" (Byval Server As String, Byval cmd As String, ret As Long) As Long
Declare Function OSLockObject Lib "NNotes.dll" Alias "OSLockObject" (Byval Handle) As String
Declare Sub OSUnlockObject Lib "NNotes.dll" Alias "OSUnlockObject" (Byval Handle)
Declare Sub OSMemFree Lib "NNotes.dll" Alias "OSMemFree" (Byval Handle)

Class remoteConsole
   Private IsError As Variant
   Private rc As Integer
   Private hBuffer As Long
   Private Server As String
   Private Command As String
   Private Result As String
   
   Sub New(inpServer As String)
      Dim server As New NotesSession
      If inpServer = "" Then
         Me.IsError = True
      Else
         Me.server=inpServer
         Me.IsError = False
      End If
   End Sub
   
   Function Execute(inpCommand As String) As String
      If Me.Server = "" Then
         Exit Function
      End If
      If inpCommand = "" Then
         Me.execute="You must specify a command"
         Me.iserror = True
         Exit Function
      Else
         Me.command = inpCommand
      End If
      
      Me.rc = NSFRemoteConsole(Me.server, Me.command, hBuffer)
      If Me.rc <> 0 Then
         Me.iserror = True
         Me.result="Error returned " & _
         " from console [" & Cstr(rc) & "]"
      Else
         Me.result = OSLockObject(hBuffer)
         Call OSUnlockObject(hBuffer)
         Call OSMemFree(hBuffer)
         Me.Iserror = False
      End If
      Me.execute = Me.result
   End Function
End Class


Dann brauchst du nur noch deine Kommandos über den INITIALIZE Event deines Agenten aufzurufen

Sub Initialize
Dim exec As String
Dim dummy As Variant
Dim remConsole As New RemoteConsole ( "DeinServer" )
Exec = "tell router quit"

dummy =  remConsole.Execute(exec)
'...
'entsprechend dann für die anderen Befehle

end sub


eknori   
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline _Markus_

  • Frischling
  • *
  • Beiträge: 21
  • Geschlecht: Männlich
  • R6 finally GOLD!
Re:"Geschedul"te Konsolenkommandos?
« Antwort #2 am: 24.10.02 - 09:49:15 »
 :D :D :D :D :D

Muchas Gracias!

Funktioniert gnadenlos gut  8)
« Letzte Änderung: 24.10.02 - 09:59:15 von _Markus_ »
Yuck! Who replaced the Linux on my Domino server with Windoze 2k?

Offline byte

  • Aktives Mitglied
  • ***
  • Beiträge: 158
  • Geschlecht: Männlich
  • Pillenausgabe geschwänzt ^^
Re:"Geschedul"te Konsolenkommandos?
« Antwort #3 am: 04.11.02 - 23:45:39 »
DU HELD !!!!

symbolisch  knutsch *eg*

 :D :D :D :D :D :D :D
egal ist auch wurschd ^^

Offline Hardy

  • Aktives Mitglied
  • ***
  • Beiträge: 137
  • Geschlecht: Männlich
  • Wer will sucht Wege , wer nicht will sucht Gründe
    • Homepage
Re:"Geschedul"te Konsolenkommandos?
« Antwort #4 am: 27.02.03 - 13:16:09 »
Hi,

kann man hier eigentlich einen Dialog einbauen, um die entsprechenden Eingaben für den Agenten zu machen ?

nicht einzelne Fenster für Server und Befehl ( hab ich schon), sondern alle Angeben in einem Dialogfenster und dann an den Agenten übergeben.

Idee ?

hier mein Code für einzelne Eingabefenster

Sub Initialize
   Dim exec As String
   Dim dummy As Variant
   
   Dim workspace As New NotesUIWorkspace
   
   srv$ = workspace.Prompt(PROMPT_OKCANCELEDIT, _
   "Server Name", "Bitte geben Sie den vollqualifizierten Notes Namen ein: (Server/Hallo/DE) ", "", prompt_list)
   
   'Cancel, oder keine Eingabe führt zu Abbruch
   If (srv$ = "") Then Goto Fehler
   
   comm$ = workspace.Prompt(PROMPT_OKCANCELEDIT, _
   "Datenbankname", "Bitte geben Sie den zu ändernden Datenbanknamen ein: (mail\Kunze.nsf) ", "", "")
   
        'Cancel, oder keine Eingabe führt zu Abbruch
   If (comm$ = "") Then Goto Fehler
   
   Dim remConsole As New RemoteConsole ( srv$ )
   
   Exec = "lo mkacl " & comm$ &  " ""Admins"" manager -f d -u pg"          ' Welches Kommando ?    
   If exec = "" Then
      Exit Sub
   End If
   
   remConsole.Execute(exec) ' Kommando ausführen
   On Error Goto Fehler2
   Exit Sub
   
Fehler:
   strMessage = "Abbruch durch Benutzer bzw. keine Eingabe"
   lBoxType = MB_OK+MB_ICONSTOP
   Messagebox strMessage, lBoxType, "Info"
   Exit Sub
   
Fehler2:
   iErr = Err()
   strMessage = "Server nicht gefunden oder anderes Problem"
   lBoxType = MB_OK+MB_ICONSTOP
   Messagebox strMessage, lBoxType, "Info"
   Exit Sub
   
   Exit Sub
End Sub

Hardy
______________________________
Mit Software ist es wie mit Bananen !
Beides reift beim Kunden !!
______________________________
28 x 6.5.5 im Cluster auf WinSrv 2003

Clients:
6.000 User (Win XP Prof.) 6.5.4

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:"Geschedul"te Konsolenkommandos?
« Antwort #5 am: 27.02.03 - 13:29:29 »
macht das denn bei periodischen Agenten Sinn ?
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Hardy

  • Aktives Mitglied
  • ***
  • Beiträge: 137
  • Geschlecht: Männlich
  • Wer will sucht Wege , wer nicht will sucht Gründe
    • Homepage
Re:"Geschedul"te Konsolenkommandos?
« Antwort #6 am: 27.02.03 - 14:51:12 »
 
mir geht es mehr darum den mkacl Befehl einfacher ausführen zu können, ohne sich die ganzen optionen wieder ansehen zu müssen

Also einfach klick hier und da und der entspr. Befehl mit den eingetragenen Optionen wird an der Serverkonsole ausgeführt.

Hardy
______________________________
Mit Software ist es wie mit Bananen !
Beides reift beim Kunden !!
______________________________
28 x 6.5.5 im Cluster auf WinSrv 2003

Clients:
6.000 User (Win XP Prof.) 6.5.4

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz