skrowti
Goto Top

Druckerzuweisung auf Terminalserver mittels VBScript anhand der Client IP

Hallo zusammen!

Ich habe folgendes System bei einem Kunden vorgefunden:

- Mehrere Terminalserver im Rechenzentrum (Cluster)
- Printserver (auch im RZ)
- User melden sich über ThinClients an der Clusetr IP an

ca. 30 Standorte budesweit vertsreut.

Alle Standorte sind an das RZ angebunden, jeder einen eigenen Adressbereich.

Zu meinem vorhaben:

Ich möchte bei der Anmeldung am 2012 R2 TS das Netz auslesen aus dem der Client kommt. (wegen mir in ein Textfile schreiben)
Mit dieser Information identifiziere ich den Standort und die damit verfügbaren Drucker für den User...

Anschließend möchte ich ein VBScript die entsprechenden Drucker zuteilen lassen...

Leider, komme ich nicht drauf, wie ich sinnvoll mit einem VB Script die Client IP von der jeweiligen Anmeldung auslesen kann...

Hat jemand etwas ähnliches im Einsatz und kann mir einen Tipp geben?

Für Lösungsvorschläge aller Art bin ich mehr als dankbar.


:o)

Content-ID: 250829

Url: https://administrator.de/forum/druckerzuweisung-auf-terminalserver-mittels-vbscript-anhand-der-client-ip-250829.html

Ausgedruckt am: 16.04.2025 um 19:04 Uhr

Saftnase
Saftnase 02.10.2014 um 17:28:16 Uhr
Goto Top
Maaaaaaaaaaahlzeit,

wenn du eine AD Domäne hast, solltest du das über Gruppenrichtlinien machen. Damit kannst du nach allem möglichen den Drucker zuweisen.
IP Netz, MAC Adresse, Username, Schuhgröße (lol, war nur n Witz) WMI Abfrage, etc.... stehen da zur Auswahl.
emeriks
emeriks 02.10.2014, aktualisiert am 04.10.2014 um 18:28:32 Uhr
Goto Top
Hi,
ach ja? Und wie lautet der Filter, um innerhalb einer TS-Sitzung eine Sitzung nach der IP-Adresse oder Site eines Thin Clients zu filtern? Bullshit. Das hat hier schon mal jemand gefragt und keine Antwort drauf bekommen! (Client IP-Adresse auslesen - Windows Terminalserver - Gruppenrichtlinienzuweisung)

Angeblich soll man das mit einem VBscript wie
Set oWts = CreateObject("WtsScript.WtsQuery")  
WScript.Echo oWts.ClientIp
auslesen können. Doch das kann ich weder in Win2003 noch in Win2008R2 reproduzieren, weder unter RDP noch ICA.

E.
skrowTI
skrowTI 04.10.2014 aktualisiert um 18:29:21 Uhr
Goto Top
Hi!

Ich habe mich jetzt das ganze Wochenende damit rumgeschlagen und konnte keine Lösung finden. Augenscheinlich ist dieser Anwendungsfall via GPO nicht vorgesehen... face-sad

Ich denke ich werde mir die IP über ein Hilfsprogramm (ClientIP.exe ist mir kürzlich in die Hände gefallen) in ein Textfile schreiben lassen...
Das ist zwar sehr, sehr umständlich, aber anders kann ich mir wohl nicht helfen...

Trotzdem Danke für Eure Hilfe! face-wink

Vielleicht stolper ja nochmal wer drüber, der lacht und sofort weiß wies geht... face-big-smile
Saftnase
Saftnase 09.10.2014 um 08:54:42 Uhr
Goto Top
Das Stichwort heißt Item Level Targeting oder auch Zielgruppenadressierung.
Schau dir mal das an. http://www.gruppenrichtlinien.de/artikel/filtern-von-gruppenrichtlinien ...

Falls das nicht geht (z.B. weil er die IP vom TS nimmt statt die des Clients) dann kannst du seit XENAPP 5 in der "Erweiterten XenApp Konfiguration" Policies anlegen die auf die IP Adresse des Clients reagieren.

@emeriks
1. 2003 kannte IMHO noch kein ITL daher erst ab 2008 zu finden. Da gibt es sogar (ohne WMI zu benutzen) einen Filter für den IP Bereich.
2. Tante Google findet z.B. dies http://social.technet.microsoft.com/Forums/forefront/de-DE/b2cb43ca-eb6 ...
(habe ich aber nicht selbst getestet)
3. Nur weil du es nicht kannst, muss es ja nicht gleich "Bullshit" sein. Mit XenApp (ICA Protokoll) geht es definitiv, weil es seit 3+ Jahren bereits so mache.

