Comment détecter et supprimer des comptes d'ordinateur inactif

Traductions disponibles Traductions disponibles
Numéro d'article: 197478 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Résumé

Cette procédure utilise des fichiers de commandes et utilitaires du kit de ressources pour créer une liste de comptes d'ordinateur triés en fonction de la dernière mise à jour de mot de passe du compte ordinateur. La liste, doit être examiné par un administrateur de supprimer tous les comptes d'ordinateurs qui sont considérées comme actives, en laissant les anciens comptes machine dans le reste de la liste. Le reste de la liste est ensuite lu par un fichier de commandes systématiquement supprime les anciens comptes d'ordinateur à l'aide des utilitaires de kit de ressources Windows NT.

  1. Créer les fichiers de traitement par lots suivants à partir de leurs annonces ci-dessous : Oldms.bat Oldms2.bat, Oldms3.bat, Oldms4.bat, Deloldms.bat et Bat2.bat.
  2. Exécutez le fichier Oldms.bat à partir d'une invite de commande lorsque vous êtes connecté en tant qu'administrateur. Utilisez la syntaxe suivante :

    Nom_domaine OLDMS.BAT
  3. Ouvrez le fichier Output.txt à l'aide d'un éditeur de texte et REMOVE toutes les lignes qui contiennent des comptes d'ordinateurs qui sont VALID. Les lignes restantes dans output.txt doivent contenir uniquement les comptes d'ordinateurs qui seront supprimés.
  4. Exécutez le fichier Deloldms.bat. Ce fichier lit le fichier Output.txt et supprimer chaque compte d'ordinateur en appelant l'utilitaire Netdom.exe du kit de ressources.
Contenu du 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
				

Contenu du 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
				

Contenu du 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
				

Contenu 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
				

Contenu 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
				

Contenu du Bat2.bat :
   NETDOM /d:%dom% MEMBER %1 /DELETE
				

Plus d'informations

Dans le cadre de la sécurité de Windows NT, mots de passe de comptes d'ordinateur sont changés tous les sept jours. Le processus décrit dans cet article repose sur l'âge du mot de passe du compte d'ordinateur pour déterminer la validité. Il est possible pour un administrateur de désactiver les modifications de mot de passe du compte ordinateur automatique. Ce processus est possible de manière à l'échelle du domaine ou par système. Si ce processus a été effectué, l'administrateur ne peut pas compter sur la durée de vie du mot de passe pour déterminer la validité du compte. Vous devez traverser référence avec vos comptes d'ordinateur valide documentées en interne lors de l'édition Output.txt. Si cette information n'est pas disponible, cette technique ne doit pas servir.

Remarque : Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite. Cela inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous aider à comprendre la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.

Références

Pour plus d'informations, consultez l'article suivant dans la base de connaissances Microsoft :

154501Comment faire pour désactiver les modifications automatiques des mots de passe de compte d'ordinateur

158148Utilitaire de canal sécurisé de domaine--Nltest.exe

Propriétés

Numéro d'article: 197478 - Dernière mise à jour: mardi 27 février 2007 - Version: 3.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • 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 Professionnel
  • Microsoft Windows 2000 Server
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
Mots-clés : 
kbmt kbhowto KB197478 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 197478
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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