Cómo detectar y quitar cuentas de equipo inactivo

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

Resumen

Este procedimiento utiliza archivos por lotes y utilidades del kit de recursos para crear una lista de cuentas de equipo ordenados por la última vez que la contraseña de la cuenta de equipo se actualizó. La lista, a continuación, debe examinarse por un administrador para quitar todas cuentas de equipo que se consideran activas, dejando sólo las cuentas de equipo antiguo en la lista restante. La lista restante a continuación, se lee un archivo de proceso por lotes elimina sistemáticamente las cuentas de equipo antiguo mediante utilidades del kit de recursos de Windows.

  1. Crear los siguientes archivos de proceso por lotes desde sus listados a continuación: Oldms.bat, Oldms2.bat, Oldms3.bat, Oldms4.bat, Deloldms.bat y Bat2.bat.
  2. Ejecute el archivo Oldms.bat desde un símbolo del sistema mientras está conectado como administrador. Utilice la sintaxis siguiente:

    NombreDeDominio OLDMS.BAT
  3. Ábralo output.txt mediante un editor de texto y REMOVE todas las líneas que contienen las cuentas de equipo que son VALID. Las líneas restantes en output.txt deben contener sólo cuentas de equipo que se eliminarán.
  4. Ejecute el archivo Deloldms.bat. Este archivo se lea el archivo Output.txt y eliminar cada cuenta de equipo mediante una llamada a la utilidad de kit de recursos de Netdom.exe.
Contenido de Oldms.bat:
   @echo off
   if "%1"=="" goto nodomain
   set dom=%1
   set deloldms=
   netdom /d:%1 bdc | find "Found PDC" > temp4.txt
   for /f "tokens=3" %%a in (temp4.txt) do set pdc=%%a
    if exist ms2.txt del ms2.txt
    if exist output.txt del output.txt
    if exist out2.txt del out2.txt
    if exist temp4.txt del temp4.txt
   echo.
   echo Generating Server List of Member Servers and Workstations
   echo.
   echo Please Wait...
   netdom /d:%1 /noverbose member > MS.TXT
   for /F "delims=\\ tokens=1" %%a in (ms.txt) do echo %%a >> MS2.TXT
   cls
   echo.
   echo Generating List of Member Servers and Workstations - Done
   echo.
   echo List Generated.  Checking Password Ages.
   echo.
   echo Please Wait...
   for /F "tokens=1" %%a in (ms2.txt) do call oldms2.bat %%a %dom% %pdc%
   sort < output.txt > out2.txt
   del output.txt
   echo Machine account ages for domain: %dom% >> output.txt
   echo ------------------------------------------------ >> output.txt
   type out2.txt >> output.txt
    if exist ms.txt del ms.txt
    if exist out2.txt del out2.txt
    if exist temp3.txt del temp3.txt
    if exist ms2.txt del ms2.txt
    if exist temp.txt del temp.txt
    if exist temp4.txt del temp4.txt
    if exist total.txt del total.txt
    if exist working.txt del working.txt

    REM *** IMPORTANT Make the next 2 lines 1 line.  Wrapped for readability ***

   FOR /F "SKIP=2 tokens=1,2,3" %%A IN (OUTPUT.TXT) DO echo %%A %%B
   %%C>>working.txt
   type working.txt|find " " /c>total.txt
   for /f "tokens=1" %%A in (total.txt) do set deloldms=%%A
   echo.
   Echo List Complete
   echo.
   Echo %deloldms% machine accounts found.
   echo.
   echo Now edit OUTPUT.TXT and remove all valid machine accounts.
   echo Machine accounts remaining in OUTPUT.TXT will be deleted.
   echo After OUTPUT.TXT has been modified, run DELOLDMS.BAT to
   echo delete machine accounts.
   echo.
   if exist total.txt del total.txt
   if exist working.txt del working.txt
   goto end
   :nodomain
   echo Specify the target domain on the command line
   echo EXAMPLE: oldms MyDomainName
   :end
				

Contenido de Oldms2.bat:
   rem %1 = member server
   rem %2 = domain
   rem %3 = pdc
   nltest /server:%3 /user:%1$ | find "PasswordLastSet" > temp.txt
   for /F "delims== tokens=2" %%a in (temp.txt) do oldms3.bat %%a %1
				

Contenido de Oldms3.bat:
   rem %1 = date
   rem %2 = time
   rem %3 = member server
   echo %1 > temp3.txt

   REM *** IMPORTANT Make the next 2 lines 1 line.  Wrapped for readability ***

   for /F "delims=/ tokens=1,2,3" %%a in (temp3.txt) do oldms4.bat %%a %%b
   %%c %2 %3
				

Contenido de Oldms4.bat
   rem %1 = month
   rem %2 = day
   rem %3 = year
   rem %4 = time
   rem %5 = member server
   echo %3/%1/%2 %4 %5 >> output.txt
				

Contenido de Deloldms.bat
   @echo off
   set dom=
   set deloldms=
   if exist total.txt del total.txt
   if exist working.txt del working.txt

   REM *** IMPORTANT Make the next 2 lines 1 line.  Wrapped for readability ***

   FOR /F "SKIP=2 tokens=1,2,3" %%A IN (OUTPUT.TXT) DO echo %%A %%B
   %%C>>working.txt
   type working.txt|find " " /c>total.txt
   for /f "tokens=1" %%A in (total.txt) do set deloldms=%%A
   cls
   echo.
   Echo NOTICE: %deloldms% machine accounts found in OUTPUT.TXT, ready for
   deletion
   Echo Press Ctrl + C to abort or..
   echo.
   pause
   FOR /f "tokens=6" %%a in (output.txt) do set dom=%%a
   if "%dom%"=="" goto nodomain
   FOR /F "SKIP=2 TOKENS=3" %%A IN (OUTPUT.TXT) DO CALL BAT2 %%A
   if exist total.txt del total.txt
   if exist working.txt del working.txt
   goto end
   :nodomain
   Echo Domain Name Missing from OUTPUT.TXT
   Echo Re-run OLDMS.BAT
   :end
				

Contenido de Bat2.bat:
   NETDOM /d:%dom% MEMBER %1 /DELETE
				

Más información

Como parte de seguridad de Windows NT, las contraseñas de cuenta de equipo se cambian cada siete días. El proceso descrito en este artículo se basa en la edad de la contraseña de cuenta de equipo para determinar la validez. Es posible para que un administrador deshabilitar los cambios de contraseña de cuentas de equipo automático. Este proceso puede realizarse en una base de todo el dominio o por el sistema. Si este proceso se ha hecho, el administrador no puede confiar en la vigencia para determinar la validez de la cuenta. Tendrá que cruzar la referencia con las cuentas internamente documentado de equipo válido al editar output.txt. Si esta información no está disponible, no debe utilizarse esta técnica.

Nota : 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.

Referencias

Para obtener información adicional, consulte los siguientes artículos de Microsoft Knowledge Base:

154501Cómo deshabilitar los cambios de contraseña de cuenta de equipo automáticas

158148Dominio Secure Channel Utility--Nltest.exe

Propiedades

Id. de artículo: 197478 - Última revisión: martes, 27 de febrero de 2007 - Versión: 3.4
La información de este artículo se refiere a:
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
Palabras clave: 
kbmt kbhowto KB197478 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): 197478

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com