cu
emeriks
emeriks 09.10.2014 um 13:54:35 Uhr
Goto Top
Hi,
1. 2003 kannte IMHO noch kein ITL daher erst ab 2008 zu finden. Da gibt es sogar (ohne WMI zu benutzen) einen Filter für den IP Bereich.
"2003" bezuog sich auf den von mir geannten Code Snipsel.
3. Nur weil du es nicht kannst, muss es ja nicht gleich "Bullshit" sein. Mit XenApp (ICA Protokoll) geht es definitiv,
weil es seit 3+ Jahren bereits so mache.
OK.
Und um meine Frage zu wiederholen:
"Und wie lautet der Filter, um innerhalb einer TS-Sitzung eine Sitzung nach der IP-Adresse oder Site eines Thin Clients zu filtern?"

Maaaaaaaaaaahlzeit!
E.
Saftnase
Saftnase 09.10.2014 um 14:10:11 Uhr
Goto Top
Guck mal auf den Link unter 2.
Da hats einer schon mit WMI probiert (erfolglos) und eine Alternative gepostet.
Ich kanns leider nicht von meinem Schreibtisch aus für dich anklicken.
emeriks
Lösung emeriks 09.10.2014 aktualisiert um 15:06:30 Uhr
Goto Top
Der Link zeigt eine Alternative, die man in Scripten benutzen könnte, jedoch nicht in GPO-Filtern.
Und die "Zielgruppenaddressierung" über "IP-Adressbereich" arbeitet nur mit der IP des Computers, auf dem die GPO ausgewertet wird, also dem TS und nicht dem TS-Client.
Zitat:
Ein Zielgruppenadressierungselement für den IP-Adressbereich ermöglicht es, ein Voreinstellungselement nur dann auf Computer oder Benutzer anzuwenden, wenn sich die IP-Adresse des verarbeitenden Computers im vom Zielgruppenadressierungselement angegebenen Bereich befindet. Ist die Option Ist ungleich ausgewählt, kann das Voreinstellungselement nur dann angewendet werden, wenn sich die IP-Adresse des verarbeitenden Computers nicht im vom Zielgruppenadressierungselement angegebenen Bereich befindet.

Man kann das auch damit machen: http://deptive.co.nz/update-how-to-determine-client-ip-address-in-xenap ...
Aber auch nicht nutzbar in WMI-Filtern, weil der Sessionname dort nicht variabel hinterlegt werden kann.

E.
skrowTI
skrowTI 09.10.2014 um 15:05:57 Uhr
Goto Top
Das Problem ist inzwischen über einen kleinen Umweg gelöst.
Mit einem ENVTSCIP lese ich die IP vom Client aus und schreib sie mir in ein Textfile...
http://www.ctrl-alt-del.com.au/files/ENVTSCIP.txt

Anschließend nehme ich diesen wert in meinem Drucker Script (vbs) her und filtere so den Standort heraus um meine Drucker zu mappen...
Mit VB.NET hab ich mir ne Anwendung geschrieben, die mich dann noch den Standard Drucker auswählen lässt und auch im OS setzt.

Anschließend wir eine defaultprinter.txt geschrieben, damit ich nicht jedemal den Drucker aufs neue Auswählen muss - Es sei denn, ich bin aucf einem anderen Standort und habe dann logischerweise ne andere ip.txt...

Einen anderen Weg sehe ich nicht, das Thema in meiner Umgebung zu lösen.
Schade, dass Microsoft mit der Zielgruppenadressierung nicht die Möglichkeit bietet die Client IP abzufragen... Das hätte mir 2 Wochen gespart... face-big-smile

Trotzdem Danke für Eure Ideen!
emeriks
emeriks 11.10.2014 um 18:36:44 Uhr
Goto Top
@skrowTI
Bin da fündig geworden:
Sieh mal bei den GPO-Erweiterungen unter "Zielgruppenadressierung" beim Filter "Terminalsitzung". Dort kann man dann auch den IP-Adressbereich des Clients angeben.
Ich habe das jetzt nicht ausprobiert, halte es auch nur für kleinere Umgebungen für sinnvoll. Bei Umgebungen mit hunderten von Standorten und Subnetzen, wie das z.B. bei uns der Fall ist, ist das so nicht praktikabel weil viel zu aufwendig.

Falls Du das so testen willst, wäre ich über eine Rückmeldung, ob das so funktioniert, dankbar.

@Saftnase
WMI-Filter war also doch falsch, und Zielgruppe "IP-Adressbereich" in diesem Sinne auch.
Jedoch "Bullshit" von mir auch nicht richtig. Sorry dafür, war aber auch gar nicht als persönliche Anfeindung gemeint.

E.