Automatizar las actualizaciones para los grupos locales en servidores miembro

Seleccione idioma Seleccione idioma
Id. de artículo: 180546 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Resumen

Archivos por lotes pueden utilizarse para agregar remotamente cuentas de usuario a grupos locales en todos los equipos ejecuta Windows NT o Windows 2000 en un entorno de dominio.

Más información

En este artículo se muestra cómo crear un sistema de archivos por lotes que se agregará un usuario para todos los grupos de administradores locales se encuentra en cada equipo ejecuta Windows NT o Windows 2000 en un entorno de dominio.

El sistema de archivos por lotes utiliza Netdom.exe del Kit de recursos de Windows NT 4.0 para crear una lista de equipos que ejecutan Windows NT que funcionan como servidores miembro o estaciones de trabajo en un dominio. Una vez creada la lista, cada equipo de la lista es hacer ping para determinar si el equipo está conectado actualmente. Si el equipo está conectado, se llamará Addusers.exe para colocar un nuevo usuario en el grupo de administradores locales del equipo. Si un equipo estaba en línea, su nombre se colocará en un archivo temporal. Cuando se hayan procesado todos los equipos, el archivo temporal se comparará la lista de equipos del dominio, para crear una nueva lista de equipos que no se han actualizado todavía. Este sistema de archivos por lotes se puede ejecutar varias veces al destino sólo los equipos que todavía necesitan procesarse. Copiar Netdom.exe, ADDUSERS.EXE y REG.EXE del Kit de recursos de Windows NT 4.0 a la carpeta donde están las secuencias de comandos.

Para crear estos archivos por lotes, siga los pasos siguientes:

  1. Crear los archivos por lotes siguiente de la lista siguiente:
    INSUSER.BAT, SUB1.BAT, SUB2.BAT, SUB3.BAT, SUB4.BAT,
    SUB5.BAT y ADDUSERS.DAT.
  2. Editar la primera línea de INSUSER.bat para reflejar el nombre del dominio donde se encuentran los equipos de destino.
  3. Cambie el <dominio\usuario> en la segunda línea en Addusers.dat para reflejar el nombre del usuario que desea agregar a grupo local Administradores de cada equipo. Asegúrese de que hay una línea en blanco principio del archivo Addusers.dat.
  4. Inicie sesión en la red con credenciales de administrador de dominio para el dominio que desea modificar. Asegúrese de que se ha instalado el Kit de recursos de Windows NT 4.0 y es accesible a través de la ruta de acceso del sistema. Este sistema usa Netdom.exe y Addusers.exe del kit de recursos.
  5. Ejecute el INSUSER.bat. Este archivo por lotes puede tardar muchas horas en completarse.
  6. Examine el contenido de Complete.txt y Working.txt. Complete.txt archivo contiene los nombres de los equipos que se han actualizado, el archivo Working.txt contiene los nombres de los equipos que todavía necesitan procesamiento.
Repita los pasos 5 y 6 como sea necesario.

Si necesita empezar todo el proceso desde cero, elimine todos los archivos .txt, luego iniciar en el paso 1.

Nombre de archivo: INSUSER.bat
set CurrentDomain=mydomain
echo off
cls
if (%CurrentDomain%) == (mydomain) echo Edit the first line of
INSUSER.BAT.
if (%CurrentDomain%) == (mydomain) echo then rerun INSUSER.BAT
if (%CurrentDomain%) == (mydomain) goto verybottom
if not exist addusers.dat goto DisplayAddUsers
rem *** 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 SkipCreateList
echo Creating a list of member servers in %CurrentDomain%.
echo.
netdom /d:%CurrentDomain% member > working.txt
rem *** Remove NETDOM formatting from server names ***
if exist temp.txt del temp.txt
for /F "skip=6 delims=\ tokens=2" %%a in (working.txt) do call sub1.bat
%%a
del working.txt
ren temp.txt working.txt
:SkipCreateList
rem *** Determine if machine is online ***
if exist online.txt del online.txt
for /F "delims=\\ tokens=1" %%a in (working.txt) do call sub2.bat %%a
rem *** Remove servers that have been processed from WORKING.TXT ***
if not exist online.txt goto NoServersOnline
echo.
echo Updating list of servers that need to be processed.
for /F "delims=  tokens=1" %%a in (online.txt) do call sub4.bat %%a
echo List complete.
goto Bottom
:DisplayAddUsers
Echo.
Echo. You must modify the contents of ADDUSERS.DA, then rename the
Echo. file to ADDUSERS.DAT.  Then re-run this batch file.
goto verybottom
:NoServersOnline
Echo.
Echo There are no servers currently online that can be processed.
:Bottom
echo.
echo ------------------------------------
echo --- Finished processing servers. ---
echo ------------------------------------
:verybottom
				

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

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

