ShellNT
Zurück Nach oben Vorwärts

Kurzbeschreibung Parameter Funktionsweise Ein/Ausgänge Limitierungen Querverweise Beispiele

Kurzbeschreibung
Das Modul ShellNT ermöglicht einen Zugriff auf die Kommandozeile (über Kommando-Shell) des lokalen NT-Rechners (inkl. Authentifizierung).
Parameter
Parameter: Parameterquelle intern, extern oder Datenbank.
Startinfo anzeigen: Nachdem eine Kommando-Shell geöffnet wurde, wird der Infotext angezeigt.
Authentifizierung: Der Benutzer muß Anmeldename und -kennwort angeben.
Versuche: Nach dieser Anzahl an fehlgeschlagenen Versuchen wird die Kommando-Shell wieder geschlossen.
Basispfad des Benutzers verwenden: Wenn das Benutzerkonto auf dem lokalen Rechner liegt (nicht auf einem anderen Domänen-Server), kann automatisch in sein Benutzerverzeichnis gewechselt werden. Dieses Verzeichnis wird im Benutzer-Manager bei den Eigenschaften des Benutzers angegeben: Benutzereigenschaften - Profil - Basisverzeichnis.
Startpfad: Ist die Authentifizierung nicht eingeschaltet, bzw. der Basispfad ungültig, wird in dieses Verzeichnis gewechselt.
ASCII in ANSI konvertieren: Die Kommando-Shell verwendet ASCII-Kodierung. Um eine richtige Darstellung der Umlaute (in Windows-Programmen, z.B. Telnet) zu bekommen, ist die Konvertierung einzuschalten.
Funktionsweise
Mit diesem Modul können gleichzeitig bis zu 1024 Kommando-Shells zu dem lokalen Computer geöffnet werden. Eine Kommando-Shell ist vergleichbar mit einer Eingabeaufforderung. Jede Kommando-Shell wird durch eine eindeutige ID (0-1023) gekennzeichnet.
Das Modul ist - bis auf die Authentifizierung - identisch zu Shell.
Um die Authentifizierung zu benutzen, sind vorher einige Einstellungen im Benutzer-Manager von Windows NT vorzunehmen. Dazu öffnen Sie den Benutzer-Manager (Start - Programme - Verwaltung (Allgemein) - Benutzer-Manager). Klicken Sie anschließend auf Richtlinien - Benutzerrechte. Dort aktivieren Sie den Punkt "Weitere Benutzerrechte anzeigen". Bei den folgenden Rechten sind die Benutzer einzutragen, die sich mittels Authentifizierung am Rechner anmelden können sollen:
    Als Teil des Betriebssystems handeln
    Ersetzen eines Tokens auf Prozeßebene
Außerdem müssen die Benutzer zur Gruppe der lokalen Administratoren gehören. Das ist ebenfalls im Benutzer-Manager einzutragen.
Um eine Kommando-Shell zu öffnen, ist am Open-Eingang eine neue ID zu schicken. An den Ausgängen ID und Data wird die Ausgabe der Command-Shell (Anmeldeaufforderung, Befehlsausgaben, ...) geschrieben. An den ID und Data-Eingängen werden die Befehle geschickt (z.B. Benutzername, Paßwort, Kommando). Eine offene Shell kann über den Close-Eingang geschlossen werden, oder auch aus der Shell heraus (Exit-Kommando, siehe MSDOS-Beschreibung). Nach dem Schließen wird am Close-Ausgang die ID ausgegeben. Beim einem Fehler wird die Shell auch geschlossen und am Fehlerausgang wird der Fehlertext ausgegeben, bzw. wenn dieser nicht verdrahtet ist, wird der Text in einem Fehlerfenster angezeigt und der Signalgraph gestoppt.
Da das Modul ShellNT keine Tastatureingaben wieder ausgibt, ist für die Ausgabe selbst zu sorgen (lokales Echo).
Die Kommando-Shell gibt alle Eingaben an den Kommandointerpreter von Windows weiter, d.h. alle Befehle und Kommandos sind in der Befehlsreferenz von Windows nachzulesen. Übliche Befehle sind: dir, copy, del, md, rd, cd, ...
Es können in der Kommando-Shell auch Programme gestartet werden (z.B. chkdsk, explorer). Jedoch ist bei Programmen mit graphischer Oberfläche darauf zu achten, daß sie nach dem Start von der Kommando-Shell aus nicht mehr bedient oder beendet werden können. Nur textbasierte Programme, die keine graphische Ausgabe haben, können damit gesteuert werden.
Ein-/Ausgänge
Eingänge  
EXT, DB SWORD{show_startinfo}, SWORD{authentification}, SWORD{login_trys}, SWORD{use_user_path}, UBYTE[]{start_path}, SWORD{ascii2ansi} Parametrierung des Moduls über externe Quellen wie ParamConv oder DBLoad
Open TYPEINFO{TypeInfo}
SWORD[]{SCALAR}
Nummer der zu öffnenden Kommando-Shell
Close TYPEINFO{TypeInfo}
SWORD[]{SCALAR}
Nummer der zu schließenden Kommando-Shell
ID TYPEINFO{TypeInfo}
SWORD[1]{SCALAR}
Shell-ID
Data TYPEINFO{TypeInfo}
UBYTE[]{Text}
Shell-Kommando
Ausgänge
Close TYPEINFO{TypeInfo}
SWORD[]{SCALAR}
Nummer der geschlossenen Kommando-Shell
ID TYPEINFO{TypeInfo}
SWORD[1]{SCALAR}
Shell-ID
Data TYPEINFO{TypeInfo}
UBYTE[]{Text}
Shell-Ausgabetext
Error TYPEINFO{TypeInfo}
UBYTE[]{Text}
Fehlertext
Limitierungen
Dieses Modul funktioniert nicht unter Win95 und Win98, sondern nur unter Windows NT und Windows 2000.
Querverweise
TCPServer, Shell, Windows-NT Referenz, telnet-Befehl (Windows)
Beispiele
Dieses Beispiel zeigt einen einfachen Signalgraphen, der eine Remote-Shell zur Verfügung stellt. Der TCPServer ist auf Kanal 23 eingestellt (Telnet) und wartet auf Verbindungsanfragen. Wenn (z.B. über Telnet) eine Anfrage gemacht wird, wird über den Open-Eingang eine Kommando-Shell erzeugt. Die Ausgabe der Shell wird über den TCPServer zurück zum Client geschickt, Befehle vom Client über den TCPServer zum ShellNT Modul weitergeleitet. Zu Testen ist dieses Beispiel mittels dem Programm telnet: telnet <Computername, auf dem der Signalgraph läuft> (Lokales Echo nicht vergessen).
wpe1.jpg (6451 Byte)