| Posted: 23 August 2006 at 1:49pm | IP Logged
|
|
|
Thought osme people may be marginally interested in some of the scripty things I write at work. Wrote this one this week:
@echo off
REM Desc: Discover NTP Offset to DC and output to file REM Vers: 1.1 REM Date: 17/08/2006 REM Auth: Alex Galbraith REM Notes: Does not require any input, simply double click batch file. Will create dc.txt and offset.txt REM Updates: 17/08/2006 - Added Set DomName=!DomName:*REG_SZ =! and Set DomName=!DomName:*SZ =! REM Updates: 21/08/2006 - Added "Get NTPServer Name" and "Get NTP Type" sections REM Updates: 22/08/2006 - Replaced "Get DC Name" with net time commands REM Updates: 23/08/2006 - Created stand alone version which downloads results to \\tsclient\d\audits\ntp
SetLocal EnableDelayedExpansion
%systemdrive% cd %systemdrive%\TEMP\
REM ****************** Get Domain Name ****************** echo ****************** Get Domain Name
reg query HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters /v Domain> %systemdrive%\TEMP\domain.txt For /F "tokens=* delims=" %%A in (%systemdrive%\TEMP\domain.txt) Do ( Set DomName=%%A Set DomName=!DomName:*REG_SZ =! Set DomName=!DomName:*SZ =! Set DomName=!DomName: =! echo !DomName!> %systemdrive%\TEMP\domain.txt)
REM ****************** Get DC Name ****************** echo ****************** Get DC Name net time>%systemdrive%\TEMP\dc.txt
For /F "tokens=1-2 delims=/" %%a in (dc.txt) Do ( Set DCName=%%a Set DCName=!DCName:*\\=! Set DCName=!DCName:*lly.=! Set DCName=!DCName:is =! echo !DCName!>>%systemdrive%\TEMP\tmp.txt)
del dc.txt & ren tmp.txt dc.txt For /F "tokens=1-2 delims=." %%a in (dc.txt) Do ( Set DCName=%%a echo !DCName!>>%systemdrive%\TEMP\tmp.txt)
For /f %%a in (tmp.txt) do ( Set DCName=%%a Set DCName=!DCName: =! echo !DCName!>%systemdrive%\TEMP\tmp.txt goto :1 )
:1 del dc.txt & ren tmp.txt dc.txt
REM ****************** Get NTPServer Name ****************** echo ****************** Get NTPServer Name reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v NtpServer> %systemdrive%\TEMP\ntpserver.txt For /F "tokens=* delims=" %%A in (ntpserver.txt) Do ( Set strNTPServer=%%A Set strNTPServer=!strNTPServer:*REG_SZ =! Set strNTPServer=!strNTPServer:*SZ =! Set strNTPServer=!strNTPServer:,0x1=! echo !strNTPServer!>%systemdrive%\TEMP\ntpserver.txt)
REM ****************** Get NTP Type ****************** echo ****************** Get NTP Type reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v Type> %systemdrive%\TEMP\ntptype.txt For /F "tokens=* delims=" %%A in (ntptype.txt) Do ( Set strNTPType=%%A Set strNTPType=!strNTPType:*REG_SZ =! Set strNTPType=!strNTPType:*SZ =! Set strNTPType=!strNTPType:,0x1=! echo !strNTPType!>%systemdrive%\TEMP\ntptype.txt)
REM ****************** Gather NTP Offset ****************** echo ****************** Gather NTP Offset w32tm /stripchart /computer:!DCName! /samples:1 /dataonly> %systemdrive%\TEMP\result.txt
REM ****************** Cleanup Results ****************** echo ****************** Cleanup Results For /F "tokens=* delims=" %%A in (result.txt) Do ( Set OffsetTxt=%%A Set OffsetTxt=!OffsetTxt:* o:=! Set OffsetTxt=!OffsetTxt:*, =! Set OffsetTxt=!OffsetTxt:s=! Set OffsetTxt=!OffsetTxt: =! echo !OffsetTxt!>>tmp.txt) del result.txt & ren tmp.txt result.txt
for /f "tokens=*" %%L in (result.txt) do call :sub2 %%L del %systemdrive%\TEMP\result.txt copy %systemdrive%\TEMP\tempfile.txt %systemdrive%\TEMP\offset.txt>nul del %systemdrive%\TEMP\tempfile.txt
REM ****************** Combine data from files *************************** echo ****************** Combine data from files
hostname > %systemdrive%\TEMP\hostname.txt For /F "tokens=* delims=" %%A in (hostname.txt) Do ( Set strHostName=%%A )
For /F "tokens=* delims=" %%A in (offset.txt) Do ( Set strOffset=%%A )
For /F "tokens=* delims=" %%A in (dc.txt) Do ( Set strDC=%%A )
For /F "tokens=* delims=" %%A in (domain.txt) Do ( Set strDomain=%%A )
For /F "tokens=* delims=" %%A in (ntpserver.txt) Do ( Set strNTPServer1=%%A )
For /F "tokens=* delims=" %%A in (ntptype.txt) Do ( Set strNTPType1=%%A )
echo !strHostName!,!strOffset!,!strDC!,!strDomain!,!strNTPServer1!,!strNTPType1!>%systemdrive%\TEMP\fullinfo.txt
REM ****************** Download file to local machine *****************
copy %systemdrive%\TEMP\fullinfo.txt \\tsclient\d\audits\NTP\!strHostName!.txt /y
REM ****************** Cleanup temp files ************************** echo ****************** Cleanup temp files del %systemdrive%\TEMP\dc.txt del %systemdrive%\TEMP\domain.txt del %systemdrive%\TEMP\offset.txt del %systemdrive%\TEMP\hostname.txt del %systemdrive%\TEMP\ntpserver.txt del %systemdrive%\TEMP\ntptype.txt del %systemdrive%\TEMP\fullinfo.txt pause goto :eof
:sub2 set /a currNUM+=1 if %currNUM%==4 echo %* >> %systemdrive%\TEMP\tempfile.txt goto :eof
:eof pause
__________________ There is no IRL, there's just AFK.
|