Windows Scripts

For Finding the BIOS Info

Find Disk Space

Mother Board Details

RAM Slots

OS Details

Collect EVERY Thing needed to Troubleshoot a server

For Finding the BIOS Info

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

 

Set colBIOS = objWMIService.ExecQuery _

    ("Select * from Win32_BIOS")

 

For each objBIOS in colBIOS

    Wscript.Echo "Build Number: " & objBIOS.BuildNumber

    Wscript.Echo "Current Language: " & objBIOS.CurrentLanguage

    Wscript.Echo "Installable Languages: " & objBIOS.InstallableLanguages

    Wscript.Echo "Manufacturer: " & objBIOS.Manufacturer

    Wscript.Echo "Name: " & objBIOS.Name

    Wscript.Echo "Primary BIOS: " & objBIOS.PrimaryBIOS

    Wscript.Echo "Release Date: " & objBIOS.ReleaseDate

    Wscript.Echo "Serial Number: " & objBIOS.SerialNumber

    Wscript.Echo "SMBIOS Version: " & objBIOS.SMBIOSBIOSVersion

    Wscript.Echo "SMBIOS Major Version: " & objBIOS.SMBIOSMajorVersion

    Wscript.Echo "SMBIOS Minor Version: " & objBIOS.SMBIOSMinorVersion

    Wscript.Echo "SMBIOS Present: " & objBIOS.SMBIOSPresent

    Wscript.Echo "Status: " & objBIOS.Status

    Wscript.Echo "Version: " & objBIOS.Version

    For i = 0 to Ubound(objBIOS.BiosCharacteristics)

        Wscript.Echo "BIOS Characteristics: " & _

            objBIOS.BiosCharacteristics(i)

    Next

Next

Find Disk Space

Sub DpySpaceInfo(ByVal infotype, ByVal drvSpace, ByVal percentage)

 

            textline = Space(12 - Len(infotype)) & infotype & Space(17 - Len(drvSpace)) & drvSpace

            'If percentage <> "" Then textline = textline & Space(33 - Len(textline)) & percentage

            If percentage <> "" Then textline = textline & Space(11 - Len(percentage)) & percentage

            WScript.Echo textline

 

End Sub

 

' Function to calculate the used and free space on the disk drive.

Sub GetDriveSpace(ByRef drive)

 

            totalSpace = drive.TotalSize / 1024

            freeSpace = drive.AvailableSpace / 1024

            percentFree = freeSpace / totalSpace

            percentUsed = 1 - percentFree

           

            dpyUsedSpace = FormatNumber(totalSpace - freeSpace, 0, vbTrue, vbFalse, vbTrue) & " KB"

            dpyFreeSpace = FormatNumber(freeSpace, 0, vbTrue, vbFalse, vbTrue) & " KB"

            dpyTotalSpace = FormatNumber(totalSpace, 0, vbTrue, vbFalse, vbTrue) & " KB"

            dpyPercentUsed = "(" & FormatPercent(percentUsed, 2, vbTrue, vbFalse, vbTrue) & ")"

            dpyPercentFree = "(" & FormatPercent(percentFree, 2, vbTrue, vbFalse, vbTrue) & ")"

 

            WScript.Echo

            WScript.Echo "----------------------------------------"

            WScript.Echo "SPACE INFO FOR DRIVE " & drive.DriveLetter & ":"

            WScript.Echo "----------------------------------------"

            DpySpaceInfo "Used Space:", dpyUsedSpace, dpyPercentUsed

            DpySpaceInfo "Free Space:", dpyFreeSpace, dpyPercentFree

            DpySpaceInfo "Total Space:", dpyTotalSpace, ""

           

End Sub

 

Set oFileSystem = CreateObject("Scripting.FileSystemObject")

Set drivesList = oFileSystem.Drives

 

' Iterage through all drives ignoring all but fixed drives.

For Each d In drivesList

            If d.DriveType = 2 Then GetDriveSpace d

Next

Mother Board Details

On Error Resume Next

 

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

 

Set colItems = objWMIService.ExecQuery("Select * from Win32_BaseBoard")

 

