Автоматизация обновления локальных групп на рядовых серверах

Переводы статьи Переводы статьи
Код статьи: 180546 - Vizualiza?i produsele pentru care se aplic? acest articol.
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Развернуть все | Свернуть все

В этой статье

Аннотация

Пакетные файлы можно использовать для удаленного добавления пользователей в локальные группы onall компьютеры под управлением Windows NT или Windows 2000 в adomain среде.

Дополнительная информация

В этой статье демонстрируется создание системы пакетного файла, будет что adda пользователю все группы локальных администраторов на каждом computerrunning Windows NT или Windows 2000 в домене.

Пакетный файл использует системы Netdom.exe из Kitto ресурсов Windows NT 4.0 создать список компьютеров под управлением Windows NT, работающих asmember серверы или рабочие станции в домен. После создания списка на каждый компьютер в списке ping для определения iscurrently компьютера в Интернете. Если компьютер находится в оперативном режиме, Addusers.exe будет calledto место нового пользователя в группу локальных администраторов компьютера. Если acomputer находился в оперативном режиме, его имя будет находиться во временном файле. Afterall компьютеры были обработаны, временный файл будет сравниваться со списка компьютеров из домена, чтобы создать новый список computersthat еще не была обновлена. Этот пакет файловой системы можно запустить multipletimes для компьютеров, которые по-прежнему должны быть обработаны. Скопируйте NETDOM.EXE, ADDUSERS.EXE и REG.EXE из Windows NT 4.0 Resource Kit в папку, где хранятся сценарии.

Чтобы создать эти пакетные файлы, выполните следующие действия:

  1. Создайте следующие пакетные файлы из списка ниже:
    INSUSER.BAT SUB1.BAT SUB2.BAT, SUB3.BAT, SUB4.BAT,
    SUB5.BAT и ADDUSERS.DAT.
  2. Измените первую строку INSUSER.BAT в соответствии с именем домена, где расположены на конечных компьютерах.
  3. Измените <domain\user>во второй строке в Addusers.dat в соответствии с именем пользователя, которого вы хотите добавить в группу локальных администраторов на каждом компьютере. Убедитесь, что имеется одна пустая строка в верхней части файла Addusers.dat.</domain\user>
  4. Войдите в сеть с учетными данными администратора домена для домена, который вы хотите изменить. Убедитесь, что Windows NT 4.0 Resource Kit был установлен и доступен по системному пути. Данная система использует Addusers.exe и Netdom.exe из состава resource kit.
  5. Запустите INSUSER.BAT. Этот пакетный файл может занять несколько часов.
  6. Проверьте содержимое Complete.txt и Working.txt. Файл Complete.txt содержит имена компьютеров, которые были обновлены, файл Working.txt содержит имена компьютеров, по-прежнему требующих обработки.
При необходимости повторите шаги 5 & 6.

Если необходимо начать процесс с нуля, удалите все .txtfiles, а затем начинается с шага 1.

Имя файла: 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
				

Имя файла: SUB1.BAT
rem *** Remove formatting from Netdom output ***
echo %1 >> temp.txt
				

Имя файла: 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
				

Имя файла: 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
				
Имя файла: 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
				

Имя файла: 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
				

Имя файла: ОПУЩЕН.DAT
[Local]
Administrators,Members can fully administer the computer,<domain\user>,
				

Кроме того можно настроить эти пакетные файлы для выполнения singlecommand на рабочие станции или серверы, см. Указание серверов orWorkstations.

Указав серверы или рабочие станции

Заменив SUB3.BAT, следующий пакетный файл REG.EXE из thereskit используется для проверки типа продукта в реестре (серверов, рабочих станций или контроллер домена). Путем изменения в команде goto: сервер и: разделы рабочей станции можно управлять Если команда runagainst серверов или рабочих станций следующим образом:

Перейти к Sub3bot - этот тип продукта будут пропущены.Команды GOTO Adduser - в: addusers раздела будет быть обработан againstthis тип продукта.

В настоящее время установлен только рабочей станции.При использовании этой modifiedsub3.bat можно пропустить содержимое complete.txt. Проверка локальной.ЖУРНАЛ, чтобы определить, какие компьютеры были обновлены.Вот описание файлов журнала, которые могут быть созданы.

ЛОКАЛЬНЫЕ.ЖУРНАЛ - машин, которые были обновлены.

WKS.TXT – машины, которые определены как рабочие станции.

СЕРВЕР.TXT - машин показал, что СЕРВЕРЫ.

НЕ ОПРЕДЕЛЕНО.TXT – машины, которые определяются в диспетчере сервера как каком-либосервере или рабочей станции, но не имеющие типа продукта, определенного в theregistry. Или реестра не может быть прочитан удаленно.

КОНТРОЛЛЕР ДОМЕНА.TXT – машины, которые определены в диспетчере сервера orworkstation сервер, но продукт isa контроллер домена указывает тип определен в реестре. Эти системы не будут обработаны.

РАБОТЫ - содержит список компьютеров, перечисленных в сервер managerbut ответил на команду PING. Этот список используется при выполнении пакетных файлов asecond или третий раз.

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
				

Свойства

Код статьи: 180546 - Последний отзыв: 23 февраля 2014 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • операционная система 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.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows 2000 Advanced Server
Ключевые слова: 
kbnosurvey kbarchive kbinfo kbmt KB180546 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 180546

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