System Management tools sneller te starten

Op een ICT helpdesk worden System Management tools gebruikt voor hulp op afstand (remote control) en system inventory (zien wat er op een machine draait).

Vooral een remote control tool zal dagelijks meerdere malen worden gestart. Bij sommige applicaties duurt het na het starten enige tijd voordat de over te nemen machine gevonden kan worden in de lijst van alle machines. Vaak is de machinenaam (hostname) van de over te nemen machine echter al bekend. Het overnemen van de machine kan dan een stuk sneller door de tool niet met de normale interface op te starten maar met behulp van een command line parameter. Deze methodiek kan ook gebruikt worden om de remote control tool aan te roepen vanuit een andere applicatie, zoals een helpdesk applicatie. Deze applicatie kan de hostname doorgeven aan de remote control tool. Met de Service Management applicatie TOPdesk kan dit bijvoorbeeld via de module Gebeurtenis en Acties.

Op deze pagina zijn een aantal scripts te downloaden waarmee een Service Management tool aangeroepen kan worden, namelijk middels: 

  • een VB script waarin de hostname ingevoerd kan worden
  • een batch file die door een helpdesk applicatie kan worden aangeroepen
  • een executable CommandCenter waar je meerdere applicaties vanuit kunt aansturen 

Tevens zijn vanuit deze pagina links opgenomen naar de command line interface van diverse remote control en system inventory tools. Met deze command line interface informatie kunnen de voorgenoemde scripts worden aangepast naar de gebruikte remote control tool. Staat jouw remote control tool er niet bij maar heeft deze wel command line opties? Stuur dan even de betreffende website door.

Dit artikel heeft dus een meer zakelijke focus. In een eerder artikel op deze site “hulp op afstand (remote assistance)” ging ik reeds in op mogelijkheden voor particulieren om elkaar onderling te ondersteunen.

Scripts om Service Management tools sneller te starten

In onderstaande scripts zijn diverse parameters uitgesplitst zodat eenvoudig het pad naar de executable kan worden ingegeven alsmede de pre- en postfix parameters (command line parameters die respectievelijk voor en na de hostname dienen te worden opgegeven).

VB script

De remote control tool command line parameters kunnen standaard in een VB script worden opgenomen. De helpdesk medewerker hoeft dan enkel nog de hostnaam in te voeren in het script. Als een hostnaam is meegegeven aan het script dan zal dit als standaard waarde worden getoond.

Batch file

Vanuit een helpdesk applicatie is het wellicht niet nodig om de helpdesk medewerker eerst een popup te tonen waarin deze de hostname dient in te voeren. De helpdesk applicatie kan de hostname doorgeven als deze in de melding is opgenomen. Derhalve kan in plaats van een VB script gekozen worden voor een eenvoudige batch file.

Daar de VB script en de batch variant veel op elkaar lijken en klein van omvang zijn kun je deze Remote Control voorbeeld scripts (VB en BAT) downloaden in één zip bestand. De scripts starten als voorbeeld de tool “notepad.exe” op. De te starten tool en de pre- en postfix parameters kunnen eenvoudig worden ingesteld in de eerste regels van het script.

CommandCenter

CommandCenter is een executable vanwaar meerdere applicaties kunnen worden aangestuurd. De aan te sturen applicaties kunnen worden geconfigureerd via “CommandCenter.ini”. Als CommandCenter opgestart is met een parameter (bijvoorbeeld een hostnaam) dan is deze parameter standaard ingevuld in het invoerveld. De parameter zal meegegeven worden aan de applicatie tussen de pre- en postfix in.

Applicaties worden als volgt gedefinieerd in CommandCenter.ini:

(voorbeeld waarbij de remote control tool webbased is)

[Remote Control]
file=C:Program FilesInternet Exploreriexplore.exe
prefix=http://servername/prefix-url
postfix=postfix-url

(voorbeeld waarbij de inventory tool geen pre- en postfix parameters gebruikt)

[Inventory]
file=C:Program FilesInventory tooltool.exe
prefix=
postfix=