For Each objItem in colItems

    For Each strOption in objItem.ConfigOptions

        Wscript.Echo "Configuration Option: " & strOption

    Next

    Wscript.Echo "Depth: " & objItem.Depth

    Wscript.Echo "Description: " & objItem.Description

    Wscript.Echo "Height: " & objItem.Height

    Wscript.Echo "Hosting Board: " & objItem.HostingBoard

    Wscript.Echo "Hot Swappable: " & objItem.HotSwappable

    Wscript.Echo "Manufacturer: " & objItem.Manufacturer

    Wscript.Echo "Model: " & objItem.Model

    Wscript.Echo "Name: " & objItem.Name

    Wscript.Echo "Other Identifying Information: " & _

        objItem.OtherIdentifyingInfo

    Wscript.Echo "Part Number: " & objItem.PartNumber

    Wscript.Echo "Powered-On: " & objItem.PoweredOn

    Wscript.Echo "Product: " & objItem.Product

    Wscript.Echo "Removable: " & objItem.Removable

    Wscript.Echo "Replaceable: " & objItem.Replaceable

    Wscript.Echo "Requirements Description: " & objItem.RequirementsDescription

    Wscript.Echo "Requires Daughterboard: " & objItem.RequiresDaughterBoard

    Wscript.Echo "Serial Number: " & objItem.SerialNumber

    Wscript.Echo "SKU: " & objItem.SKU

    Wscript.Echo "Slot Layout: " & objItem.SlotLayout

    Wscript.Echo "Special Requirements: " & objItem.SpecialRequirements

    Wscript.Echo "Tag: " & objItem.Tag

    Wscript.Echo "Version: " & objItem.Version

    Wscript.Echo "Weight: " & objItem.Weight

    Wscript.Echo "Width: " & objItem.Width

Next

RAM Slots

On Error Resume Next

 

Const wbemFlagReturnImmediately = &h10

Const wbemFlagForwardOnly = &h20

 

arrComputers = Array(".")

For Each strComputer In arrComputers

   WScript.Echo

   WScript.Echo "=========================================="

   WScript.Echo "Computer: " & strComputer

   WScript.Echo "Installed RAM's Deatils"

 

   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")

   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemory", "WQL", _

                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)

 

   For Each objItem In colItems

      'WScript.Echo "BankLabel: " & objItem.BankLabel

      WScript.Echo "Capacity: " & objItem.Capacity

      'WScript.Echo "Caption: " & objItem.Caption

      'WScript.Echo "CreationClassName: " & objItem.CreationClassName

      'WScript.Echo "DataWidth: " & objItem.DataWidth

      'WScript.Echo "Description: " & objItem.Description

      'WScript.Echo "DeviceLocator: " & objItem.DeviceLocator

      WScript.Echo "FormFactor: " & objItem.FormFactor

      'WScript.Echo "HotSwappable: " & objItem.HotSwappable

      'WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate)

      'WScript.Echo "InterleaveDataDepth: " & objItem.InterleaveDataDepth

      'WScript.Echo "InterleavePosition: " & objItem.InterleavePosition

      WScript.Echo "Manufacturer: " & objItem.Manufacturer

      WScript.Echo "MemoryType: " & objItem.MemoryType

      WScript.Echo "Model: " & objItem.Model

      WScript.Echo "Name: " & objItem.Name

      WScript.Echo "OtherIdentifyingInfo: " & objItem.OtherIdentifyingInfo

      WScript.Echo "PartNumber: " & objItem.PartNumber

      WScript.Echo "PositionInRow: " & objItem.PositionInRow

      'WScript.Echo "PoweredOn: " & objItem.PoweredOn

      'WScript.Echo "Removable: " & objItem.Removable

      'WScript.Echo "Replaceable: " & objItem.Replaceable

      'WScript.Echo "SerialNumber: " & objItem.SerialNumber

      WScript.Echo "SKU: " & objItem.SKU

      WScript.Echo "Speed: " & objItem.Speed

      WScript.Echo "Status: " & objItem.Status

      'WScript.Echo "Tag: " & objItem.Tag

      'WScript.Echo "TotalWidth: " & objItem.TotalWidth

      'WScript.Echo "TypeDetail: " & objItem.TypeDetail

      'WScript.Echo "Version: " & objItem.Version

      WScript.Echo

   Next

Next

 

 

'Function WMIDateStringToDate(dtmDate)

'WScript.Echo dtm:

'           WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _

'           Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _

'           & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))

'End Function

OS Details

Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")

