DOCUMENT:Q173529 10-AUG-2001 [winnt] TITLE :Using Batch Files to Automate Networking Tasks PRODUCT :Microsoft Windows NT PROD/VER:winnt:3.5,3.51,4.0 OPER/SYS: KEYWORDS: ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Windows NT Workstation versions 3.5, 3.51, 4.0 - Microsoft Windows NT Server versions 3.5, 3.51, 4.0 ------------------------------------------------------------------------------- SUMMARY ======= This article demonstrates a few ways to use Windows NT command extensions in conjunction with Windows NT Resource Kit utilities within batch files to automate common networking tasks. The following tasks will be illustrated: - How to automate the addition of Domain\Domain Users global group to each of the member servers Change the system time user right. - How to add files to many users' home directories. - How to restart services on all domain controllers within a domain. How to Automate the Addition of Domain\Domain Users --------------------------------------------------- How to automate the addition of "Domain\Domain Users" global group to each of the member servers "Change the system time" user right. 1. Create the Addtime.bat and Addtime2.BAT files listed below. 2. Run Addtime.bat with administrator privileges from a computer running Windows NT. This batch file creates a list of member servers using the Windows NT Resource Kit utility Netdom.exe. The output of NETDOM gets redirected to a file, which in turn, gets parsed using the FOR command (part of Windows NT command extensions). The Addtime2.bat file gets called for each instance of \\ServerName within the Netdom.txt file. The Addtime2.bat file then issues the Windows NT Resource Kit utility Ntrights.exe to add Domain\Domain Users global group to each of the member servers Change the system time user right. The output of NTRIGHTS gets written to a file called Log.txt. Filename: Addtime.bat echo off cls echo Creating a list of member servers. echo. netdom member > netdom.txt echo Adding "Change System Time" right to Member Servers... echo. if exist log.txt del log.txt for /F "skip=6 tokens=4" %%a in (netdom.txt) do call ADDTIME2.bat %%a echo. echo ---------------------------------------------- echo - Done! Check LOG.TXT for status information.- echo ---------------------------------------------- Filename: ADDTIME2.BAT echo Adding right to %1... ntrights -u "domain users" -m %1 +r SeSystemTimePrivilege >> log.txt How to Add Files to Many Users' Home Directories ------------------------------------------------ To add files to many users' home directories, perform the following steps: 1. Create the Addfile.bat and Addfile2.bat files listed below. 2. Run Addfile.bat with administrative privileges from a computer running Windows NT. The Addfile.bat file simply issues a DIR command and redirects the output to a file, which in turn gets parsed using the FOR command (part of Windows NT command extensions). The Addfile2.bat file gets called once for each directory name listed in the Dir.txt file. The Addfile2.bat file issues a copy command to copy the file to each user directories. Filename: ADDFILE.BAT v echo off cls IF (%1)==() GOTO NoParams IF (%2)==() GOTO NoParams Echo Creating directory listing... dir %1 > dir.txt for /F "skip=7 tokens=4" %%a in (dir.txt) do call addfile2.bat %%a %1 %2 echo --------- echo - Done! - echo --------- GOTO Bottom :NoParams ECHO usage: ADDFILE [Parent Directory] [File to Add] ECHO. ECHO i.e.- ADDFILE C:\PROFILES MyFile.lnk ECHO. :Bottom Filename: ADDFILE2.BAT if (%1)==() goto bottom if (%1)==(bytes) goto bottom copy %3 %2\%1 :bottom How to Restart Services On All Domain Controllers Within a Domain ----------------------------------------------------------------- To restart service on all domain controllers within a domain, perform the following steps: 1. Create the Restart.bat and Restart2.bat files listed below. 2. Run the Restart.bat Service Name from a computer running Windows NT using administrator privileges. The Restart.bat file issues the Windows NT Resource Kit utility NETDOM to create a file called Netdom.txt. The Netdom.txt file gets parsed using the FOR command (part of Windows NT command extensions). Each \\DomainControllerName gets passed to the Restart2.bat file where the Windows NT Resource Kit utility NETSVC command gets issued to stop and start the Service Name entered at the command prompt. Filename: RESTART.BAT echo off cls if (%1)==() goto NoParams netdom bdc > netdom.txt for /F "skip=6 tokens=4" %%a in (netdom.txt) do call restart2.bat %%a %1 echo --------- echo - Done! - echo --------- goto bottom :NoParams echo usage: RESTART "Service Name" echo. echo. i.e.- RESTART "License Logging Service" echo. :bottom Filename: RESTART2.BAT echo Restarting %2 on %1 netsvc %2 %1 /stop netsvc %2 %1 /start echo. Additional query words: Iterative Processing script set time ====================================================================== Keywords : Technology : kbWinNTsearch kbWinNTWsearch kbWinNTW400 kbWinNTW400search kbWinNT351search kbWinNT350search kbWinNT400search kbWinNTW350 kbWinNTW350search kbWinNTW351search kbWinNTW351 kbWinNTSsearch kbWinNTS400search kbWinNTS400 kbWinNTS351 kbWinNTS350 kbWinNTS351search kbWinNTS350search Version : winnt:3.5,3.51,4.0 Hardware : x86 Issue type : kbhowto ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.