Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Scripting


Alles zum Thema System Administration Scripting — Q & A zum Thema Scripting: Batch, VBS, WMI, PowerShell


Antwort
     
Themen-Optionen
Alt 09.01.2012, 15:57   #1
Member
 
Offline
Registriert seit: 06-2009
Beiträge: 189
Windows Server 2003 - TerminalServer Profil ändern

Hallo zusammen,

wir haben hier in einer Domäne knapp 1500 User, die mit ihrem Terminalserverprofil auf zwei unterschiedlichen Citrix-Servern liegen. Ich habe per PS Script mal die User und ihre jeweiligen Terminal Server Profile abgefragt, das sieht in etwa so aus:

Benutzername Terminalserverpfad
Benutzer 1 \\server1\profile\benutzername
Benutzer 2 \\server2\profile\benutzername
Benutzer 3 \\server2\profile\benutzername

Code:
$OU = "domain.de/ou"
Get-QADUser -SearchRoot $OU -includedproperties name,tsprofilepath | select name, tsprofilepath
Jetzt würde ich gerne alle Profile nur noch auf einem Terminal Server ablegen. Wenn ich mich für einen Server entschieden habe, besteht dann die Möglichkeit, den Wert des tsprofilepath per PS fest zu schreiben, bzw. die ersten Zeichen, bis nach profile? Oder muss ich den Benutzername jedes Benutzers zusätzlich auslesen und im Script setzen?

Vorab danke für alle Antworten.

Viele Grüße
Alex

Signatur
Done: 70-640, 70-642, 70-680, 70-685, 70-270, 70-271, 70-272, 70-290, 70-291
Next: 70-643

    Mit Zitat antworten
Alt 09.01.2012, 17:13   #2
Expert Member
 
Benutzerbild von NorbertFe
 
Online
Registriert seit: 07-2007
Beiträge: 15.999
Also normalerweise gibts dafür die Variable %username%. Ob und wie man da per PS rankommt weiß ich nicht, aber ich würd dafür einfach admodify nehmen.

Bye
Norbert

Signatur
Frank, I never thought I'd say this again. I'm getting the pig!

    Mit Zitat antworten
Alt 09.01.2012, 21:43   #3
Moderator
 
Offline
Registriert seit: 11-2002
Beiträge: 6.666
Hi,
du kannst mir %username% arbeiten.
Schau dir mal PowerShell ActiveDirectory - PowerShellPraxis.de -> Beispiel 2 an.
Wenn das Skript auf einem win7-client laufen soll, musst du dort erst die tsuserex.dll registrieren (siehe Anmerkung unter dem Beispiel)

blub

Signatur
www.powershellpraxis.de

Nec Cupias, Nec Metuas

    Mit Zitat antworten
Alt 10.01.2012, 10:47   #4
Member
 
Offline
Registriert seit: 06-2009
Beiträge: 189
Danke Euch zwei für die Antworten. Prinzipiell ist die Variable %username% nutzbar, allerdings sind die Benutzerprofile nicht immer mit ihrem Benutzernamen angelegt, habe ich gerade erfahren. Das heißt für mich, ich muss die Profilnamen auslesen und eigentlich nur die vorgesetzte Serveradresse im Feld Terminalserverprofil ändern. Wie Norbert schreibt, werde ich mir dafür mal admodify anschauen, wenngleich ich es gerne auch unter Powershell lösen würde.

Viele Grüße
Alex

Signatur
Done: 70-640, 70-642, 70-680, 70-685, 70-270, 70-271, 70-272, 70-290, 70-291
Next: 70-643

    Mit Zitat antworten
Alt 10.01.2012, 15:38   #5
Member
 
Offline
Registriert seit: 06-2009
Beiträge: 189
Hallo nochmals,

so, ich habe jetzt etwas Zeit mit der Umsetzung verbracht und hänge an einem Punkt zur Umsetzung am Script. Da die Usernamen variieren, kann ich keine Variablen, Anmeldenamen oder ähnliches nutzen. Ansonsten wäre das die Lösung:

