On Error Resume next
Set Fso = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists("C:\scripts\ntdssize\ntdssize.xlsx") Then
fso.DeleteFile "C:\scripts\ntdssize\ntdssize.xlsx"
End If
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
'objExcel.Workbooks.Add
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Worksheets(1)
intRow = 2
objExcel.Cells(1, 1).Value = "Server Name"
objExcel.Cells(1, 2).Value = "NTDS size(In MB)"
objExcel.Cells(1, 1).Interior.ColorIndex = 27
objExcel.Cells(1, 2).Interior.ColorIndex = 27
objExcel.Cells(1, 1).font.bold = True
objExcel.Cells(1, 2).font.bold = True
Set oFS = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
InputFile = "C:\scripts\ntdssize\dc.txt"
Set f = oFS.OpenTextFile(InputFile)
StrComputer = f.ReadAll
f.Close
arrComputers = Split(StrComputer,vbCrLf)
For Each shost In arrComputers
filespec="C:\windows\NTDS\ntds.dit"
set svc=getobject("winmgmts:\\" & shost & "\root\cimv2")
set ofile=svc.get("cim_datafile.name='" & filespec & "'")
filesize1 = ofile.filesize
filesize = filesize1/1048576
wscript.echo ofile.name &"|" & shost &"|" & filesize & " MB"
set ofile=nothing : set svc=nothing
objExcel.Cells(intRow, 1).Value = shost
objExcel.Cells(intRow, 2).Value = filesize
intRow = intRow + 1
Next
objExcel.Cells.EntireColumn.AutoFit
objexcel.Cells.EntireRow.AutoFit
objWorkbook.SaveAs "C:\scripts\ntdssize\ntdssize.xlsx"
objExcel.Quit
Set Fso = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists("C:\scripts\ntdssize\ntdssize.xlsx") Then
fso.DeleteFile "C:\scripts\ntdssize\ntdssize.xlsx"
End If
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
'objExcel.Workbooks.Add
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Worksheets(1)
intRow = 2
objExcel.Cells(1, 1).Value = "Server Name"
objExcel.Cells(1, 2).Value = "NTDS size(In MB)"
objExcel.Cells(1, 1).Interior.ColorIndex = 27
objExcel.Cells(1, 2).Interior.ColorIndex = 27
objExcel.Cells(1, 1).font.bold = True
objExcel.Cells(1, 2).font.bold = True
Set oFS = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
InputFile = "C:\scripts\ntdssize\dc.txt"
Set f = oFS.OpenTextFile(InputFile)
StrComputer = f.ReadAll
f.Close
arrComputers = Split(StrComputer,vbCrLf)
For Each shost In arrComputers
filespec="C:\windows\NTDS\ntds.dit"
set svc=getobject("winmgmts:\\" & shost & "\root\cimv2")
set ofile=svc.get("cim_datafile.name='" & filespec & "'")
filesize1 = ofile.filesize
filesize = filesize1/1048576
wscript.echo ofile.name &"|" & shost &"|" & filesize & " MB"
set ofile=nothing : set svc=nothing
objExcel.Cells(intRow, 1).Value = shost
objExcel.Cells(intRow, 2).Value = filesize
intRow = intRow + 1
Next
objExcel.Cells.EntireColumn.AutoFit
objexcel.Cells.EntireRow.AutoFit
objWorkbook.SaveAs "C:\scripts\ntdssize\ntdssize.xlsx"
objExcel.Quit
=====================================================================================
schedule this script with schtasks using the batch file as shown below:
=================
cscript C:\scripts\ntdssize\ntdssize.vbs
sleep 20
@echo off
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd=%%k%%i%%j
echo Date: %yyyymmdd%
for /F "tokens=1-2 delims=: " %%l in ('time /t') do set hhmm=%%l%%m
echo Time: %hhmm%
rem -- or use both
echo %yyyymmdd%
REN "C:\scripts\ntdssize\ntdssize.xlsx" ntdssize_%yyyymmdd%.xlsx
sleep 20
@echo off
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd=%%k%%i%%j
echo Date: %yyyymmdd%
for /F "tokens=1-2 delims=: " %%l in ('time /t') do set hhmm=%%l%%m
echo Time: %hhmm%
rem -- or use both
echo %yyyymmdd%
REN "C:\scripts\ntdssize\ntdssize.xlsx" ntdssize_%yyyymmdd%.xlsx
=