emeriks
Goto Top

VB.Net unter Win 2008 R2 - TerminalServicesProfilePath

Hi,
ich stehe mal wieder total auf dem Schlauch ...

Ich will den Terminalserver-Profilepfad eines Benutzer im ADS bearbeiten. Code, der unter Win 2003 noch tadellos lief, läuft nun unter Win 2008 R2 nicht mehr.
Das habe ich im Web schon recherchiert. Steht genug dazu drin.

Ein dort genannter Ansatz über die tsuserex.dll (TSUSEREXLib) funktioniert bei mir nicht, weil ich die DLL zwar installiert habe (kann mit der MMC den TS-Profilpfad eines Users ändern) aber ich im Visual Studio einfach keinen Verweis darauf setzen kann. Über die IDE gehts nicht. Wenn ich tricksen will und die Projektdatei manuell bearbeite, um die DLL zu verlinken, dann wird nach dem Start des Projekts angezeigt, dass die DLL nicht gefunden werden könne.

OK, also anderer Ansatz.
Über VBscript kann man nach wie vor die Eigenschaft "TerminalServicesProfilePath" auslesen. Sowohl mit Wscript als auch Cscript. Nun kommts aber. Startet man das selbe(!) Script aus einem VB.Net Projekt heraus, dann kommt auch hier die Fehlermeldung, dass es die Eigenschaft nicht gäbe. ??!!

Ich poste mal ein Stück Code, vielleicht kann ja jemand von Euch dazu was sagen.

Das Vbscript steht unter "C:\Test\Test.vbs". Direkter Start bringt gewünschtes Ergebnis.

set u = GetObject("LDAP://CN=Testuser,CN=Users,DC=testdomain,DC=local")  
Wscript.Echo u.TerminalServicesProfilePath

Starte ich das selbe Script aus VB.Net heraus, kommt Fehlermeldung.

    Dim start As New ProcessStartInfo
    start.FileName = "C:\WINDOWS\system32\cscript.exe"  
    start.Arguments = "C:\Test\Test.vbs"   
    start.UseShellExecute = False
    start.RedirectStandardOutput = True
    start.RedirectStandardError = True

    Dim myproc As New Process
    myproc.StartInfo = start
    myproc.Start()
    Dim so As System.IO.StreamReader
    Dim se As System.IO.StreamReader
    se = myproc.StandardError
    so = myproc.StandardOutput
    myproc.WaitForExit()
    MsgBox(so.ReadToEnd)
    MsgBox(se.ReadToEnd)

Die letzte Message Box (Ausgabe des StandardErr) meldet dann: "..... Das Object unterstütz diese Eigenschaft oder Methode nicht: 'u.TerminalServicesProfilePath' ...."

Ich weiß jetzt einfach nicht mehr weiter. Ich muss irgendwie die TS-Eigenschaften des Users auslesen und bearbeiten können und das mit VB.Net und unter Win 2008 R2 x64.

Kann mir jemand weiterhelfen?

mfg
MRX

Content-Key: 184521

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

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: emeriks
emeriks 09.05.2012 um 21:51:41 Uhr
Goto Top
Hi,
habe es über das MSDN-Forum mgelöst bekommen.

Wen's interessiert: http://social.msdn.microsoft.com/Forums/de-DE/visualbasicde/thread/8c32 ...

MRX