Migrer des comptes Novell

'-----------------------------------------------------------------------  
' Copie des répertoires élèves de Novell vers serveur 2003  
' Afin de réaliser la migration de serveur  
' Les comptes novell sont réalisés avec cesure  
' Les comptes 2003 sont réalisés avec la moulinette de gagny  
' Il faut réattribuer les droits aux utilisateurs à la fin avec rstchldrn.bat  
' V 0.1 (02/05/06)  
' nicolas trugeon LPR Voillaume  
'------------------------------------------------------------------------    
Dim userNovell  
Dim nom6eleve  
Dim fs  
Dim repNovell  
Dim repClassesNovell  
Dim classeNovell  
Dim eleveNovell  
Dim Epure  
Dim repElevesNovell  
Dim repElevesAD  
Dim cheminNovell  
Dim cheminAD  
Dim eleveAD  
Dim regEx  
Dim premom  
Dim repAD  
Dim destAD  
Dim fichierlog  
Dim cheminlog    
cheminNovell = "n:\users2005\"  
cheminAD = "j:\"  
cheminlog = "c:\migAD\log.txt"    
set fs = CreateObject("Scripting.FileSystemObject")  
set repNovell = fs.GetFolder(cheminNovell)  
set repClassesNovell = repNovell.SubFolders  
set repAD=fs.GetFolder(cheminAD)  
if fs.FileExists(cheminlog) then  
set fichierlog = fs.OpenTextFile(cheminlog, 8)  else
set fichierlog = fs.CreateTextFile(cheminlog)  	
fichierlog.Close  	
set fichierlog = fs.OpenTextFile(cheminlog, 8)  
end if
for each classeNovell in repClassesNovell
Epure = Split(classeNovell.path, cheminNovell, -1, 1)
fichierlog.WriteLine("classe : " & Epure(1))
set repNovell= fs.GetFolder(classeNovell.path)
set repElevesNovell = repNovell.SubFolders
for each eleveNovell in repElevesNovell
trouve=0
Epure = Split(eleveNovell.path, classeNovell.path, -1, 1)
userNovell = right(Epure(1),len(Epure(1))-1)
nom6eleve = left(userNovell,len(userNovell)-1)
prenom = right(userNovell,1)
if prenom="2" then
prenom = right(userNovell,2)
prenom = left(prenom,1)
nom6eleve = left(nom6eleve,len(nom6eleve)-1)
end if
set repElevesAD=repAD.SubFolders
for each eleveAD in repElevesAD
Set regEx = New RegExp 
regEx.Pattern = nom6eleve & "[a-z_]*_" & prenom
regEx.IgnoreCase = True 'Ne pas distinguer les minuscules des majuscules
regEx.Global = False 'Renvoyer seulement la première occurrence
set occurrences = regEx.Execute(eleveAD)
if (occurrences.Count = 1) then
destAD=eleveAD
trouve=trouve+1
exit for 'On sort dès que l'on en a trouvé 1 car sinon trop long...
end if  	
Next
if trouve>1 then 			'Non opérationnel suite au commentaire ci-dessus...  
fichierlog.WriteLine("on met de coté" & userNovell & " dans la classe " & classeNovell)
elseif
trouve=1 then
fs.CopyFolder eleveNovell , destAD , True
fichierlog.WriteLine("on copie " & eleveNovell & " dans " & destAD)
else   		
fichierlog.WriteLine("le répertoire " & userNovell & " n est pas trouve")
end if	    
next 
next 
fichierlog.Close