For Each objOperatingSystem in colOperatingSystems
Wscript.Echo "Boot Device: " & objOperatingSystem.BootDevice
Wscript.Echo "Build Number: " & objOperatingSystem.BuildNumber
Wscript.Echo "Build Type: " & objOperatingSystem.BuildType
Wscript.Echo "Caption: " & objOperatingSystem.Caption
Wscript.Echo "Code Set: " & objOperatingSystem.CodeSet
Wscript.Echo "Country Code: " & objOperatingSystem.CountryCode
Wscript.Echo "Debug: " & objOperatingSystem.Debug
Wscript.Echo "Encryption Level: " & objOperatingSystem.EncryptionLevel
dtmConvertedDate.Value = objOperatingSystem.InstallDate
dtmInstallDate = dtmConvertedDate.GetVarDate
Wscript.Echo "Install Date: " & dtmInstallDate
Wscript.Echo "Licensed Users: " & _
objOperatingSystem.NumberOfLicensedUsers
Wscript.Echo "Organization: " & objOperatingSystem.Organization
Wscript.Echo "OS Language: " & objOperatingSystem.OSLanguage
Wscript.Echo "OS Product Suite: " & objOperatingSystem.OSProductSuite
Wscript.Echo "OS Type: " & objOperatingSystem.OSType
Wscript.Echo "Primary: " & objOperatingSystem.Primary
Wscript.Echo "Registered User: " & objOperatingSystem.RegisteredUser
Wscript.Echo "Serial Number: " & objOperatingSystem.SerialNumber
Wscript.Echo "Version: " & objOperatingSystem.Version
Next

Collect EVERY Thing needed to Troubleshoot a server

This is a .BAT file and you need to have all the .VBS files too.  In case you miss anything, please let me know.

Echo Gathering Network Information for %COMPUTERNAME% %COMPUTERNAME%
hostname >> %COMPUTERNAME%
ipconfig /all >> %COMPUTERNAME%
arp -a >> %COMPUTERNAME%
nbtstat -c >> %COMPUTERNAME%
netstat -r >> %COMPUTERNAME%
net sessions >> %COMPUTERNAME%
net files >> %COMPUTERNAME%
net share >> %COMPUTERNAME%
net accounts >> %COMPUTERNAME%
net statistics server >> %COMPUTERNAME%
net statistics workstation >> %COMPUTERNAME%

Echo Get boot.ini >> %COMPUTERNAME%
type %SystemDrive%\boot.ini >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Get secheduled jobs >> %COMPUTERNAME%
at >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Enviroment information >> %COMPUTERNAME%
set >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Find the users logged in %COMPUTERNAME%
%SystemRoot%\system32\quser.exe quser.exe >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Copy Dr.Wastion logfile %COMPUTERNAME%
type %SystemRoot%\drwatson.log >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Terminal Server Process Information %COMPUTERNAME%
%SystemRoot%\system32\qprocess.exe qprocess.exe
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Terminal Server WinStation Information %COMPUTERNAME%
%SystemRoot%\system32\qwinsta.exe qwinsta.exe
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo When the server added to domain %COMPUTERNAME%
type %systemroot%\debug\netsetup.log >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo WSUS Update >> %COMPUTERNAME%
type %systemroot%\wsdu.log >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Services Running >> %COMPUTERNAME%
sc queryex >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Java VM Instlattion
%systemroot%\vminst.log >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Autoexec.bat file >> %COMPUTERNAME%
type %SystemDrive%\autoexec.bat >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo Config.sys >> %COMPUTERNAME%
type %SystemDrive%\config.sys >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo autoexec.nt >> %COMPUTERNAME%
type %Systemroot%\System32\autoexec.NT >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo config.nt >> %COMPUTERNAME%
type %Systemroot%\System32\config.NT >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo win.ini >> %COMPUTERNAME%
type %Systemroot%\win.ini >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo system.ini >> %COMPUTERNAME%
type %Systemroot%\System.ini >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
Echo Ruccing process and owner >>%COMPUTERNAME%
cscript perf1.vbs //nologo >>%COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo Physical and virtual memory >>%COMPUTERNAME%
cscript mem.vbs//nologo >>%COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo System Up time in Hrs
cscript uptime.vbs//nologo >>%COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo RAM Slots >> %COMPUTERNAME%
cscript RAMSlots.vbs //nologo>> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo Disk Space >> %COMPUTERNAME%
cscript diskspace.vbs //nologo >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo MotherBoard detsil >> %COMPUTERNAME%
cscript motherboard.vbs //nologo >> %COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo OS details >>%COMPUTERNAME%
cscript os.vbs //nologo >>%COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo App logs >>%COMPUTERNAME%
cscript applog.vbs //nologo >>%COMPUTERNAME%
echo ----------------------------------------------------- >> %COMPUTERNAME%
echo Task Manager >>%COMPUTERNAME%
tasklist /svc >>%COMPUTERNAME%
echo Copying the App event logs to a text file....
cscript applog.vbs //nologo >> applog.txt
echo Copying the System event logs to a text file....
cscript system.vbs //nologo >> systemlog.txt
echo Copying the Security event logs to a text file....
cscript security.vbs //nologo >> security.txt