Code:
Get-QADUser -SearchRoot 'domäne.de/OU'|%{$_.tsprofilepath ='\\server1\profiles$\' + $_.samaccountname;$_.CommitChanges();}
Daher habe ich mal alle Domänenuser mit ihren Terminalserverprofilpfaden ausgelesen, diese dann per Suchen/Ersetzen auf den passenden Server umbenannt und würde nun gerne in eine Test-OU die Werte zurückschreiben. Aber da passt was an meinem Script nicht. Ich habe aus den abgefragten Werten eine CSV erstellt und versuche, diese per import-csv Befehl in die Test-OU zu schreiben. Kann mir hierfür speziell mit den Werten samaccountname und tsprofilepath jemand einen Tipp geben? Meine csv sieht so aus:
samaccountname,tsprofilepath
test1,\\server1\profile$\username xyz

Viele Grüße
Alex

Signatur
Done: 70-640, 70-642, 70-680, 70-685, 70-270, 70-271, 70-272, 70-290, 70-291
Next: 70-643

    Mit Zitat antworten
Alt 11.01.2012, 16:17   #6
Member
 
Offline
Registriert seit: 06-2009
Beiträge: 189
Also für alle, die es interessiert, oder die vor dem gleichen Problem bezüglich der Terminal Server Profile stehen, hier meine Lösung:

TSProfilePath Werte anzeigen:

Code:
Get-QADUser -SearchRoot 'domäne.com/OU' -SizeLimit 0 | Where-Object {$_.TsProfilePath -like ''} | select samaccountname, tsprofilepath
-like'' bestimmt hier den eingetragenen Wert, in dem Fall also leer, bzw. keinen Pfad eingetragen.

TSProfilePath Wert schreiben:

Code:
Get-QADUser -SearchRoot 'domäne/OU'|%{$_.tsprofilepath ='\\server\profil\' + $_.samaccountname;$_.CommitChanges();}
Bei uns bestehen die Citrix-Benutzerprofile aus dem Server+Pfad+Benutzername, deshalb der samaccountname am Ende.

Wer jetzt das Script weder auf der gesamten Domäne noch auf einer speziellen OU anwenden will, sondern lieber per Liste arbeitet, kann das Script benutzen. Dabei benötigt man nur ein TXT oder CSV File mit der Auflistung der samaccount Namen.

Code:
Import-CSV Pfad der Datei txt oder csv | %{ Set-QADUser -Identity $_.samaccountname -TsProfilePath "\\server\pfad$\$($_.samaccountname)"}
Bei uns ist abschließend noch das Problem, dass nicht alle Benutzer den Anmeldenamen als Profilnamen haben. In diesem Fall lese ich diese User aus, schreibe sie in eine Textdatei, ändere per Suchen und Ersetzen den Serverpfad und schreibe sie über den Import-CSV Befehl wieder zurück in die AD.

Viele Grüße
Alex

Signatur
Done: 70-640, 70-642, 70-680, 70-685, 70-270, 70-271, 70-272, 70-290, 70-291
Next: 70-643

    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Windows SBS Server 2003 und Terminalserver faro84 Windows Server Forum 2 18.09.2008 08:46
Windows Server 2003 Terminalserver Canni Microsoft Lizenzen 3 06.02.2007 10:11
Windows Server 2003 Small Buisiness - Outlook - servergespeichertes Profil - Trouble! crazy MS Exchange Forum 0 10.11.2005 16:55
lokales Benutzer-Profil (XP Pro) zum servergespeicherten Profil auf 2003 Server ?? otto-mueller Windows Server Forum 2 22.09.2005 14:42
MS Windows Server 2003 Terminalserver NeX Windows Server Forum 1 06.06.2004 23:35


Alle Zeitangaben in MEZ/CET. Es ist jetzt 15:26 Uhr. Seite generiert in 0,035 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang