No fue simple, me diran usa active directory, pero en este caso no hay.
y tengo varios usuarios y muchas claves, claves que desconosco. complejo, pero se puede.
tratere de explicarlo lo que mas pueda.
son 3 Etapas :
1 .- Bajar un programa que se llama "Copypwd", desde http://www.systemtools.com/free.htm
cuando esta abajo ejecutarlo de esta manera entrar a una venta de D.O.S. y el el mismo directorio donde estan los archivos de Copypwd ejecutar ta cual como aparece:
CopyPwd DUMP >copypwd.txt
es importate el copypwd.txt por que sera el que pasaremos y que contendra todos los hash de las contraseñas de los users (no le cambien el nombre).
2 .- Necesito generar un listado de todos los usuarios, ya que arriba lo que obtuvimos fueron las contraseñas solamente, esto lo hacemos con vbscript
usamos el siguinete script user.vbs
--------------------------------------------------------------
Sub ListUsers( strDomain )
Set objComputer = GetObject("WinNT://" & strDomain )
objComputer.Filter = Array( "User" )
For Each objUser In objComputer
WScript.Echo "net user /add /expires:never /passwordchg:no " & objUser.Name& " " & "abcd1234"
Next
End Sub
Dim strDomain
ListUsers( "localhost" )
--------------------------------------------------------------
Nota: donde dice: ListUsers("localhost"), seguro no les va a funcionar el secreto esta en cambiarlo por la ip del server en que estan ejecutando el comando.
de esta manera ahora ejecutan el script en una ventana de D.O.S;
cscript /nologo user.vbs >listado.txt
ya tenemos un listado de todos los usuarios pero con una password por default que en este caso es "abcd1234"
3 .- Esta parte es la mas simple, copiar todos los archivos y los generados en especial "copypwd.txt" y "listado.txt" al nuevo server .
como se procede esto:
cambiamos la extension de listado.txt a listado.bat
OJO ..saquen los usuarios que no deben pasarse ejemplo administrador o algo asi...
ejecutamos el bat y nos creara todos los usuarios con password por defecto y con algunas condiciones de configuracion.
despues de esto hay que restaurar los usuarios con sus password
como hacemos esto de la siguiente forma
CopyPwd SET
Nota: Esto no se puede hacer a traves de escritorio remoto ya que aunque estes con la cuenta de administrador, no consigues privilegios a nivel de maquina asi que debes hacerlo a sobre el equipo, esto lo sabes cuando salga el mensaje "CreateRemoteThread failed: 8"
ojo ... esto tomara el archivo copypwd.txt que trajimos como parametro de creacion...
despues de un listado de usuarios se crearan ...
y listo ...
usuarios migrados...
ALERTA de premio ... esto tiene un pequeño detalle
los usuarios al crearse aveces no desabilitan que la password expire ...problema ... pero eso tiene solucion
veanlo en mi Arreglar usuarios de expire password
****************************************************************************
este script soluciona el problema pero necesitas solo un listado de los usuarios
On Error Resume Next
'para asignar el valor de desactivado
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
'listado de usuarios a los que le aplicate la correcion
fspec="listado.txt"
'el server
strDomainOrWorkgroup = "WORKGROUP"
strComputer = "thor"
set fso=createobject("scripting.filesystemobject")
set ots=fso.opentextfile(fspec)
Do while not ots.atendofstream
'lee el usuario
strUser=ots.readline
'lo cargo para poder modificarlo
Set objUser = GetObject("WinNT://" & strDomainOrWorkgroup & "/" & strComputer & "/" & strUser & ",User")
objUserFlags = objUser.Get("UserFlags")
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo
objGroup.Add(objUser.ADsPath)
WScript.Echo "Procesando :" & strUser
Loop
ots.close
set ots=nothing
set fso=nothing
y tengo varios usuarios y muchas claves, claves que desconosco. complejo, pero se puede.
tratere de explicarlo lo que mas pueda.
son 3 Etapas :
1 .- Bajar un programa que se llama "Copypwd", desde http://www.systemtools.com/free.htm
cuando esta abajo ejecutarlo de esta manera entrar a una venta de D.O.S. y el el mismo directorio donde estan los archivos de Copypwd ejecutar ta cual como aparece:
CopyPwd DUMP >copypwd.txt
es importate el copypwd.txt por que sera el que pasaremos y que contendra todos los hash de las contraseñas de los users (no le cambien el nombre).
2 .- Necesito generar un listado de todos los usuarios, ya que arriba lo que obtuvimos fueron las contraseñas solamente, esto lo hacemos con vbscript
usamos el siguinete script user.vbs
--------------------------------------------------------------
Sub ListUsers( strDomain )
Set objComputer = GetObject("WinNT://" & strDomain )
objComputer.Filter = Array( "User" )
For Each objUser In objComputer
WScript.Echo "net user /add /expires:never /passwordchg:no " & objUser.Name& " " & "abcd1234"
Next
End Sub
Dim strDomain
ListUsers( "localhost" )
--------------------------------------------------------------
Nota: donde dice: ListUsers("localhost"), seguro no les va a funcionar el secreto esta en cambiarlo por la ip del server en que estan ejecutando el comando.
de esta manera ahora ejecutan el script en una ventana de D.O.S;
cscript /nologo user.vbs >listado.txt
ya tenemos un listado de todos los usuarios pero con una password por default que en este caso es "abcd1234"
3 .- Esta parte es la mas simple, copiar todos los archivos y los generados en especial "copypwd.txt" y "listado.txt" al nuevo server .
como se procede esto:
cambiamos la extension de listado.txt a listado.bat
OJO ..saquen los usuarios que no deben pasarse ejemplo administrador o algo asi...
ejecutamos el bat y nos creara todos los usuarios con password por defecto y con algunas condiciones de configuracion.
despues de esto hay que restaurar los usuarios con sus password
como hacemos esto de la siguiente forma
CopyPwd SET
Nota: Esto no se puede hacer a traves de escritorio remoto ya que aunque estes con la cuenta de administrador, no consigues privilegios a nivel de maquina asi que debes hacerlo a sobre el equipo, esto lo sabes cuando salga el mensaje "CreateRemoteThread failed: 8"
ojo ... esto tomara el archivo copypwd.txt que trajimos como parametro de creacion...
despues de un listado de usuarios se crearan ...
y listo ...
usuarios migrados...
ALERTA de premio ... esto tiene un pequeño detalle
los usuarios al crearse aveces no desabilitan que la password expire ...problema ... pero eso tiene solucion
veanlo en mi Arreglar usuarios de expire password
****************************************************************************
este script soluciona el problema pero necesitas solo un listado de los usuarios
On Error Resume Next
'para asignar el valor de desactivado
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
'listado de usuarios a los que le aplicate la correcion
fspec="listado.txt"
'el server
strDomainOrWorkgroup = "WORKGROUP"
strComputer = "thor"
set fso=createobject("scripting.filesystemobject")
set ots=fso.opentextfile(fspec)
Do while not ots.atendofstream
'lee el usuario
strUser=ots.readline
'lo cargo para poder modificarlo
Set objUser = GetObject("WinNT://" & strDomainOrWorkgroup & "/" & strComputer & "/" & strUser & ",User")
objUserFlags = objUser.Get("UserFlags")
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo
objGroup.Add(objUser.ADsPath)
WScript.Echo "Procesando :" & strUser
Loop
ots.close
set ots=nothing
set fso=nothing
No hay comentarios:
Publicar un comentario