Automatisation des mises à jour pour les groupes locaux sur les serveurs membres

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: 180546
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Résumé
Fichiers de commandes peuvent servir à ajouter à distance des comptes d'utilisateurs aux groupes locaux sur tous les ordinateurs exécutant Windows NT ou Windows 2000 dans un environnement de domaine.
Plus d'informations
Cet article montre comment créer un système de fichiers par lots va ajouter un utilisateur à tous les groupes d'administrateurs locaux situés sur chaque ordinateur exécutant Windows NT ou Windows 2000 dans un environnement de domaine.

Le système de fichiers par lots utilise Netdom.exe à partir du Kit de ressources Windows NT 4.0 pour créer une liste d'ordinateurs exécutant Windows NT qui fonctionnent en tant que serveurs membres ou les stations de travail dans un domaine. Après avoir créé la liste, chaque ordinateur dans la liste est répond aux requêtes ping pour déterminer si l'ordinateur est actuellement en ligne. Si l'ordinateur est en ligne, AddUsers.exe sera appelée pour placer un nouvel utilisateur dans le groupe d'administrateurs local. Si un ordinateur était en ligne, son nom sera placé dans un fichier temporaire. Une fois que tous les ordinateurs ont été traitées, le fichier temporaire est comparé à la liste des ordinateurs à partir du domaine, pour créer une nouvelle liste d'ordinateurs qui n'ont pas encore été mises à jour. Ce système de fichiers par lots peut être exécuté plusieurs fois pour cible uniquement les ordinateurs fixes doivent être traités. Copiez les Netdom.exe, ADDUSERS.EXE et REG.EXE, à partir du Kit de ressources Windows NT 4.0, dans le dossier dans lequel les scripts sont.

Pour créer ces fichiers de commandes, effectuez les opérations suivantes :

  1. Créer les fichiers de commandes suivantes à partir de la liste ci-dessous :
    INSUSER.BAT, SUB1.BAT, SUB2.BAT, SUB3.BAT, SUB4.BAT,
    SUB5.BAT et ADDUSERS.DAT.
  2. Modifiez la première ligne de INSUSER.BAT pour refléter le nom de domaine où se trouvent les ordinateurs cibles.
  3. Remplacez le <domain\user> dans la deuxième ligne dans Addusers.dat pour refléter le nom de l'utilisateur à ajouter chaque groupe d'administrateurs local. Assurez-vous qu'il y a une ligne vierge en haut du fichier Addusers.dat.
  4. Ouvrez une session sur le réseau en tant qu'administrateur de domaine pour le domaine que vous souhaitez modifier. Assurez-vous que le Kit de ressources Windows NT 4.0 a été installé et est accessible via le chemin d'accès système. Le système utilise Netdom.exe et Addusers.exe du kit de ressources.
  5. Exécutez le INSUSER.BAT. Ce fichier de commandes peut prendre plusieurs heures pour terminer.
  6. Examinez le contenu de Complete.txt et Working.txt. Complete.txt fichier contient les noms des ordinateurs qui ont été mis à jour, le fichier Working.txt contient les noms des ordinateurs que n'avez pas encore de traitement.
Répétez les étapes 5 & 6 autant de fois que nécessaire.

Si vous devez recommencer l'intégralité du processus à partir de zéro, supprimez tous les fichiers .txt, puis démarrer à l'étape 1.