In het screenshot hieronder zijn drie applicaties geconfigureerd waarvan de laatste niet beschikbaar is op de huidige machine of met de netwerkrechten van de huidige gebruiker.

CommandCenter screenshot

Klik op de volgende link om CommandCenter te downloaden (executable). Je kunt ook een voorbeeld .ini bestand downloaden.

Het script CommandCenter is geschreven en gecompileerd naar een executable met AutoIt (freeware). Een executable heeft als voordeel dat er geen ongewenste wijzigingen in kunnen worden doorgevoerd en AutoIt heeft als voordeel dat veel functies reeds voorgedefinieerd zijn.

Command line opties van System Management (remote control & system inventory) tools online

Hieronder staan diverse remote control tools opgesomd met een link naar de pagina op Internet waar de command line opties zijn uitgewerkt. Sommige tools bieden ook een inventory weergave. In dat geval is een extra link opgenomen naar deze documentatie.

 

Extra trucs

Citrix shadow

Een sessie van een gebruiker overnemen op een Citrix server kan ingewikkelder zijn. Citrix beschikt over een executable (shadow) waarmee een sessie kan worden overgenomen. Alleen dient daarbij ook de betrokken Citrix server genoemd te worden. Deze is wegens load balancing vaak niet bekend. Bovendient vraagt shadow om een session-id welke eveneens niet bekend zal zijn. Met de truc die hieronder is beschreven kan een shadow sessie worden gestart op basis van de inlognaam.

Onderstaande regel voert het commando ‘query termserver’ uit wat alle terminal servers opsomt (de eerste twee regels worden overgeslagen en het sterretje achter de actieve terminal server wordt gefilterd).
Vervolgens voert de regel per server het commando ‘query user’ uit op een server (daarbij gebruik makend van de opgegeven username). Als deze opdracht resultaat geeft dan heeft de betrokken gebruiker een sessie op de betreffende server en zal deze sessie worden doorgegeven aan de executable shadow. Door het commando ‘for’ wordt één regel tekst overgeslagen waarna de derde kolom opgevraagd wordt. Het commando ‘goto :eof’ voorkomt dat vervolgens op andere servers verder wordt gezocht naar de inlognaam.

  • for /f “skip=2 delims=*” %%i in (‘query termserver’) do for /f “skip=1 tokens=3″ %%j in (‘query user %1 /server:%%i’) do if not “%%j”==”" shadow %%j /server:%%i & goto :eof

Hostnamen omzetten naar een IP adres met behulp van een tekstbestand

In de praktijk heb ik eens meegemaakt dat een verbinding op hostnaam niet mogelijk was door de netwerk configuratie. De IP adressen waren echter dynamisch en konden derhalve niet per machine worden bijgehouden. Wel konden de IP adressen dagelijks en een tekstbestand worden opgeleverd. Een regel in het tekstbestand zag er als volgt uit:

  • PC1118;10.20.100.93

De hostnaam kan dan met een batch file worden omgezet in een IP adres. Onderstaande regel zoekt in het bestand “tekstbestand.txt” naar de meegegeven waarde (de hostnaam). Vervolgens wordt het IP adres doorgegeven aan de remote control tool (Radmin in dit geval).

  • for /f “tokens=2 delims=;” %%i in (‘find “%1″ tekstbestand.txt /i’) do start remote~1radmin.exe /connect:%%i:4899

Executables opstarten vanuit een webinterface

Bij het starten van een remote control tool vanuit webbased helpdesk applicaties is de (terechte) beveiliging van de webbrowser het probleem. Tijdens het webbrowsen op Internet is het fijn dat er geen executables lokaal kunnen worden gestart (denk aan virussen en andere kwaadaardige tools).

Als de helpdesk applicatie wel de mogelijkheid biedt om op de server een applicatie te starten dan kan met tools als PsExec of BeyondExec de executable door de server worden opgestart op het werkstation van de helpdeskmedewerker. Tenslotte kan met Launch-in-IE op het werkstation van de helpdeskmedewerker een .dll worden geïnstalleerd (ActiveX Control) waarmee applicaties kunnen geautoriseerd om lokaal te starten.

Comments are closed.