Nombre de archivo: 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 NotOnline
echo %3 >> ONLINE.TXT
echo [%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 line
for /F "delims=	 tokens=3" %%i IN ('reg query hklm\system\currentcontrolset\control\ProductOptions\ProductType \\%3') DO set product_type=%%i
REM End single line

if "%product_type%"=="" goto Undetermined
if "%product_type%"=="WinNT" goto Workstation
if "%product_type%"=="ServerNT" goto Server
if "%product_type%"=="LanmanNT" goto DomainController

:Undetermined
echo Unable to determine Windows NT Product Type, check the following
echo registry key for product type
echo.
echo hklm\system\currentcontrolset\control\ProductOptions\ProductType
echo.
echo Expected values
echo.
echo ProductType   Product
echo ----------------------------------------------------
echo WinNT         Windows NT Workstation is running
echo ServerNT      Windows NT Server is running
echo LanmanNT      Windows NT Domain controller
echo.
echo %3 >>undetermined.txt
goto Sub3bot

:DomainController
echo %3 >>dc.txt
goto sub3bot

:Server
echo %3 is a Server, skipping...
echo %3 >>server.txt
goto adduser

:Workstation
echo %3 is a Workstation, processing %3
echo %3 >> wks.txt
goto adduser

:adduser
ECHO Adding new user to local administrators group on %3.
ECHO *** \\%3 *** >> local.log
rem Add a user to each member servers local administrators group
ADDUSERS \\%3 /C addusers.dat > nul
rem *****************************************************
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.txt
for /F "tokens=1" %%a in (working.txt) do call sub5.bat %%a %%1
del working.txt
if exist temp.txt ren temp.txt working.txt
				

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

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

Además, puede configurar estos archivos por lotes para ejecutar el comando único en estaciones de trabajo o servidores, consulte Especificar servidores o estaciones de trabajo.

Especificar servidores o estaciones de trabajo

Al reemplazar el SUB3.BAT con el siguiente archivo por lotes, REG.EXE desde el Kit de recursos se utiliza para comprobar el tipo de producto en el registro (servidor, estación de trabajo o controlador de dominio). Cambiando el comando goto en la: servidor y: secciones de la estación de trabajo, puede controlar si el comando se ejecuta en servidor o estaciones de trabajo como sigue:

GOTO Sub3bot - se omitirá este tipo de producto. GOTO AddUser - comandos en: sección addusers procesará contra este tipo de producto.

Actualmente, se selecciona sólo estación de trabajo. El contenido de complete.txt puede omitirse cuando utiliza modifica sub3.bat. Compruebe LOCAL.LOG para determinar qué equipos se han actualizado. Ésta es una descripción de los archivos de registro que pueden generarse.

LOCAL.LOG - máquinas que se han actualizado.

WKS.TXT - máquinas que se han identificado como estaciones de trabajo.

SERVER.TXT - Máquinas identificadas como servidores.

UNDETERMINED.TXT - máquinas que se identifican en Administrador de servidor como un servidor o estación de trabajo pero no tiene el tipo de producto definido en el registro. O el registro no se puede leer remotamente.

DC.TXT - máquinas que se identifican en el Administrador de servidor como un servidor o estación de trabajo, pero el producto tipo definido en el registro indica se trata de un controlador de dominio. No se procesará estos sistema.

TRABAJO - contiene una lista de equipos que aparecen en el Administrador de servidores, pero ha respondido a PING. Esta lista se utiliza cuando se ejecuta una hora de segunda o tercer de los archivos por lotes.

Nombre de archivo 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 NotOnline
echo %3 >> ONLINE.TXT
echo [%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 line
for /F "tokens=3" %%i IN ('reg query
hklm\system\currentcontrolset\control\ProductOptions\ProductType \\%3') DO
set product_type=%%i
REM End single line

if "%product_type%"=="" goto Undetermined
if "%product_type%"=="WinNT" goto Workstation
if "%product_type%"=="ServerNT" goto Server
if "%product_type%"=="LanmanNT" goto DomainController

:Undetermined
echo Unable to determine Windows NT Product Type, check the following
echo registry key for product type
echo.
echo hklm\system\currentcontrolset\control\ProductOptions\ProductType
echo.
echo Expected values
echo.
echo ProductType   Product
echo ----------------------------------------------------
echo WinNT         Windows NT Workstation is running
echo ServerNT      Windows NT Server is running
echo LanmanNT      Windows NT Domain controller
echo.
echo %3 >>undetermined.txt
goto Sub3bot

:DomainController
echo %3 >>dc.txt
goto sub3bot
				

Propiedades

Id. de artículo: 180546 - Última revisión: sábado, 22 de febrero de 2014 - Versión: 2.2
La información de este artículo se refiere a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • 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
Palabras clave: 
kbnosurvey kbarchive kbmt kbinfo KB180546 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): 180546

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