Cómo quitar varias cuentas de usuario caducadas de Windows

Id. de artículo: 251334 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Windows NT 4.0 Server y el Kit de recursos de Windows NT 4.0 no proporcionan una manera de quitar cuentas caducadas en dominios de Windows NT automáticamente. Puede utilizar el Windows Scripting Host (WSH), Visual Basic Script (VBScript) y Active Directory Services Interface ADSI) para automatizar este proceso.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

Más información

Puede ejecutar la secuencia de comandos siguiente desde cualquier equipo que ha iniciado sesión en un dominio con privilegios administrativos.

Requisitos previos

Los siguientes elementos son necesarios para utilizar la secuencia de comandos de este artículo:
  • Si utiliza Microsoft Windows 95, es necesario utilizar Microsoft Internet Explorer 4.0 o posterior con WSH y ADSI instalado.
  • Si utiliza Microsoft Windows 98, es necesario instalar ADSI y se recomienda que instalar la versión más reciente de WSH.
  • Si utiliza Windows NT, es necesarios para instalar Windows NT 4.0 Service Pack 3 o posterior, Internet Explorer 4.0 o posterior y ADSI.

Secuencias de comandos de ejemplo DELEXPUSR.VBS

'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 
'\\ 
'\\  DATE 1-14-2000
'\\ 
'\\  DELEXPUSR.VBS
'\\ 
'\\  Script is used to delete all user accounts on a domain in which the 
'\\  AccountExpirationDate has passed. Without using the /delete command it will only 
'\\  List the accounts that need to be deleted.
'\\ 
'\\  CSCRIPT DELEXPUSR.VBS domain /delete
'\\ 
'\\  domain  = Target Domain
'\\ 
'\\  /delete =  Delete will actually delete the user account from the same
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 


dim objarg 
dim tDomain

set objarg = wscript.arguments

If objarg.count = 0 then
	Wscript.Echo "Domain Parameter Missing" 
	Wscript.quit
end if

'Command line args 
ptr = 0
testflag = true
Do until ptr  = objarg.count 	
select case ucase(objarg(ptr))
case "/DELETE"
	testflag = False 
end select
	ptr = ptr +1
Loop

tdomain = objarg(0)

set oDom = GetObject("WinNT://" & tdomain & ",domain")
oDom.filter = Array("User")

On Error Resume Next

'Look through each user record if account is expired delete the account
For each oUser in Odom 	
	tAccountexp = oUser.AccountExpirationDate	
	if err <> 0 then
		tAccountexp = 1
	else
		tAccountexp = oUser.AccountExpirationDate
	end if
	err.clear

	'compare the result to today;  if result is negative then tAccountexp is later than
	'today.
	if tAccountexp = 1 then
		result = 1
	else
		result = DateDiff("d",now,tAccountexp)
	end if 
	if result < 0 then 
		if ouser.name <> "Administrator" or ouser.name <> "Admin" then
			' insert check here later for testing for membership to Domain Admins group
			if testflag then
				wscript.echo "User: " & ouser.name & ". Expiration: " & oUser.accountexpirationdate 
			else
				wscript.echo "Deleting User: " & ouser.name & ". Expiration: " & oUser.accountexpirationdate
				call oDom.delete("User",ouser.name) ' Delete the user the date is in the past
			end if 
		end if
	else 
		wscript.echo "User: " & oUser.name & " - Account Current"
	end if
next
				
Esta secuencia de comandos está diseñado para utilizarse en un dominio de Windows NT 4.0. No está diseñado o previsto para utilizarse en un dominio de Microsoft Windows 2000.

Referencias

Para obtener más información acerca de la interfaz de servicios de Active Directory (ADSI) y dónde descargarlo, haga clic en el vínculo siguiente:
http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/activedirectory/default.mspx
Para obtener más información acerca de Windows Scripting Host (WSH) y lenguajes de secuencias de comandos, haga clic en el vínculo siguiente:
http://msdn2.microsoft.com/en-us/library/ms950396.aspx
Para descargar Internet Explorer, haga clic en el vínculo siguiente:
http://www.microsoft.com/ie
Service Pack de NT:
http://www.microsoft.com/technet/archive/downloads/winnt.mspx

Propiedades

Id. de artículo: 251334 - Última revisión: miércoles, 08 de agosto de 2007 - Versión: 3.6
La información de este artículo se refiere a:
  • Microsoft Windows NT 4.0 Service Pack 3
  • Microsoft Windows NT 4.0 Service Pack 4
  • Service Pack 5 de Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT 4.0 Service Pack 6
  • Service Pack 6.a de Microsoft Windows NT 4.0
  • Microsoft Windows NT 4.0 Service Pack 4
  • Service Pack 5 de Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT 4.0 Service Pack 6
  • Service Pack 6.a de Microsoft Windows NT 4.0
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows 95
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 98 Second Edition
Palabras clave: 
kbmt kbenv kbhowto kbqfe KB251334 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 251334

Enviar comentarios