Jump to content
Sign in to follow this  
Maraun

Windows Server 2003 - TerminalServer Profil ändern

Recommended Posts

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

 

$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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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:

 

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

Share this post


Link to post
Share on other sites

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:

 

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:

 

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.

 

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

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...