Пакетные файлы можно использовать для удаленного добавьте учетные записи локальных групп на всех компьютерах под управлением Windows NT или Windows 2000 в домене.
В этой статье показано, как для создания пакета файловой системы, которое добавит находится пользователю все группы локальных администраторов на каждом компьютере под управлением Windows NT или Windows 2000 в домене.
В файловой системе пакет использует Netdom.exe из пакета ресурсов Windows NT 4.0 для создания списка компьютеров под управлением Windows NT, работающих в качестве рядовых серверов и рабочих станций в домен. После создания списка для определения того, если компьютер находится в интерактивном режиме является pinged каждый компьютер из списка. Если компьютер находится в оперативном режиме, Addusers.exe будет вызван для размещения нового пользователя в группу локальных администраторов компьютера. Если компьютер находился в оперативном режиме, его имени помещается во временном файле. После обработки всех компьютеров временный файл будет сравниваться с список компьютеров из домена, чтобы создать новый список компьютеров, которые не еще были обновлены. Эта файловая система пакет может выполняться несколько раз назначения только компьютеры, которые все еще нужно обработать. Копирование NETDOM.EXE ADDUSERS.EXE и REG.EXE Windows NT 4.0 Resource Kit в папку, где хранятся сценарии.
Чтобы создать эти пакетные файлы, выполните следующие действия:
- Создайте следующие пакетные файлы из списка ниже:
INSUSER.BAT, SUB1.BAT, SUB2.BAT, SUB3.BAT, SUB4.BAT,
SUB5.BAT и ADDUSERS.DAT.
- Изменения в первой строке INSUSER.BAT в соответствии с именем домена, где находятся на конечных компьютерах.
- Измените <domain\user>во второй строке в Addusers.dat в соответствии с именем пользователя, которые необходимо добавить в группу локальных администраторов на каждом компьютере. Убедитесь, что одна пустая строка в верхней части файла Addusers.dat.
</domain\user>
- Войдите в сеть с учетными данными администратора домена для домена, который требуется изменить. Убедитесь, что в пакете ресурсов Windows NT 4.0 была установлена и доступна через системный путь. Данная система использует Netdom.exe и Addusers.exe из набора ресурсов.
- Запустите INSUSER.BAT. Этот пакетный файл может занять несколько часов.
- Просмотрите содержимое Complete.txt и Working.txt. Complete.txt, файл содержит имена компьютеров, которые были обновлены, Working.txt файл содержит имена компьютеров, которые по-прежнему необходимо для обработки.
При необходимости повторите шаги 5 и 6.
Если требуется начать весь процесс заново с самого начала, удалите все файлы .txt, а затем начните с шага 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
Имя файла: ADDUSERS.DAT
[Local]
Administrators,Members can fully administer the computer,<domain\user>,
Кроме того можно настроить эти пакетные файлы для выполнения одной команды на рабочие станции или серверы, см. Определение серверы или рабочие станции.
Серверы или рабочие станции
При замене SUB3.BAT следующий пакетный файл, REG.EXE из пакет используется для проверки типа продукта в реестре (сервером, рабочей станции или контроллер домена). Изменение команды goto в: сервер и: разделы рабочей станции, можно управлять, если команда запускается на сервере или рабочие станции следующим образом:
Инструкция GOTO Sub3bot - этот тип продукта будут пропущены.
Команды GOTO Adduser - в: addusers раздела будут обрабатываться для этого типа продукта.
В настоящее время установлен только на рабочей станции.
Содержание complete.txt можно игнорировать, если с помощью этого изменения sub3.bat. Проверьте LOCAL.LOG, чтобы определить, какие компьютеры были обновлены.
Ниже приводится описание файлов журнала, которые могут быть созданы.
LOCAL.LOG - машины, которые были обновлены.
WKS.TXT - машины, которые определены как рабочие станции.
SERVER.TXT - Машин, как SERVERS.
UNDETERMINED.TXT - машины, которые определяются в диспетчере сервера как сервера или рабочей станции, но не определен в реестре тип продукта. Или в реестре не удается прочитать удаленно.
DC.TXT - машины, перечисленные в диспетчере сервера как сервера или рабочей станции, но продукт тип определен в реестре указывает, является контроллером домена. Эти системы не будут обработаны.
РАБОЧИЙ - содержит список машин, которые перечислены в диспетчере сервера, но ответил на PING. Этот список используется при выполнении пакетных файлов, второй или третий раз.
Имя файла 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 - Последнее изменение :: 14 ноября 2010 г. - Редакция: 2.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
| kbinfo kbmt KB180546 KbMtru |
Переведено с помощью машинного переводаВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:
180546
(http://support.microsoft.com/kb/180546/en-us/
)