Benutzer mit den meisten Antworten
Laufwerk legen auf Windows 2008R2 Terminalserver

Frage
-
Hallo,
ich habe folgendes Problem:
Ich versuche ein Laufwerk in einer TS-Session bereitzustellen, was physisch auf dem Remote-PC liegt. Dazu benutze ich die GPO/CSE. Dort definiere ich ein Laufwerk E: mit dem Pfad \\%CLIENTNAME%\TSTemp. Das funktioniert auf 3 Terminalservern, die alle Windows2003R2 sind. Auf dem 4. (2008R2) geht das nicht. Wenn ich aber den Name des PCs eintrage funktioniert das. Wenn ich das Laufwerk über einen Script lege, funktionierts auch.
Wenn ich Clientrichtlinienergebnisse anzeigen lasse erscheint der Fehler 0x80070035.
Ich habe den verdacht, das die Variable %CLIENTNAME% zu diesem Zeitpunkt im 2008er TS noch nicht aufgelöst werden kann.
Hat jemand eine Lösung für das Problem?
Rene Hubert - Systemadministrator - DRK KH Lichtenstein gGmbH
- Bearbeitet Hubi Mittwoch, 13. März 2013 13:03
Antworten
-
Am 13.03.2013 10:24, schrieb Hubi:> Ich habe den verdacht, das die Variable %CLIENTNAME% zu diesem> Zeitpunkt im 2008er TS noch nicht aufgelöst werden kann.Exakt. Nicht nur zu diesem Zeitpunkt, sondern auch zu einem beliebigenspäteren Zeitpunkt geht das nicht. Mußt Du skripten... Den Clientnamenbekommst Du aus HKCU\Volatile Environment\<SessionID>\Clientname.Beispielcode in VBS:SessionID = GetSessionID( "" )Sessionname = oWsh.RegRead( "HKCU\Volatile Environment\" & SessionID &"\Sessionname" )Clientname = oWSH.RegRead( "HKCU\Volatile Environment\" & SessionID &"\Clientname" )Function GetSessionID( strUsername )Dim myQuery, myCol, myObj, myRC, myUserIf strUsername = "" Then strUsername = CreateObject("WScript.Shell" ).Environment( "PROCESS" ).Item( "USERNAME" )myQuery = "Select * from Win32_Process where executablepath=""" &Replace( WScript.Fullname, "\", "\\" ) & """"Set myCol = oWMI.ExecQuery( myQuery )For Each myObj In myColmyRC = myObj.GetOwner( myUser )If myRC = 0 ThenIf StrComp( myUser, strUsername, vbTextCompare ) = 0 ThenGetSessionID = myObj.SessionIDEnd IfNextEnd FunctionIn Powershell oder .NET kommst Du direkt an die SessionID ran. Dafürkann ich aber nix liefern ;-)
NO THEY ARE NOT EVIL, if you know what you are doing: Good or bad GPOs?
Wenn meine Antwort hilfreich war, freue ich mich über eine Bewertung! If my answer was helpful, I'm glad about a rating!- Als Antwort markiert Hubi Donnerstag, 14. März 2013 12:43
Alle Antworten
-
Am 13.03.2013 10:24, schrieb Hubi:> Ich habe den verdacht, das die Variable %CLIENTNAME% zu diesem> Zeitpunkt im 2008er TS noch nicht aufgelöst werden kann.Exakt. Nicht nur zu diesem Zeitpunkt, sondern auch zu einem beliebigenspäteren Zeitpunkt geht das nicht. Mußt Du skripten... Den Clientnamenbekommst Du aus HKCU\Volatile Environment\<SessionID>\Clientname.Beispielcode in VBS:SessionID = GetSessionID( "" )Sessionname = oWsh.RegRead( "HKCU\Volatile Environment\" & SessionID &"\Sessionname" )Clientname = oWSH.RegRead( "HKCU\Volatile Environment\" & SessionID &"\Clientname" )Function GetSessionID( strUsername )Dim myQuery, myCol, myObj, myRC, myUserIf strUsername = "" Then strUsername = CreateObject("WScript.Shell" ).Environment( "PROCESS" ).Item( "USERNAME" )myQuery = "Select * from Win32_Process where executablepath=""" &Replace( WScript.Fullname, "\", "\\" ) & """"Set myCol = oWMI.ExecQuery( myQuery )For Each myObj In myColmyRC = myObj.GetOwner( myUser )If myRC = 0 ThenIf StrComp( myUser, strUsername, vbTextCompare ) = 0 ThenGetSessionID = myObj.SessionIDEnd IfNextEnd FunctionIn Powershell oder .NET kommst Du direkt an die SessionID ran. Dafürkann ich aber nix liefern ;-)
NO THEY ARE NOT EVIL, if you know what you are doing: Good or bad GPOs?
Wenn meine Antwort hilfreich war, freue ich mich über eine Bewertung! If my answer was helpful, I'm glad about a rating!- Als Antwort markiert Hubi Donnerstag, 14. März 2013 12:43
-
Dann is das ja ein Schritt zurück, weil auf dem 2003er geht das via CSE. Ich wollte nur meine alten Scripte so gut wie weg bekommen.
Muss ichs halt so lassen wie ichs jetzt hab: kleiner Script mit "net use e: \\%CLIENTNAME%\TSTemp".
Trotzdem vielen Dank.
Rene Hubert - Systemadministrator - DRK KH Lichtenstein gGmbH