belloci
Goto Top

Migration Fileserver - TS Profile

Guten Tag liebe Admins,

Anleitungen, wie man am geschicktesten eine Migration von Fileservern hinbekommt, gibt es zuhauf...

Daraus resultiert in meinem Falle leider auch, dass sich TS-Roaming Profile mit verschieben. Da wir den Pfad im Benutzerobjekt mitgeben (dies würden wir wenn möglich gerne beibehalten), müssten wir dies für ca. 150 Benutzerobjekte anpassen. Nun ist es ja so eine Sache mit dem TS Roaming Profil, siehe

http://www.faq-o-matic.net/2003/11/17/wie-kann-ich-die-terminal-server- ...

Erfahrungen mit LDIF sind vorhanden, aber leider in meinem Falle nicht anwendbar!

Habt Ihr eventuell noch andere Lösungsansätze, wie ich das bewerkstelligen kann?

Kurz zur Umgebung:

- Wir haben 2 Server auf denen TS Profile liegen (d.h. man müsste in Step 1 herausfiltern welche Benutzer auf dem Server liegen, der umziehen soll)
- Migration Fileserver von 2003R2 auf 2012R2
- Domänencontroller 2008R2
- alles virtualisiert

Danke im Voraus
Belloci

Content-ID: 239290

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

Ausgedruckt am: 24.11.2024 um 12:11 Uhr

emeriks
Lösung emeriks 29.05.2014, aktualisiert am 30.05.2014 um 07:01:48 Uhr
Goto Top
Hi,
ich verstehe offen gestanden nicht ganz, wo jetzt konkret Dein Problem ist. Schon beim Konzept oder beim Scripten ...

Wenn es sich um eine 1:1 Migration handeln sollte, der alte Server außer Betrieb geht, dann könntest Du doch - wenn der alte Server vom Netz oder min. umbenannt ist - dem neuen Server den Namen des alten Servers geben und fertig aus. Oder - wenn Du das nicht willst - Du legst im DNS einen Alias mit dem alten Servernamen an, der dann auf den neuen verweist.
Oder muss der FS 7x24 h online sein?

Oder: Ich nehme doch an, dass die Namen der Profilpfade von %username% abgeleitet sind. Wenn dem so ist und wir von nur eine Domäne reden, dann sind die Pfade analog zu den Usernamen eindeutig benannt. Dann könntest Du alle Profilordner in den Profil-Stamm des zweiten Servers kopieren und dann per Massenänderung den TS-Profilpfad bei allen Benutzern setzen. Mit VBscript oder Powershell. Da solltest Du genügend Beispiele im Web finden.

Oder hier ein Bsp. für VBS
(die ????? entsprechend ersetzen)

on error resume next
Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")  
objConnection.Provider = "ADsDSOObject"  
objConnection.Properties("ADSI Flag") = 1  
objConnection.Open "Active Directory Provider"  
 
Set objCommand = CreateObject("ADODB.Command")  
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000  
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE   

objCommand.CommandText = "SELECT distinguishedName,samAccountName FROM 'LDAP://dc=?????,dc=?????' WHERE objectClass='user'"  
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
while not objRecordSet.EOF
  DN = ""  
  DN = objRecordSet.Fields("distinguishedName").Value  
  SAM = ""  
  SAM = objRecordSet.Fields("samAccountName").Value  
  
  if DN <> "" and SAM <> "" and right(SAM,1) <> "$" then  
    Set objUser = GetObject("LDAP://" & DN)  
    objUser.TerminalServicesProfilePath = "\\???????\???????\" & SAM  
    objUser.SetInfo
  end if
  objRecordSet.MoveNext
wend

objConnection.Close

msgbox "Habe fertig!"  


E.
Belloci
Belloci 30.05.2014 um 07:01:39 Uhr
Goto Top
Hallo Emeriks,

vielen Dank für die Antwort.

Der Server muss zwar nicht 24x7 online sein, jedoch möchte ich den alten Namen nicht verwenden weil dieser sehr unglücklich ausgesucht worden war. Mit dem Alias ist eine super Idee aber um das wirklich korrekt (auch im AD) umzusetzen werde ich dein Skript mal testen.

Vielen Dank für die Mühe,
Belloci
Belloci
Belloci 30.05.2014 um 07:16:02 Uhr
Goto Top
Hallo Emeriks,

gerade schon die Möglichkeit gehabt, dein Skript in meiner Testumgebung zu testen!

Funktioniert klasse, danke!

Gruß
B