OVH Cloud OVH Cloud

Base SAM de win2kserver vers XP pro

3 réponses
Avatar
octane
Bonjour,

j'ai un win2000 server avec plusieurs utilisateurs. Ce serveur est seul
sur son reseau (pas de stations clientes).

Je veux migrer ce serveur vers un XP pro.

Est-ce possible de recuperer la base des utilisateurs et leur droits ?
(+100 comptes)

Si je reinstalle par dessus, cela posera probleme?

Merci

3 réponses

Avatar
Jean-Claude BELLAMY
Dans le message :,
a pris la peine d'écrire ce qui suit :
Bonjour,

j'ai un win2000 server avec plusieurs utilisateurs. Ce serveur est
seul sur son reseau (pas de stations clientes).
Je veux migrer ce serveur vers un XP pro.
Est-ce possible de recuperer la base des utilisateurs et leur droits ?
(+100 comptes)
Si je reinstalle par dessus, cela posera probleme?



Tu ne peux pas faire de MAJ d'une version "serveur" vers une version
"station de travail" ...
(et inversement), et ce quelles que soient les n° de versions.

W2K PRO vers XP PRO : OUI
W2K SRV vers XP PRO : NON
W2K SRV vers W2K3 : OUI

http://www.bellamyjc.org/fr/windowsxp2003.html#upgrade



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
ou http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
octane
Tu ne peux pas faire de MAJ d'une version "serveur" vers une version
"station de travail" ...


Je sais, et c'est bien pour ca que je veux sauvegarder la base SAM.
L'idee:
1. je sauvegarde la base sam
2. format C:
3. installation XP pro
4. remise de la base SAM

mais quel outil peut prendre la base SAM d'un 2000server et la mettre
vers un XP pro?

Est-ce que les comptes seront recréés?

Les fichiers en sont pas vraiment importants dans ce cas, c'est juste
la
centaine de compte a refaire qui m'ennuie

Merci

Avatar
Jean-Claude BELLAMY
Dans le message :,
a pris la peine d'écrire ce qui suit :
Tu ne peux pas faire de MAJ d'une version "serveur" vers une version
"station de travail" ...


Je sais, et c'est bien pour ca que je veux sauvegarder la base SAM.
L'idee:
1. je sauvegarde la base sam
2. format C:
3. installation XP pro
4. remise de la base SAM


Ouh la !!!!
La ruche SAM n'est pas un simple fichier comme un autre !
Car elle contient, entre autre, les passwords chiffrés des comptes, or ce
chiffrement tient compte (entre autres) du SID qui a été attribué à Windows
lors de l'installation, donc il va y avoir une "salade" innommable entre le
SID de l'ancien Widnows (dans la SAM) et le SID du nouveau. Et changer le
SID de Windows n'est pas spécialement basique !

Les fichiers en sont pas vraiment importants dans ce cas, c'est juste
la centaine de compte a refaire qui m'ennuie


La solution est de passer par DEUX scripts VBS, :
- l'un qui vient (sur la machine d'origine) tout simplement
énumérer les groupes et comptes et écrit cela dans un
fichier texte (ou CSV)
- l'autre qui relit ce fichier texte (sur la machine cible)
et crée les groupes et comptes correspodnats (s'ils n'existent
pas déjà)

Je n'ai pas çà "tout fait" pour l'instant, mais ce n'est pas insurmontable.
Si toi-même tu as l'habitude de VBS, voici les grandes lignes :
(je viens d'écrire cela à l'instant)

Exportation des groupes et comptes :
(brut de fonderie ! Il faudra ajouter d'autres infos)
Fichier "accountexport.vbs"
------------ couper ici ------------
Set network = Wscript.CreateObject("WScript.Network")
computer=network.ComputerName ' nom de la machine locale
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set ts = fso.CreateTextFile("listecomptes.txt", True)
set SAM=GetObject("WinNT://" & computer & ",computer")
for each Item in SAM
Classe=Item.Class
If ((Classe = "User") or (Classe = "Group")) then
Line= Classe & ";" & Item.name & ";" & Item.Description
If (Classe = "User") Then
Line=Line & ";" & Item.FullName
Else
Set ListMembers = Item.members
for each member in ListMembers
Line=Line & ";" & member.Class & ";" & member.Name
next
End If
ts.WriteLine Line
End if
next
ts.Close
------------ couper ici ------------


Importation des groupes et comptes :
(brut de fonderie également. P.ex. je n'ai pas testé l'existence des
comptes)
Fichier "accountimport.vbs"
------------ couper ici ------------
Dim Items
Set network = Wscript.CreateObject("WScript.Network")
computer=network.ComputerName ' nom de la machine locale
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("listecomptes.txt")
set SAM=GetObject("WinNT://" & computer & ",computer")
while not ts.AtEndOfStream
line=ts.Readline
Items=Split(line,";")
Classe=Items(0)
name=Items(1)
Description=Items(2)
if Classe="User" Then
FullName=Items(3)
wscript.echo "user : " & Name & " ( " & FullName & ")"
' création du compte
' set oUser=oDomain.Create("user",Name)
' oUser.FullName=FullName
' oUser.DescriptionÞscription
' oUser.setPassword("xxxxxxxx") Pwd à définir
' oUser.setInfo
else
wscript.echo "group : " & Name
' set oGroup=GetObject("WinNT://" & computer & "/" & Name)
for i=3 to UBound(iTems) step 2
MemberClass=Items(i)
MemberName=Items(i+1)
wscript.echo " " & MemberClass & " : " & MemberName
' ....
' ici il faut obtenir l'objet user ou group de chaque membre
' puis l'ajouter à l'objet groupe en cours
' oGroup.add(oUSer.ADSpath)
' .... (à peaufiner)
next
end if
wend
ts.Close
------------ couper ici ------------
NB: j'ai ajouté des "wscript.echo" afin de montrer ce qui se passe. Cela
pourra être supprimé ensuite.



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
ou http://www.bellamyjc.org ou http://jc.bellamy.free.fr