FAQ

Welche Möglichkeiten bietet NetSupport Manager den CONTROL über ein Script zu starten?

Bei diesem Knowledge Base Artikel handelt es sich um einen Archiveintrag, der 1:1 aus den FAQv1 Beiträgen übernommen wurde. Er dient dazu, auch Lösungen für ältere Versionen nach wie vor anzubieten und durchsuchbar zu machen.

Archiv

Da Sie eine große Anzahl an CLIENT Rechnern betreuen, ist der Einsatz über die Funktion "bekannte Clients" innerhalb der CONTROL Oberfläche für Sie nicht praktikabel.
Auch haben Sie eine eigene Benutzerverwaltung im Einsatz und wollen diese ebenfalls für den Einsatz von NetSupport Manager benutzen.

Sobald sich ein Benutzer telefonisch bei Ihrem Helpdesk meldet und für den Supportmitarbeiter ersichtlich wird, dass das Problem nur über eine NetSupport Manager Verbindung gelöst werden kann, wollen Sie in der Lage sein, direkt aus Ihrer Benutzerverwaltung heraus eine Verbindung zu dem betroffenen CLIENT Rechner initiieren zu können.

Grundsätzlich würde sich hierfür die Möglichkeit anbieten, den NetSupport Manager CONTROL als Befehlszeile zu starten und direkt aus Ihrer Benutzerverwaltung heraus mit Übergabe des CLIENT Rechnernamens die Verbindung zu initiieren.

Jedoch sind die CLIENT Rechner aus Gründen der Sicherheit so konfiguriert sind, dass sich ein CONTROL Benutzer zuerst mit Benutzername/Passwort identifizieren muß.
Diese zusätzliche Eingabe, welche bei jedem Verbindungsaufbau erneut getätigt werden muss, stört Ihren Workflow und Sie möchten eine Lösung umsetzen, in welcher diese Legitimation automatisiert übergeben wird.

Lösung

Um eine Verbindung mit einem CLIENT Rechner automatisiert per Commandline aufzubauen und innerhalb dieses Verbindungsaufbau Benutzername und Passwort des CONTROL Benutzers mitzugeben, benötigen Sie ein NetSupport Manager Script.

Gehen Sie hierzu wie folgt vor

  • starten Sie den NetSupport Manager CONTROL
  • wählen Sie im linken Menü die Option Automation
  • fügen Sie ein neues Script per Doppelklick auf das Icon Neues Script hinzu
  • geben Sie dem Script einen aussagekräftigen Namen und fügen Sie ggf. eine Beschreibung hinzu
  • geben Sie als Dateiname Client_connect_mit_Authentifizierung.scp ein
  • schliessen Sie den Dialog mit 2* Weiter und abschliessen Fertig stellen ab.
  • markieren Sie nun das neue Script und wählen Sie über das Kontextmenü mit der rechten Maustaste die Option Bearbeiten
  • kopieren Sie den Inhalt zwischen <- Anfang -> und <- Ende -> des unten gelistete Script und fügen Sie diesen Inhalt ein
  • speichern Sie das Script ab
  • ändern Sie nun den bisherigen Eintrag Passwort = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" in Zeile 26, so das nur noch Passwort = "" dasteht
  • positionieren Sie den Cursor zwischen den Anführungszeichen ""
  • rufen Sie im Menü Bearbeiten die Option Passwort einfügen auf und geben Sie das passende Passwort für den unter Benutzername genannten Account ein
    ( in diesem Beispiel "Administrator" )
  • das Passwort wird nun verschlüsselt an der Cursorposition eingefügt
  • speichern Sie das Script nochmals ab

In Ihrer Benutzeverwaltung wird das Script dann über folgende Befehlszeile aufgerufen:
<Pfad zur NSM Installation>Runscript.exe Client_connect_mit_Authentifizierung /Vclient=%1

Hierbei wird %1 durch den Clientnamen ersetzt, welcher aus der Benutzerverwaltung übergeben wird.

Hinweis
Zusätzlich zur eigentlichen Grundfunktion des Verbindungsaufbau bietet dieses Beispiel auch die Funktionalität, dass eine abgebrochene Verbindung durch das Script selbstständig wieder aufgebaut wird.
Dies ist z.B. interessant, wenn der CLIENT kurzfristig die Verbindung abgebrochen hat, da Probleme im Netzwerk aufgetreten sind oder der Rechner rebootet wurde.

Desweiteren bietet dieses Script die Funktion WriteToLog
Damit können Sie Daten in einer Logdatei schreiben und somit z.B. eine Fernwartungssitzung mitprotokollieren oder Fehlermeldungen bzw. allgemeine Informationen in eine Datei zur späteren Auswertung ausgeben.

<samp>< - Anfang -></samp>

 

