Jump to content

win2k3 Terminal - per Batch LW A:(lokal) mappen!


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Leute!

 

Ich hab hier folgendes Problem bei dem ich hänge:

 

Status:

1Win2k3 Terminal Server

1Win2k3 Datenbank Server

11Client PCs (9*WinNT,2*Win2k)

~20User

 

Die User wechseln ihren Arbeitsplatz ständig so das immer fast alle Pcs belegt sind.

Nun ist es für eine Steuersoftware wichtig das Lokale(vom TerminalPC also nicht vom Server) Diskettenlaufwerk anzusprechen! Und das auf einem bestimmten Laufwerksbuchstaben!

 

Unter win2k3 ist es im terminal zwar möglich die lokalen laufwerke zu verbinden aber leider ohne Buchstaben!

 

Also konkret: Der User 1 geht an den PC A, loggt sich dabei ein im Terminalmodus, dann soll per Batchdatei das A-Laufwerk(natürlich freigegeben) auf der TerminalEmulation z.B. als X: mappen!

 

meine Lösungsidee:

 

net use X: \\lokalerpcname\A

da lokalerpcname aber eben leider nicht immer das gleiche ist:

net use X: \\%computername%\A

 

das Problem: %computername% ist auf der Terminalemulation eben leider der Name des Terminalservers und nicht der des client-pcs!

 

gibts denn sonst irgeneine Variable oder Möglichkeit den namen des PC's auszulesen von dem aus man sich an den server verbindet?

 

Ich hoffe ich hab mein kleines Problem hier veständlich ausgedrückt und bedanke mich schonmal für Lösungsvorschläge und Anregungen!

 

Mfg, Florian

Link zu diesem Kommentar

Hi,

 

ich würde es folgendermaßen lösen:

Vorraussetzung: Ein User bezogenes Verzeichnis, und ein Login Script, ein wenig Scripting

 

Vorgehen:

Bei der Anmeldung des Users an seinem Arbeitsplatz schreibt das Login Script in das Userverzeichnis eine Datei mit dem Computernamen, an dem er angemeldet ist.

 

Bei der Anmeldung am TS liest das Login Script den Rechnernamen aus dieser Datei aus und mapt ein Laufwerk darauf.

 

Gruß

 

Torsten

Link zu diesem Kommentar

Mein Vorschlag basiert 'bloß' auf der Idee, daß der einzelne Rechner beim Start des Terminalmodus irgendwelche lokalen, für ihn spezifischen Variablen mitübergeben kann. Allerdings ist das eine Vermutung, da ich solche Terminalemulationen mangels Gelegenheit praktisch nicht kenne.

 

Falls dies stimmt, erhält der lokale Rechner eine neu zu definierende System-Umgebungsvariable (System - Erweitert - Umgebungsvariablen), die einfach das als Wert erhält, was für deine net use \\... - Konstruktion notwendig ist. Damit müßte diese Variable auch in einem Batch verfügbar sein und kann genutzt werden.

 

Beim Vorschlag von @torstenbeck ist der erste Schritt überflüssig, da der Rechner ja ohnehin unabhängig vom aktuellen Benutzer einen festen Namen hat. Beim zweiten Schritt ist mir nicht klar, ob das LogonScript einer Terminalemulation das Recht hat, auf den lokalen Rechner zuzugreifen. Falls ja, kann man auch gleich auf jedem Rechner eine solche Datei mit dem Rechnernamen statisch anlegen und verwenden.

 

------------

Gruß, Auer

Link zu diesem Kommentar

Hi!

 

also mit der Idee von torstenbeck ist die Lösung schon fast erreicht!

 

nur, wie funktioniert es?

annahme: ich schreibe in eine datei auf dem Client den PC-name und gebe den Server frei:

wie lese ich dann den inhalt aus?

 

also in: \\pc-name\freigabe\pcname.txt

 

aber wie binde ich das nun in ein script ein?

 

also Möglichkeit 1:

net use X: \\<lese name aus pcname.txt>\\A

 

Möglichkeit 2:

setze %pcname% auf den Inhalt von \\pc-name\freigabe\pcname.txt

und danach:

net use X: \\%pcname%\freigabe\A

 

Wenn ihr mir dabei noch helfen könnt ist das des Rätsels lösung! :D

 

 

Vielen dank schonmal an euch 2!!!

 

Grüße, Flo

Link zu diesem Kommentar

Dafür gibt es mindestens zwei Möglichkeiten.

 

1. Das LogonScript kann einen lokalen Batch ausführen, etwa c:\Computer.cmd, dann enthält diese nur eine Zeile

 

set my_computername=pc_a

 

dann steht im folgenden %pc_a% zur Verfügung.

 

2. Oder mit for /f, siehe for /?, etwa:

 

Datei c:\computer.txt enthält eine Zeile

 

pc_a

 

for /f %%i In ('type c:\computer.txt') do set my_computername=%%i

 

Literatur zu Batchs unter Tipps & Links

 

----------------

Gruß, Auer

Link zu diesem Kommentar
Original geschrieben von auer

Dafür gibt es mindestens zwei Möglichkeiten.

 

1. Das LogonScript kann einen lokalen Batch ausführen, etwa c:\Computer.cmd, dann enthält diese nur eine Zeile

 

set my_computername=pc_a

 

dann steht im folgenden %pc_a% zur Verfügung.

 

 

 

hmm

das ganze sieht schon sehr gut aus..

nur

1. heisst es nich genau andersrum? set pc_a=my_computername ? so funktioniert es zmindest

2. wenn ich es in der Batchdatei aufrufe bleibt es aber nicht permanent, also wenn ich danach die mapping.bat aufrufe ist der Wert %pc_a% wieder leer

Link zu diesem Kommentar
  • 2 Wochen später...
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...