Terminalsitzungs ID per Script auslesen
Weiß jemand von euch, in welcher Variable die aktuelle Sitzungs-ID (W2k3 Terminalserver) gespeichert ist?
Hintergrund: Wenn Sich jemand am Terminalserver anmeldet werden sein lokalen Drucker mit in die Sitzung reingehoben. Die Bezeichnung des reingehobenen Druckers lautet dann:
<Windows Druckername> (von <Workstation>) in Sitzung <Sitzungs-ID>
z.B. NEC Pinwriter P20 (von WS-SEK) in Sitzung 9
Da sich die Sitzungsnummer ständig ändert, kann ich diesen entsprechenden Drucker nicht automatisch als Standarddrucker definieren, sondern muss das jedes Mal manuell machen.
Um diese Problem zu beheben, will ich die aktuelle Sitzungs-ID auslesen und anschließend den aktuellen Sitzungsdrucker NEC Pinwriter P20 (von WS-SEK) in Sitzung 9 oder NEC Pinwriter P20 (von WS-SEK) in Sitzung 2 oder wie auch immer als Standarddrucker automatisch nach dem Login setzen.
Der Befehl zum Setzen des Standardsdrucker per Kommandozeile ist mir bestens bekannt.
Über "SET" kann ich schonmal nicht die richtige Variable auslesen...
ALLUSERSPROFILE=C:\Dokumente und Einstellungen\All Users
APPDATA=C:\Dokumente und Einstellungen\<Username>\Anwendungsdaten
CLIENTNAME=ALTER
ClusterLog=C:\WINDOWS\Cluster\cluster.log
CommonProgramFiles=C:\Programme\Gemeinsame Dateien
COMPUTERNAME=TERMINAL
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Dokumente und Einstellungen\<Username>
LOGONSERVER=\\BILLYBOY
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\Sybase
\SQL Anywhere 9\Win32;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 8, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0408
ProgramFiles=C:\Programme
PROMPT=$P$G
SESSIONNAME=RDP-Tcp#14
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOKUME~1\<Username>\LOKALE~1\Temp\<Sitzungs-ID>
TMP=C:\DOKUME~1\<Username>\LOKALE~1\Temp\<Sitzungs-ID>
USERDNSDOMAIN=<domäne>
USERDOMAIN=<domäne>
USERNAME=<Username>
USERPROFILE=C:\Dokumente und Einstellungen\<Username>
windir=C:\WINDOWS
Im "TMP"-Pfad ist die Sitzungsvariable zu finden....
Hat jemand eine besser IDEE, an die Sitzungsvariable ranzukommen?
LÖSUNG
cmd: query user
Hintergrund: Wenn Sich jemand am Terminalserver anmeldet werden sein lokalen Drucker mit in die Sitzung reingehoben. Die Bezeichnung des reingehobenen Druckers lautet dann:
<Windows Druckername> (von <Workstation>) in Sitzung <Sitzungs-ID>
z.B. NEC Pinwriter P20 (von WS-SEK) in Sitzung 9
Da sich die Sitzungsnummer ständig ändert, kann ich diesen entsprechenden Drucker nicht automatisch als Standarddrucker definieren, sondern muss das jedes Mal manuell machen.
Um diese Problem zu beheben, will ich die aktuelle Sitzungs-ID auslesen und anschließend den aktuellen Sitzungsdrucker NEC Pinwriter P20 (von WS-SEK) in Sitzung 9 oder NEC Pinwriter P20 (von WS-SEK) in Sitzung 2 oder wie auch immer als Standarddrucker automatisch nach dem Login setzen.
Der Befehl zum Setzen des Standardsdrucker per Kommandozeile ist mir bestens bekannt.
Über "SET" kann ich schonmal nicht die richtige Variable auslesen...
ALLUSERSPROFILE=C:\Dokumente und Einstellungen\All Users
APPDATA=C:\Dokumente und Einstellungen\<Username>\Anwendungsdaten
CLIENTNAME=ALTER
ClusterLog=C:\WINDOWS\Cluster\cluster.log
CommonProgramFiles=C:\Programme\Gemeinsame Dateien
COMPUTERNAME=TERMINAL
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Dokumente und Einstellungen\<Username>
LOGONSERVER=\\BILLYBOY
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\Sybase
\SQL Anywhere 9\Win32;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 8, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0408
ProgramFiles=C:\Programme
PROMPT=$P$G
SESSIONNAME=RDP-Tcp#14
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOKUME~1\<Username>\LOKALE~1\Temp\<Sitzungs-ID>
TMP=C:\DOKUME~1\<Username>\LOKALE~1\Temp\<Sitzungs-ID>
USERDNSDOMAIN=<domäne>
USERDOMAIN=<domäne>
USERNAME=<Username>
USERPROFILE=C:\Dokumente und Einstellungen\<Username>
windir=C:\WINDOWS
Im "TMP"-Pfad ist die Sitzungsvariable zu finden....
Hat jemand eine besser IDEE, an die Sitzungsvariable ranzukommen?
LÖSUNG
cmd: query user
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 68904
Url: https://administrator.de/contentid/68904
Ausgedruckt am: 05.11.2024 um 19:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo emjott,
ich habe eine andere Idee ;) Überprüfe doch einmal die Terminalserver Einstellungen was du dort ggf. gesperrt/ deaktiviert hast. Wenn man einen Drucker in die Terminalserver Session mitnimmt, welcher Lokal der Standarddrucker ist, sollte dieser auch in der Terminal-Session automatisch der Standarddrucker sein. So ist es zumindest auf allen TS-Servern der Fall, die ich so in der vergangenen Zeit installiert habe und mir ist nicht bewußt das ich dort extra etwas einrichten/ einstellen musste für...
Gruss, Maik
ich habe eine andere Idee ;) Überprüfe doch einmal die Terminalserver Einstellungen was du dort ggf. gesperrt/ deaktiviert hast. Wenn man einen Drucker in die Terminalserver Session mitnimmt, welcher Lokal der Standarddrucker ist, sollte dieser auch in der Terminal-Session automatisch der Standarddrucker sein. So ist es zumindest auf allen TS-Servern der Fall, die ich so in der vergangenen Zeit installiert habe und mir ist nicht bewußt das ich dort extra etwas einrichten/ einstellen musste für...
Gruss, Maik