Nom de fichier : INSUSER.BAT
set CurrentDomain=mydomainecho offclsif (%CurrentDomain%) == (mydomain) echo Edit the first line ofINSUSER.BAT.if (%CurrentDomain%) == (mydomain) echo then rerun INSUSER.BATif (%CurrentDomain%) == (mydomain) goto verybottomif not exist addusers.dat goto DisplayAddUsersrem *** Display current variable settings ***echo Current domain is %CurrentDomain%.echo.rem *** Determine if working list is present ***If exist working.txt echo Working list detected, resuming batch process.If exist working.txt goto SkipCreateListecho Creating a list of member servers in %CurrentDomain%.echo.netdom /d:%CurrentDomain% member > working.txtrem *** Remove NETDOM formatting from server names ***if exist temp.txt del temp.txtfor /F "skip=6 delims=\ tokens=2" %%a in (working.txt) do call sub1.bat%%adel working.txtren temp.txt working.txt:SkipCreateListrem *** Determine if machine is online ***if exist online.txt del online.txtfor /F "delims=\\ tokens=1" %%a in (working.txt) do call sub2.bat %%arem *** Remove servers that have been processed from WORKING.TXT ***if not exist online.txt goto NoServersOnlineecho.echo Updating list of servers that need to be processed.for /F "delims=  tokens=1" %%a in (online.txt) do call sub4.bat %%aecho List complete.goto Bottom:DisplayAddUsersEcho.Echo. You must modify the contents of ADDUSERS.DA, then rename theEcho. file to ADDUSERS.DAT.  Then re-run this batch file.goto verybottom:NoServersOnlineEcho.Echo There are no servers currently online that can be processed.:Bottomecho.echo ------------------------------------echo --- Finished processing servers. ---echo ------------------------------------:verybottom				

Nom de fichier : SUB1.BAT
rem *** Remove formatting from Netdom output ***echo %1 >> temp.txt				

Nom de fichier : SUB2.BAT
echo Pinging %1...ping %1 > PING.TXTfor /F "skip=6 tokens=4" %%a in (PING.TXT) do call sub3.bat %%a %1del PING.TXT				

Nom du fichier : SUB3.BAT
rem *** If server is online it will be logged in online.txt for ***rem *** processing later.                                       ***rem ***    %2 is a bogus variable, thrown away.if not (%1) == (bytes) goto NotOnlineecho %3 >> ONLINE.TXTecho [%3 is online.]rem ***********************************************rem *** Put per-server processing commands here ***rem ***********************************************rem *** The following section determines if *******rem *** Workstation or Server is running    *******rem ***********************************************REM Next Line wrapped by text editor for readability, it should all be on one linefor /F "delims=	 tokens=3" %%i IN ('reg query hklm\system\currentcontrolset\control\ProductOptions\ProductType \\%3') DO set product_type=%%iREM End single lineif "%product_type%"=="" goto Undeterminedif "%product_type%"=="WinNT" goto Workstationif "%product_type%"=="ServerNT" goto Serverif "%product_type%"=="LanmanNT" goto DomainController:Undeterminedecho Unable to determine Windows NT Product Type, check the followingecho registry key for product typeecho.echo hklm\system\currentcontrolset\control\ProductOptions\ProductTypeecho.echo Expected valuesecho.echo ProductType   Productecho ----------------------------------------------------echo WinNT         Windows NT Workstation is runningecho ServerNT      Windows NT Server is runningecho LanmanNT      Windows NT Domain controllerecho.echo %3 >>undetermined.txtgoto Sub3bot:DomainControllerecho %3 >>dc.txtgoto sub3bot:Serverecho %3 is a Server, skipping...echo %3 >>server.txtgoto adduser:Workstationecho %3 is a Workstation, processing %3echo %3 >> wks.txtgoto adduser:adduserECHO Adding new user to local administrators group on %3.ECHO *** \\%3 *** >> local.logrem Add a user to each member servers local administrators groupADDUSERS \\%3 /C addusers.dat > nulrem *****************************************************rem net send %3 "it worked"rem *** Put per-server processing commands above here ***rem *****************************************************goto Sub3Bot:NotOnline:Sub3Bot				
Filename : SUB4.BAT
rem *** loop thru each name in working.txt and remove servers that were***rem *** in online.txt.***echo Removing %1 from list.if exist temp.txt del temp.txtfor /F "tokens=1" %%a in (working.txt) do call sub5.bat %%a %%1del working.txtif exist temp.txt ren temp.txt working.txt				

Nom de fichier : SUB5.BAT
rem *** Filter out servers that have been updated ***rem %1 is name from working.txtrem %2 is name from online.txtif (%1) == (%2) echo %1 >> complete.txtif not (%1) == (%2) echo %1 >> temp.txt				

