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-Key: 250829

Url: https://administrator.de/contentid/250829

Printed on: April 18, 2024 at 03:04 o'clock

Member: Saftnase
Saftnase Oct 02, 2014 at 15:28:16 (UTC)
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.
Member: emeriks
emeriks Oct 02, 2014, updated at Oct 04, 2014 at 16:28:32 (UTC)
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.
Member: skrowTI
skrowTI Oct 04, 2014 updated at 16:29:21 (UTC)
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
Member: Saftnase
Saftnase Oct 09, 2014 at 06:54:42 (UTC)
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
Member: emeriks
emeriks Oct 09, 2014 at 11:54:35 (UTC)
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.
Member: Saftnase
Saftnase Oct 09, 2014 at 12:10:11 (UTC)
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.
Member: emeriks
Solution emeriks Oct 09, 2014 updated at 13:06:30 (UTC)
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.
Member: skrowTI
skrowTI Oct 09, 2014 at 13:05:57 (UTC)
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!
Member: emeriks
emeriks Oct 11, 2014 at 16:36:44 (UTC)
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.