Automatisieren von Aktualisierungen zu lokalen Gruppen auf Mitgliedsservern

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 180546 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Batchdateien können zum Remote Hinzufügen von Benutzerkonten zu lokalen Gruppen auf allen Computern unter Windows NT oder Windows 2000 in einer Domänenumgebung verwendet werden.

Weitere Informationen

Dieser Artikel beschreibt wie Sie ein Dateisystem Batch erstellen, die hinzugefügt wird ein Benutzer, alle Gruppen der lokalen Administratoren auf jeder Computer unter Windows NT oder Windows 2000 innerhalb einer Domänenumgebung befindet.

Das Batch-Dateisystem verwendet "Netdom.exe" aus Windows NT 4.0 Resource Kit zum Erstellen einer Liste von Computern unter Windows NT, die als Mitgliedsserver oder Arbeitsstationen in einer Domäne betrieben werden. Nachdem die Liste erstellt wurde, wird jedem Computer aus der Liste Pingsignal gesendet, um festzustellen, ob der Computer online ist. Wenn der Computer online ist, wird Addusers.exe aufgerufen werden, um einen neuen Benutzer im lokalen Administratorengruppe des Computers zu platzieren. Wenn ein Computer online war, werden dessen Namen in einer temporären Datei plaziert. Nachdem alle Computer verarbeitet wurden, wird die temporäre Datei verglichen werden zur Liste der Computer aus der Domäne, um eine neue Liste von Computern erstellen, die noch nicht aktualisiert wurden. Dieses Dateisystem Batch kann mehrere Male Ziel ausgeführt werden nur die Computer, die noch verarbeitet werden müssen. Kopieren Sie NETDOM.EXE, ADDUSERS.EXE und reg.exe aus Windows NT 4.0 Resource Kit in den Ordner, in denen die Skripts sind.

Um diese Batchdateien erstellen, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie die folgenden Batchdateien aus der Liste unten:
    INSUSER.BAT, SUB1.BAT, SUB2.BAT, SUB3.BAT, SUB4.BAT,
    SUB5.BAT und ADDUSERS.DAT.
  2. Bearbeiten der ersten Zeile des INSUSER.BAT, um den Domänennamen wiederzugeben, wo sich der Zielcomputer befinden.
  3. Ändern Sie die <domäne\benutzer> in der zweiten Zeile in Addusers.dat entsprechend den Namen des Benutzers, die Sie hinzufügen möchten lokalen Administratorgruppe des Computers. Sicher, dass es ist eine leere Zeile am oberen Rand der Datei Addusers.dat.
  4. Melden Sie sich an das Netzwerk mit Domäne Administratoranmeldeinformationen für die Domäne, die Sie ändern möchten. Stellen Sie sicher Windows NT 4.0 Resource Kit wurde installiert und kann über den Systempfad zugegriffen werden. Dieses System verwendet Netdom.exe und Addusers.exe aus dem Resource Kit.
  5. Führen Sie die INSUSER.BAT. Diese Batchdatei kann viele Stunden dauern.
  6. Überprüfen Sie den Inhalt von Complete.txt und Working.txt. Der Complete.txt-Datei die Namen der Computer enthält, die aktualisiert wurden, die Working.txt-Datei enthält die Namen der Computer, die noch verarbeitet.
Wiederholen Sie die Schritte 5 & 6 ggf..

Wenn Sie den gesamten Prozess über von Grund auf neu starten müssen, löschen Sie alle .txt-Dateien und dann starten bei Schritt 1.

Dateiname: 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
				

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

Dateiname: 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
				

Dateiname: 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
				
Dateiname: 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
				

Dateiname: 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
				

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

Darüber hinaus können Sie konfigurieren diese Batchdateien zum Ausführen der einzelnen Befehls auf Arbeitsstationen oder Servern nur, anzeigen, Festlegen von Servern oder Arbeitsstationen.

Angeben von Servern oder Arbeitsstationen

Durch Ersetzen des SUB3.BAT durch die folgende Batchdatei, wird reg.exe aus der Reskit verwendet, um den Produkttyp in der Registrierung (Server, Arbeitsstation oder Domänencontroller) zu überprüfen. Durch Ändern des Befehls Goto in der: Server und: Arbeitsstation Abschnitte, Sie können steuern, wenn der Befehl wie folgt für Server oder Arbeitsstationen ausgeführt wird:

GOTO-Sub3bot - diese Produkttyp wird übersprungen. GOTO Adduser - Befehle: Addusers Abschnitt gegen diese Art Produkt, verarbeitet werden.

Derzeit wird nur Arbeitsstation ausgewählt. Der Inhalt des complete.txt können ignoriert werden mithilfe dieser sub3.bat geändert. Überprüfen Sie die LOCAL.LOG, um festzustellen, welche Computer aktualisiert wurden. Hier ist eine Beschreibung der Protokolldateien, die generiert werden können.

LOCAL.LOG - Computer, die aktualisiert wurden.

WKS.TXT - Computer, die als Arbeitsstationen identifiziert wurden, haben.

SERVER.TXT - Computer als Server identifiziert.

UNDETERMINED.TXT - Computer, die als einem Server oder einer Arbeitsstation im Server-Manager angegeben sind aber führen Sie nicht den Produkttyp in der Registrierung festgelegt haben. Oder die Registrierung konnte nicht remote gelesen werden.

DC.TXT - Computer, die identifiziert werden in Server-Manager als ein Server oder Arbeitsstationen jedoch das Produkt in der Registrierung definierten Typ gibt dies ein Domänencontroller ist. Diese System werden nicht verarbeitet.

Arbeit - enthält eine Liste von Computern, die in Server-Manager aufgelisteten jedoch PING reagiert. Diese Liste wird verwendet, wenn die Batchdateien ein zweites oder drittes Mal ausgeführt wird.

Dateiname 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
				

Eigenschaften

Artikel-ID: 180546 - Geändert am: Samstag, 22. Februar 2014 - Version: 2.2
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbnosurvey kbarchive kbmt kbinfo KB180546 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 180546
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

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