Nom de fichier : ADDUSERS.DAT
[Local]Administrators,Members can fully administer the computer,<domain\user>,				

En outre, vous pouvez configurer ces fichiers batch pour exécuter la commande unique sur les stations de travail ou serveurs uniquement, voir Spécification des serveurs ou stations de travail.

Spécification de serveurs ou stations de travail

En remplaçant le SUB3.BAT par le fichier de commandes suivant, REG.EXE à partir de la reskit est utilisé pour vérifier le type de produit dans le Registre (serveur, station de travail ou le contrôleur de domaine). En modifiant la commande goto dans la : serveur et : sections de la station de travail, vous pouvez contrôler si la commande est exécutée sur serveur ou des stations de travail comme suit :

GOTO Sub3bot - ce type de produit sera ignoré. GOTO AddUser - commandes dans : section addusers vont être traitée contre ce type de produit.

Actuellement, station de travail uniquement est sélectionnée. Le contenu de complete.txt peut être ignoré à l'aide de cette modification sub3.bat. Vérifiez LOCAL.LOG pour déterminer quels ordinateurs ont été mis à jour. Voici une description des fichiers journaux peuvent être générées.

LOCAL.LOG - machines qui ont été mis à jour.

WKS.TXT - machines qui ont été identifiés comme des stations de travail.

SERVER.TXT - Machines identifiés comme SERVERS.

UNDETERMINED.TXT - machines qui sont identifiées dans le Gestionnaire de serveur comme un serveur ou une station de travail mais qui n'ont pas le type de produit défini dans le Registre. Ou le Registre n'a pas pu être lue à distance.

DC.TXT - machines sont identifiées dans le Gestionnaire de serveur comme un serveur ou station de travail mais le produit type défini dans le Registre indique il s'agit d'un contrôleur de domaine. Impossible de traiter ces système.

TRAVAIL - contient une liste d'ordinateurs qui sont répertoriés dans le Gestionnaire de serveur mais n'a répondu à la commande PING. Cette liste est utilisée lors de l'exécution de fichiers de commandes une fois deuxième ou troisième.

Nom de fichier SUB3.BAT
rem *** If server is online it will be logged in online.txt for ***rem *** processing later.                                       ***rem ***    %2 is a bogus variable, thrown away.if not (%1) == (bytes) goto NotOnlineecho %3 >> ONLINE.TXTecho [%3 is online.]rem ***********************************************rem *** Put per-server processing commands here ***rem ***********************************************rem *** The following section determines if *******rem *** Workstation or Server is running    *******rem ***********************************************REM Next Line wrapped by text editor for readability, it should all be onone linefor /F "tokens=3" %%i IN ('reg queryhklm\system\currentcontrolset\control\ProductOptions\ProductType \\%3') DOset product_type=%%iREM End single lineif "%product_type%"=="" goto Undeterminedif "%product_type%"=="WinNT" goto Workstationif "%product_type%"=="ServerNT" goto Serverif "%product_type%"=="LanmanNT" goto DomainController:Undeterminedecho Unable to determine Windows NT Product Type, check the followingecho registry key for product typeecho.echo hklm\system\currentcontrolset\control\ProductOptions\ProductTypeecho.echo Expected valuesecho.echo ProductType   Productecho ----------------------------------------------------echo WinNT         Windows NT Workstation is runningecho ServerNT      Windows NT Server is runningecho LanmanNT      Windows NT Domain controllerecho.echo %3 >>undetermined.txtgoto Sub3bot:DomainControllerecho %3 >>dc.txtgoto sub3bot				

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 180546 - Dernière mise à jour : 02/22/2014 09:26:29 - Révision : 2.2

Microsoft Windows 2000 Server, Microsoft Windows 2000 Professionnel, Microsoft Windows NT Workstation 3.5, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Workstation 4.0 Édition Développeur, Microsoft Windows NT Server 3.5, Microsoft Windows NT Server 3.51, Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Windows 2000 Advanced Server

  • kbnosurvey kbarchive kbmt kbinfo KB180546 KbMtfr
Commentaires