// Client_connect_mit_Authentifizierung.scp // Beispielskript für die automatische Verbindung des CONTROL auf einen benannten CLIENT // mit Übergabe von Benutzername/Passwort als Benutzerauthentifizierung des CONTROL Benutzers. // // Zusätzlich: // - automatische Wiedereinwahl, wenn die Verbindung zum CLIENT zwischenzeitlich unterbrochen wurde // - Protokollierung des Scriptablaufs Function Main () // Deklaration aller verwendeter Variable in diesem Script Dim Client as String Dim FileName as String Dim Benutzername as String Dim Passwort as String // Name des CLIENT Rechners aus der Parameterübergabe benutzen // "runscript.exe Client_connect_mit_Authentifizierung.scp /Vclient=%1 // // Falls kein Parameter übergeben wurde, wird eine Fehlermeldung geschrieben // Dateiname für LOG File definieren FileName = "C:" + Client + ".LOG" Errorlog = "C:NSM_Runscript.Fehler.LOG" Benutzername = "Administrator" Passwort = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" If Trim (Client) = "" then WriteToLog(Errorlog, "Es konnte keine Verbindung zum CLIENT hergestellt werden, da Übergabeparameter fehlt oder fehlerhaft.") Endif // Transportprotokoll definieren SetTransport(T_TCPIP) // Nachricht anzeigen und in LOG File schreiben WriteToLog(FileName, "Verbindung zum CLIENT ( " + Client + " ) herstellen") // Verbinden zum CLIENT If (Connect(Client,Benutzername+"/"+Passwort) == FALSE) Then // Verbindung zum CLIENT kann nicht hergestellt werden WriteToLog(FileName, "Verbindung zum CLIENT ( " + Client + " ) kann nicht hergestellt werden") Else // Verbindung zum CLIENT wurde hergestellt WriteToLog(FileName, "Verbindung zum CLIENT ( " + Client + " ) wurde hergestellt") // SHARE Modus einstellt Share () = True // Nachricht in LOG File schreiben WriteToLog(FileName, "Verbindung zum CLIENT ( " + Client + " ) wurde im SHARE Modus hergestellt.") // Vollbildmodus einstellen SetWindowMode (FALSE) // Warten bis das Fenster geschlossen wird WaitEndView () // Kontrolle, ob Verbindung immer noch besteht Do While ( ConnectedClients() = 0 ) // Verbindung trennen für 'sauberen' Scriptablauf Disconnect(Client) // Nachricht anzeigen und in LOG File schreiben WriteToLog(FileName, "Verbindung zum CLIENT ( " + Client + " ) wurde unerwartet getrennt.") WriteToLog(FileName, "Bitte warten Sie bis der Client neu gestartet ist.") // Warteschleife um dem CLIENT Zeit zum booten zu geben FOR t = 10 TO 0 Print "noch ", t, "s bis zum nächsten Versuch." Wait (1) NEXT // Nachricht anzeigen und in LOG File schreiben WriteToLog(FileName, "Versuch für erneuten Verbindungsaufbau zum CLIENT ( " + Client + " ) .") // Versuch für erneuten Verbindungsaufbau zum CLIENT If (Connect(Client) == FALSE) Then // Verbindung zum CLIENT kann nicht hergestellt werden WriteToLog(FileName, "Es konnte noch kein Verbindung zum CLIENT ( " + Client + " ) wieder hergestellt werden.") Else // Verbindung zum CLIENT wurde wieder hergestellt WriteToLog(FileName, "Verbindung zum CLIENT ( " + Client + " ) wurde wieder hergestellt.") // SHARE Modus einstellt Share () = TRUE // Nachricht anzeigen und in LOG File schreiben WriteToLog(FileName, "Verbindung zum CLIENT ( " + Client + " ) wurde im SHARE Modus wieder hergestellt.") // Vollbildmodus einstellen SetWindowMode (FALSE) // Warten bis das Fenster geschlossen wird WaitEndView () EndIf Loop Endif // Verbindung zum CLIENT trennen Disconnect(Client) // Nachricht anzeigen und in LOG File schreiben WriteToLog(FileName, "Verbindung zum CLIENT ( " + Client + " ) wurde regulär getrennt.") WriteToLog(FileName, "") WriteToLog(FileName, "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ") WriteToLog(FileName, "") End Function Function WriteToLog(FileName as String, MessageText as string) // Wenn die Datei bereits existiert If FileExists (FileName) then // Datei zum anhängen öffnen Handle = Open (FileName, FILE_APPEND) Else // ansonsten Datei neu anlegen Handle = Open (FileName, FILE_CREATE) Endif If Handle != 0 Then Print "Logging : ", MessageText WriteLine Handle, Date (), " ", Time (), " : ", MessageText Close (Handle) Endif End Function 

 

<samp>< - Ende -></samp>