none
AD Attribut TerminalServicesHomeDirectory über VBSkript ??? RRS feed

  • Frage

  • Hallo zusammen

    Ich versuche mittels VBSkript die Werte für das Terminal Services Home Verzeichnis auszulesen:

    **************************************************************
    Set objUser = GetObject _
      ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")

    strTerminalServicesProfilePath = objUser.TerminalServicesProfilePath
    strTerminalServicesHomeDirectory = objUser.TerminalServicesHomeDirectory
    strTerminalServicesHomeDrive = objUser.TerminalServicesHomeDrive
    intAllowLogon = objUser.AllowLogon

    WScript.echo "TerminalServicesProfilePath : " & strTerminalServicesProfilePath
    WScript.echo "TerminalServicesHomeDirectory: " & strTerminalServicesHomeDirectory
    **************************************************************

    Ich erhalte aber kein Resultat. Auch über ADSIEdit kann ich diese Attribute nirgends finden!
    Ich bin nun schon seit Stunden dran, aber ohne Erfolg. Was mache ich falsch?

    Bin für jeden Hinweis dankbar.


    Grüsse
    Peter
    Freitag, 4. September 2009 06:18

Antworten

Alle Antworten

  • Hi Peter,

    wenn ich mich recht entsinne liegen die Terminal Server Profildaten in Binärform vor, daher kannst Du die Daten nicht so einfach auslesen wie andere Attribute.

    Bezüglich Deines Vorhabens - darf es auch PowerShell sein?
    http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct08/hey1023.mspx

    Ansonsten finden sich einige Beispiele dazu mit der Suchmaschine Deiner Wahl. :-) Such einfach einmal nach "terminal server profiles vbscript".

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Freitag, 4. September 2009 20:24
    Beantworter
  • Hallo Fabian

    Danke für deine Antwort.

    Wie du in meinem Posting sehen kannst, habe sehr wohl ein entsprechendes Skript über eine Suchmaschine meiner Wahl gefunden ;-)
    Nur leider bekomme ich keine Werte zurück.

    Mittlerweile funktioniert es, nur eben nicht in jeder Umgebung!
    Ich wollte das zuerst in unserer Testumgebung testen, da hat es aber nicht funktioniert. Als ich es dann in der Testumgebung des Kunden laufen lies, funktionierte es. Braucht es einen installierten Terminal Server, damit die Attribute rausgelesen werden können?


    Grüsse
    Peter
    Montag, 7. September 2009 06:02
  • Hi Peter,

    es benötigt  zwar keinen Terminalserver in der Umgebung, jedoch müssen die Attributwerte natürlich gesetzt sein, sonst bekommst Du keine Rückgabewerte. Du kannst jedoch in Deiner Testumgebung einmal entsprechende Werte auf einem Testbenutzer eintragen, um zu prüfen, ob das Script diese zurück liefert.

    Das Attribut mit den Binärwerten lautet "userParameters", Du findest also keine "Einzelwerte" als Attribut.

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Montag, 7. September 2009 08:38
    Beantworter
  • Das Attribut mit den Binärwerten lautet "userParameters", Du findest also keine "Einzelwerte" als Attribut.
    In der Testumgebung des Kunden erhalte ich aber mit der Abfrage auf "objUser.TerminalServicesHomeDirectory" genau den Wert zurück, welcher gesetzt ist.
    Und ja, ich habe auch in der Umgebung in welcher das nicht funktioniert die Attributwerte gesetzt.

    Mir ist momentan nicht ganz klar, wieso das in der einen Umgebung klappt, in der anderen jedoch nicht. Aber Hauptsache es funktioniert dort wo ich es brauche.

    Momentan habe ich nicht die Zeit mich dem noch weiter zu widmen. Sollte jedoch trotzdem noch jemand einen Hinweis dazu haben wäre ich natürlich interessiert.


    Noch einmal danke für deine Bemühungen und Grüsse
    Peter
    Dienstag, 8. September 2009 08:34
  • Hallo Peter,

    mich würde mal interessieren, welches BS dein AD hat. Du kommst nur an diese Werte unter Windows 2003 ran. Verantwortlich ist dafür die "tsuserex.dll" die es nur unter 2003 gibt.

    Viele Grüße

    Frank
    Dienstag, 8. September 2009 12:35
  • Hi Frank,

    wenn es Windows Server 2008 oder höher wäre, dann hätte der TO im Normalfall die Attribute sehen müssen (so zumindest meine Vermutung). 

    2.499 Attribute msTSHomeDirectory
    http://msdn.microsoft.com/en-us/library/Cc220562.aspx

    2.517 Attribute msTSProfilePath
    http://msdn.microsoft.com/en-us/library/cc220579(prot.13).aspx

    Aber Du hast Recht - ist ein wichtiger Hinweis zwischen den OS Versionen zu unterscheiden.

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Dienstag, 8. September 2009 14:42
    Beantworter
  • Hi Fabian,

    leider ist das nicht so:-(. In dem ersten Link von Dir steht Folgendes:

    " To set a home directory in a network environment, the implementer must first set the TerminalServicesHomeDrive property, and then set this property to a Universal Naming Convention (UNC) path."

    Für mich ist das nicht unbedingt logisch. Wenn Du mal in den Eigenschaften eines Users den Profilpfad und das Homelaufwerk setzt, dann bleiben die ms-ts....... Attribute leer. Du findest dann nur das kryptische Feld "userparameters". Auf dieses konntest Du eben unter 2003 dank der tsuserex.dll zugreifen. Warum das unter 2008 wieder rausgeflogen ist, kann ich leider nicht sagen.

    Viele Grüße

    Frank
    Dienstag, 8. September 2009 15:53
  • Hallo Frank

    Meine Umgebung ist Windows Server 2003, Domain und Forest Functional Level.

    Ich habe jetzt mal die "tsuserex.dll" registriert, nun komme ich an die Werte ran.


    Grüsse

    Peter
    Dienstag, 8. September 2009 15:58
  • hi Frank,

    mh - sollte ich mich da derart stark geirrt haben? Sieht so aus. ;-)
    Ich hatte fest im Hinterkopf, daß die Daten des "userParameters" Blobs ab Windows Server 2008 in eigene Attribute ausgelagert wurden. Klar - Abwärtskompatibilität ist hier ein Thema, aber sonst...?

    Danke für den Hinweis, ich checke das mal bei den Terminal Server Kollegen. :-)

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Dienstag, 8. September 2009 16:49
    Beantworter
  • Hallo Peter,

    das ist aber komisch. Normalerweise sollte diese DLL schon registriert sein. Anyway, es funktioniert. Das ist die Hauptsache.

    Grüße

    Frank
     
    Dienstag, 8. September 2009 17:37
  • Hallo Fabian,

    wenn Du was von den Kollegen hörst, dann lasse es mich bitte wissen. Ich bin doch so neugierig.

    Das kannst DU mir auch per PM senden.

    Viele Grüße

    Frank
    Dienstag, 8. September 2009 17:38
  • Hi Frank,

    hier noch der gewünschte Nachtrag: Ich habe mich geirrt, die Attribute werden derzeit tatsächlich nicht verwendet. :-)

    Viele Grüße
    Fabian

    http://blogs.technet.com/deds
    Donnerstag, 10. September 2009 18:07
    Beantworter