Windows DHCP Logs

Summary

Windows 2000/2003 DHCP server only retains log files for seven days in the following location c:\windows\system32\dhcp\ in the following formats:

DhcpSrvLog-Mon.log
DhcpSrvLog-Tue.log
DhcpSrvLog-Wed.log
DhcpSrvLog-Thu.log
DhcpSrvLog-Fri.log
DhcpSrvLog-Sat.log
DhcpSrvLog-Sun.log

After which they are overwritten

Symptoms

Logfiles are needed to be retained for a longer period

Cause

This is the default windows 2000/2003 behaviour, although log file sizes can be modified, the retention period cannot

Question

How can I automatically back these logs up prior to them being overwritten and append each log file with the date

Answer

Create the following vbscript and schedule it to run on the Windows Server.

Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Mon.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Tue.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Wed.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Thu.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Fri.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Sat.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Sun.log" , "C:\dhcp_logs\", OverwriteExisting

Dim wFile
With CreateObject("scripting.filesystemobject")
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Mon.log")
wFile.Name = "DhcpSrvLog-Mon_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Tue.log")
wFile.Name = "DhcpSrvLog-Tue_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Wed.log")
wFile.Name = "DhcpSrvLog-Wed_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Thu.log")
wFile.Name = "DhcpSrvLog-Thu_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Fri.log")
wFile.Name = "DhcpSrvLog-Fri_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Sat.log")
wFile.Name = "DhcpSrvLog-Sat_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Sun.log")
wFile.Name = "DhcpSrvLog-Sun_" & Replace(Date, "/", "-") & ".log"
End With


THE INFORMATION IN THIS DOCUMENT IS PROVIDED ON AN AS-IS BASIS WITHOUT WARRANTY OF ANY KIND. PROVIDER SPECIFICALLY DISCLAIMS ANY OTHER WARRANTY, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL PROVIDER BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, SPECIAL OR INCIDENTAL DAMAGES, EVEN IF PROVIDER HAS BEEN ADVISED BY USER OF THE POSSIBILITY OF SUCH POTENTIAL LOSS OR DAMAGE. USER AGREES TO HOLD PROVIDER HARMLESS FROM AND AGAINST ANY AND ALL CLAIMS, LOSSES, LIABILITIES AND EXPENSES.

Document ID: SKB0458
Published on: 30 Nov 2006

OUR PARTNERS

Our Partners: Novell, SuSE, Microsoft, SUN Microsystems (Logos)
A selection of Salford Software's partners

FUTURE EVENTS