'File Name : DriveSpace.vbs
'Description : Collects the Space information of hard drives from different servers
'Date Created : 04-29-2008
'Author : Arumugam
'
'Dependencies:
'strServerFile - This script depends on a txt file which contains the server names.
'strOutFile - output file location has to be modified as per your requirement
'========================================================================================
t1=time
On error Resume Next
'Get the Script Name
strScript = wscript.ScriptName
'Get the Folder where the script is being executed
strScriptFolder = Replace(wscript.scriptFullName,strScript,"")
'location of the servers.txt file - contains server names
strServersFile = strScriptFolder & "servers.txt"
'Location of the output file to be created.
strOutFile = strScriptFolder & "\Disk_Space_Monitor_Results.txt"
wscript.echo
wscript.echo "Disk Space Monitor"
wscript.echo "******************"
wscript.echo
'Get the login credentials of the user
Wscript.StdOut.Write "Enter your NBD ID :"
strUserID = Wscript.StdIn.ReadLine
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Enter your password (corp domain):"
strPassword = objPassword.GetPassword()
Wscript.Echo
wscript.echo
'Create the outfile on which the Drive space to be written
set objFSO=createobject("scripting.filesystemobject")
set objFSOFile=objFSO.createTextFile(strOutFile)
'Append the domain name with the login id of the user
strUser="CORP\"&strUserID
'Open the text file which contains the server names
set fso = createobject("scripting.filesystemobject")
'Check if servers file is present int he script location
if fso.fileexists(strServersFile) = FALSE then
wscript.echo "Error:servers File not Found"&vbcrlf&strServersFile
set fso = nothing
wscript.echo "Press any key to exit"
Wscript.StdIn.ReadLine
wscript.quit
end if
set objfile= fso.opentextfile(strServersFile)
wscript.echo "Collecting Drive Space details from 62 servers. please wait for 2 mins.."
ALL_SERVERS_FLAG = TRUE
'Read each line (server name) till the End of the file
do until objfile.atendofstream
strserver=objfile.readline
'Call the method getdriveinfo by passing the server name as argument
strResult = getdriveinfo(strserver)
if strResult = "Error" or strResult=""then
objFSOFile.writeline "An error has occurred"
objFSOFile.close
set objFSOFile = Nothing
objFile.close
set objFile = Nothing
set fso = nothing
wscript.quit
elseif instr(1,strResult,"Fine") = 0 then
ALL_SERVERS_FLAG = FALSE
strMessage = strMessage & strResult
end if
loop
if ALL_SERVERS_FLAG = TRUE then
wscript.echo "All servers are Fine"
objFSOFile.writeline "All CS [C: > 1 GB] [D:> 1 GB] [L: > 5 GB]"
objFSOFile.writeline "All DS [C: > 1 GB] [D:> 1 GB] [F: > 5 GB] [L: > 5 GB]"
objFSOFile.writeline "All DAP [D: > 1 GB]"
else
objFSOFile.writeline vbcrlf &" The following servers were identified"
objFSOFile.writeline strMessage
wscript.echo
wscript.echo "Attention!!. Below are less than the threshold"
wscript.echo "**********************************************"
wscript.echo
wscript.echo " Server " & vbtab& "Drive"& vbtab& "Free Space (GB)"
wscript.echo "============" & vbtab& "====="& vbtab& "==============="
wscript.echo strMessage
wscript.echo "Press any key to exit."
wscript.stdin.readline
end if
objFSOFile.close
set objFSOFile = Nothing
objFile.close
set objFile = Nothing
set fso = nothing
wscript.echo "Disk info written in to "&strOutFile
'----------------------------------------------------------------------------------------
'Function : getDriveInfo
'Input : Server Name
'Output : None - (it simply writes the space info of the server in to the outFile
'
'Dependencies:
'It works perfectly for the correct login credentials
'If either of the login credential fails, displays a msg as "Access Denied"
'----------------------------------------------------------------------------------------
public function getDriveInfo(strserver)
on error resume next
strOutput =""
'Assign the input argument to a local variable
strComputer = strserver
'Create required objects which connects to remote server
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer,"root\cimv2",strUser,strPassword)
if err.number <> 0 then
wscript.echo
wscript.echo "########################################################"
wscript.echo "Error:"&err.description&vbcrlf&"Error Number:"&err.number
wscript.echo "Check if you have given correct login credentials"
wscript.echo "########################################################"
wscript.echo
wscript.echo "Press any key to exit"
wscript.stdin.Readline
getDriveInfo="Error"
exit function
end if
'wscript.echo
'wscript.echo strComputer
'wscript.echo "=========="
Set colDisks = objSWbemServices.ExecQuery("Select * from Win32_LogicalDisk")
ALERT_FLAG = FALSE
'Loop through the collection retrived by colDisks object
For Each objDisk in colDisks
Select Case objDisk.DriveType
'3 represents a Hard Drive
Case 3
'Rounding of to 2 decimal places. Dividing by 1024^3 to have in GB as unit of disk size.
strFreeSpace = Round((objDisk.FreeSpace/(1024*1024*1024)),2)
strTotalSpace = Round((objDisk.Size/(1024*1024*1024)),2)
'Check CS and DS - C drive should be > 1 GB
if instr(1,strComputer,"imr")<> 0 or instr(1,strComputer,"imc") <> 0 then
if objDisk.DeviceID="C:" and cint(strFreeSpace) < 1 then
ALERT_FLAG = TRUE
strOutValue = strOutValue & vbcrlf & strComputer& vbtab& objDisk.DeviceID&vbtab& strFreeSpace
end if
end if
'Check CS G drive should be > 5 GB
if instr(1,strComputer,"imc")<> 0 then
if objDisk.DeviceID="G:" and cint(strFreeSpace) < 5 then
ALERT_FLAG= TRUE
strOutValue = strOutValue & vbcrlf & strComputer& vbtab& objDisk.DeviceID&vbtab& strFreeSpace
end if
if objDisk.DeviceID="I:" and cint(strFreeSpace) < 5 then
ALERT_FLAG= TRUE
strOutValue = strOutValue & vbcrlf & strComputer& vbtab& objDisk.DeviceID&vbtab& strFreeSpace
end if
end if
'Check CS,DS and DAP - F drive should be > 1 GB
if instr(1,strComputer,"imr")<> 0 or instr(1,strComputer,"imc") or instr(1,strComputer,"imd") <> 0 then
if objDisk.DeviceID="D:" and cint(strFreeSpace) < 1 then
ALERT_FLAG= TRUE
strOutValue = strOutValue & vbcrlf & strComputer& vbtab& objDisk.DeviceID&vbtab& strFreeSpace
end if
end if
if instr(1,strComputer,"imr")<> 0 or instr(1,strComputer,"imb") <> 0 then
if objDisk.DeviceID="F:" and cint(strFreeSpace) <= 5 then
ALERT_FLAG= TRUE
strOutValue = strOutValue & vbcrlf & strComputer& vbtab& objDisk.DeviceID&vbtab& strFreeSpace
end if
end if
if instr(1,strComputer,"imc")<> 0 then
if objDisk.DeviceID="L:" and cint(strFreeSpace) < 5 then
ALERT_FLAG= TRUE
strOutValue = strOutValue & vbcrlf & strComputer& vbtab& objDisk.DeviceID&vbtab& strFreeSpace
end if
end if
End Select
Next
if ALERT_FLAG = TRUE then
getDriveInfo=strOutValue
else
getDriveInfo="Fine"
end if
set objSWbemLocator=Nothing
set objSWbemServices=Nothing
End function
Monday, November 9, 2009
Server Status Checking - VB Script
'==========================================================================
'NAME : System-UPTIME.vbs *
'AUTHOR: Arumugam
'Date : 12/21/2008 *
'Description: *
'============ *
' Reads a text file of computer names and gathers speicfied *
' performance data on each one at the interval defined And *
' repeats until it reaches the user-defined variable limit *
'Requirements: *
'============= *
' A text file that has 1 computername per line must be saved in *
' the path defined by the sPath variable *
' *
'PLS CHANGE THE FOLLOWING AS PER YOUR NEEDS *
'========================================== *
'Domain = Domain on which servers are present *
'flog = Location of output file *
'strPath = Location of servers.txt file *
'==========================================================================
t1=time
On error resume next
'Constant declarations for File I/O
'===================================
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
' File Path Defintion "Pls change this as per your requirements"
'===================================================================
'Path of output file
flog = "D:\Temp\Scripts\Server-Stat- check\UpTime-Results.txt"
'Path of servers.txt file
strPath = "D:\Temp\Scripts\Server-Stat- check\Servers.txt"
'Domain of the servers
Domain="domain1"
'Get Login Credentials
'=====================
Wscript.StdOut.Write "Please enter your user ID:"
strID = Wscript.StdIn.ReadLine
'Append domainname (eg: domain) infront of userid
strUser =Domain&"\"&strID
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter your domain password:"
strPassword = objPassword.GetPassword()
Wscript.Echo
wscript.echo
'Instantiate File System Object
'==============================
set fs = CreateObject("Scripting.FileSystemObject")
set objlog = fs.createtextfile(flog)
'Check if input file exists
if fs.FileExists(strPath) then
'open the servers.txt file for reading server names
set fsInput = fs.OpenTextFile(strPath,ForReading)
objlog.writeline " Server " & vbtab & vbtab & " Last Boot Time " & vbtab & " Active since ?"
objlog.writeline "==========" & vbtab & vbtab & " =================" & vbtab & " =============="
do until fsInput.AtEndOfStream
strComputer=fsInput.readline
'Instantiate the SWbemLocator if remote server s pingable
if PingTest(strComputer,1,1000)="Pass" then
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
'Connect to server
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer,"root\cimv2",strUser,strPassword)
if err.number = -2147024891 then
wscript.echo err.description
wscript.echo "Invalid login. Please check ur login credentials"
wscript.echo
wscript.echo
wscript.echo "Press any key to exit..!"
wscript.stdin.readline
wscript.quit
end if
'Execute
Set colOperatingSystems = objSWbemServices.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOS in colOperatingSystems
dtmBootup = objOS.LastBootUpTime
dtmLastBootupTime =WMIDateStringToDate(dtmBootup)
dtmSystemUptime = DateDiff("h",dtmLastBootUpTime, Now)
objlog.writeline strComputer & vbtab &vbtab & dtmLastBootupTime & vbtab & vbtab & dtmSystemUptime & "Hours"
Next
set colOperatingSystems=nothing
set objSWbemServices = nothing
set objSWbemLocator = nothing
Else
objlog.writeline strComputer & vbtab &vbtab & " Not Pingable "
End if
loop
else
msgbox "No Input file found"
End if
msgbox "Completed. Results at " &flog&vbtab&datediff("s",t1,time)
'==========================================================================
'FUNCTION NAME:WMIDateStringToDate(dtmBootup)
'Description: converts the systemdate string to Date format string
'
'==========================================================================
Function WMIDateStringToDate(dtmBootup)
WMIDateStringToDate = CDate(Mid(dtmBootup, 5, 2) & "/" & _
Mid(dtmBootup, 7, 2) & "/" & Left(dtmBootup, 4) _
& " " & Mid (dtmBootup, 9, 2) & ":" & _
Mid(dtmBootup, 11, 2) & ":" & Mid(dtmBootup, _
13, 2))
End Function
'==========================================================================
'FUNCTION NAME:IsReachable(sComputer, #Pings,TimeOut)
'Description: Attempts to ping each computer name. If successful, Function
' equals true; if ping fails, function equals false.
'==========================================================================
Function PingTest(sComputer, iPings, iTimeOut)
Dim sCommand
Dim oShell
Dim oResult
sCommand="ping -n " & iPings & " -w " & iTimeOut & " " & sComputer
Set oShell = CreateObject("Wscript.Shell")
If iPings = "" Then iPings = 2
If iTimeOut = "" Then iTimeOut = 500
Set oResult = oShell.Exec(sCommand)
Select Case InStr(oResult.StdOut.Readall, "TTL=")
Case 0
PingTest="Fail"
Case Else
PingTest="Pass"
End Select
End Function
'NAME : System-UPTIME.vbs *
'AUTHOR: Arumugam
'Date : 12/21/2008 *
'Description: *
'============ *
' Reads a text file of computer names and gathers speicfied *
' performance data on each one at the interval defined And *
' repeats until it reaches the user-defined variable limit *
'Requirements: *
'============= *
' A text file that has 1 computername per line must be saved in *
' the path defined by the sPath variable *
' *
'PLS CHANGE THE FOLLOWING AS PER YOUR NEEDS *
'========================================== *
'Domain = Domain on which servers are present *
'flog = Location of output file *
'strPath = Location of servers.txt file *
'==========================================================================
t1=time
On error resume next
'Constant declarations for File I/O
'===================================
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
' File Path Defintion "Pls change this as per your requirements"
'===================================================================
'Path of output file
flog = "D:\Temp\Scripts\Server-Stat- check\UpTime-Results.txt"
'Path of servers.txt file
strPath = "D:\Temp\Scripts\Server-Stat- check\Servers.txt"
'Domain of the servers
Domain="domain1"
'Get Login Credentials
'=====================
Wscript.StdOut.Write "Please enter your user ID:"
strID = Wscript.StdIn.ReadLine
'Append domainname (eg: domain) infront of userid
strUser =Domain&"\"&strID
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter your domain password:"
strPassword = objPassword.GetPassword()
Wscript.Echo
wscript.echo
'Instantiate File System Object
'==============================
set fs = CreateObject("Scripting.FileSystemObject")
set objlog = fs.createtextfile(flog)
'Check if input file exists
if fs.FileExists(strPath) then
'open the servers.txt file for reading server names
set fsInput = fs.OpenTextFile(strPath,ForReading)
objlog.writeline " Server " & vbtab & vbtab & " Last Boot Time " & vbtab & " Active since ?"
objlog.writeline "==========" & vbtab & vbtab & " =================" & vbtab & " =============="
do until fsInput.AtEndOfStream
strComputer=fsInput.readline
'Instantiate the SWbemLocator if remote server s pingable
if PingTest(strComputer,1,1000)="Pass" then
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
'Connect to server
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer,"root\cimv2",strUser,strPassword)
if err.number = -2147024891 then
wscript.echo err.description
wscript.echo "Invalid login. Please check ur login credentials"
wscript.echo
wscript.echo
wscript.echo "Press any key to exit..!"
wscript.stdin.readline
wscript.quit
end if
'Execute
Set colOperatingSystems = objSWbemServices.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOS in colOperatingSystems
dtmBootup = objOS.LastBootUpTime
dtmLastBootupTime =WMIDateStringToDate(dtmBootup)
dtmSystemUptime = DateDiff("h",dtmLastBootUpTime, Now)
objlog.writeline strComputer & vbtab &vbtab & dtmLastBootupTime & vbtab & vbtab & dtmSystemUptime & "Hours"
Next
set colOperatingSystems=nothing
set objSWbemServices = nothing
set objSWbemLocator = nothing
Else
objlog.writeline strComputer & vbtab &vbtab & " Not Pingable "
End if
loop
else
msgbox "No Input file found"
End if
msgbox "Completed. Results at " &flog&vbtab&datediff("s",t1,time)
'==========================================================================
'FUNCTION NAME:WMIDateStringToDate(dtmBootup)
'Description: converts the systemdate string to Date format string
'
'==========================================================================
Function WMIDateStringToDate(dtmBootup)
WMIDateStringToDate = CDate(Mid(dtmBootup, 5, 2) & "/" & _
Mid(dtmBootup, 7, 2) & "/" & Left(dtmBootup, 4) _
& " " & Mid (dtmBootup, 9, 2) & ":" & _
Mid(dtmBootup, 11, 2) & ":" & Mid(dtmBootup, _
13, 2))
End Function
'==========================================================================
'FUNCTION NAME:IsReachable(sComputer, #Pings,TimeOut)
'Description: Attempts to ping each computer name. If successful, Function
' equals true; if ping fails, function equals false.
'==========================================================================
Function PingTest(sComputer, iPings, iTimeOut)
Dim sCommand
Dim oShell
Dim oResult
sCommand="ping -n " & iPings & " -w " & iTimeOut & " " & sComputer
Set oShell = CreateObject("Wscript.Shell")
If iPings = "" Then iPings = 2
If iTimeOut = "" Then iTimeOut = 500
Set oResult = oShell.Exec(sCommand)
Select Case InStr(oResult.StdOut.Readall, "TTL=")
Case 0
PingTest="Fail"
Case Else
PingTest="Pass"
End Select
End Function
Connecting to Database using VB Script
Query = "Select count(*) as ab from item"
ConnectionString = "DRIVER={SQL SERVER};SERVER=servername;Database=dbname;User Id=user123;Password=pass123;"
Set DBConnection = CreateObject("ADODB.Connection")
Set DBRows = CreateObject("ADODB.Recordset")
'* Open connection
DBConnection.Open connectionString
if err.number <> 0 then
msgbox "Connection Failed"& vbcrlf & err.description
end if
'* Execute SQL
Set DBRows = DBconnection.Execute(Query)
if err.number<> 0 then
msgbox "Querying Failed"& vbcrlf & err.description
end if
msgbox DBRows("ab")
'While Not DBRows.EOF
'Msgbox DBRows.Fields.Value
'DBrows.MoveNext
'Wend
DBconnection.Close
Set DBRows = Nothing
Set DBconnection = Nothing
ConnectionString = "DRIVER={SQL SERVER};SERVER=servername;Database=dbname;User Id=user123;Password=pass123;"
Set DBConnection = CreateObject("ADODB.Connection")
Set DBRows = CreateObject("ADODB.Recordset")
'* Open connection
DBConnection.Open connectionString
if err.number <> 0 then
msgbox "Connection Failed"& vbcrlf & err.description
end if
'* Execute SQL
Set DBRows = DBconnection.Execute(Query)
if err.number<> 0 then
msgbox "Querying Failed"& vbcrlf & err.description
end if
msgbox DBRows("ab")
'While Not DBRows.EOF
'Msgbox DBRows.Fields.Value
'DBrows.MoveNext
'Wend
DBconnection.Close
Set DBRows = Nothing
Set DBconnection = Nothing
Get the Drivers List in a PC - VBS
strLog = Replace(Wscript.ScriptFullname,Wscript.Scriptname,"")&"GetDrivers.log"
set FSO = CreateObject("Scripting.Filesystemobject")
set Logs = FSO.createTextFile(strLog)
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers"
objRegistry.EnumValues HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames, arrValueTypes
For i = 0 to UBound(arrValueNames)
strValueName = arrValueNames(i)
objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
Logs.writeline arrValueNames(i) & " -- " & strValue
Next
Logs.close
set Logs = Nothing
set FSO = Nothing
set objRegistry = Nothing
set FSO = CreateObject("Scripting.Filesystemobject")
set Logs = FSO.createTextFile(strLog)
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers"
objRegistry.EnumValues HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames, arrValueTypes
For i = 0 to UBound(arrValueNames)
strValueName = arrValueNames(i)
objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
Logs.writeline arrValueNames(i) & " -- " & strValue
Next
Logs.close
set Logs = Nothing
set FSO = Nothing
set objRegistry = Nothing
Monitor the services of a remote server - VBS
'************************************************************************************************
'File Name : Services_Checker.vbs
'Description : Connects to a Server and checks if the XXX services are running
'Author : Arumugam
'Date : 09/07/2008
'Version : 1.0
'************************************************************************************************
on error resume next
wscript.echo
wscript.echo vbcrlf & " Services Checker"
wscript.echo "***********************"
logFile=replace(wscript.scriptfullname,wscript.scriptname,"")&"\Services.log"
set FSO = createobject("scripting.filesystemobject")
set objLog = FSO.createtextfile(logfile)
'Get the User ID
Wscript.StdOut.Write "Please enter your user name ( eg: user123):"
strUser = Wscript.StdIn.ReadLine
strUser = "DOMAIN\"&strUser
'Get the Password
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter your password(corp domain) :"
strPassword = objPassword.GetPassword()
Wscript.Echo
if len(struser)<>12 or len(strPassword)<>8 then
msgbox"Check your Login Credentials"
wscript.quit
end if
objLog.writeline "################################################################################"
objLog.writeline "EXECUTION STARTED AT : " & now & " BY : " & strUser & vbcrlf
wscript.echo "Checking Services on the Servers.Please wait..."&vbclrf
MonitorGAPBEE ("servername")
objLog.writeline "EXECUTION COMPLETED AT : " & now
objLog.writeline "################################################################################"
objLog.close
set objLog = Nothing
set FSO = Nothing
Public Function MonitorGAPBEE(strServer)
on error resume next
objLog.writeline "SERVER NAME:"& strServer
objLog.writeline "========================="
'Server to be checked
strComputer =strServer
'Connect to WMI of the Remote server
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer,"root\cimv2",strUser,strPassword)
'Check if connection is successful
if err.number <> 0 then
objLog.writeline "Not connected"
objLog.writeline "********************************************"
objLog.writeline "Error occurred" &vbcrlf& err.description
objLog.writeline "********************************************"
objLog.writeline "SCRIPT IS ENDING NOW"
objLog.writeline "################################################################################"
wscript.echo "Error occurred" &vbcrlf& err.description
wscript.quit
else
objLog.writeline "connected"
end if
wscript.echo "*****************************************************"
wscript.echo strComputer & " Connected"
wscript.echo "============="
'Query the WMI for services
Set colDisks = objSWbemServices.ExecQuery("Select * from Win32_Service")
if err.number <> 0 then
objLog.writeline "WMI Query Failed" & vbcrlf& err.description&vbcrlf
else
objLog.writeline "WMI Query - Success"&vbcrlf
end if
'Set the Flag
Service_Flag = TRUE
objLog.writeline "Checking for abc services"
objLog.writeline "========================="&vbcrlf
'Check each of the services
For Each objDisk in colDisks
Service_Name = objDisk.displayname
Service_Status = objDisk.state
'Check the status of abc services
if instr(Service_Name,"abc") <> 0 and Service_Status<>"Running"then
strService = strService&vbcrlf&Service_Name
Service_Flag = FALSE
do until len(Service_Name) = 45
Service_Name = Service_Name&" "
loop
wscript.echo Service_Name & vbtab & Service_Status
objLog.writeline Service_Name & vbtab & Service_Status
elseif instr(Service_Name,"ULZ") <> 0 and Service_Status="Running"then
do until len(Service_Name) = 45
Service_Name = Service_Name&" "
loop
wscript.echo Service_Name & vbtab & Service_Status
objLog.writeline Service_Name & vbtab & Service_Status
end if
Next
'Check the Flag and display the msg
if Service_Flag = TRUE then
objLog.writeline "All the ULZ services are running fine"
else
WSCRIPT.ECHO
WSCRIPT.ECHO "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
wscript.echo "Please check the following services"& strService
WSCRIPT.ECHO "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
WSCRIPT.ECHO
objLog.writeline "Following abc services are not running"
objLog.writeline "======================================"&strService
end if
'Destruct the used objects
Set colDisks=nothing
Set objSWbemServices = nothing
Set objSWbemLocator = nothing
objLog.writeline "**************************************************************"
end function
wscript.echo "Completed. Press any key to exit"
strUser = Wscript.StdIn.ReadLine
'File Name : Services_Checker.vbs
'Description : Connects to a Server and checks if the XXX services are running
'Author : Arumugam
'Date : 09/07/2008
'Version : 1.0
'************************************************************************************************
on error resume next
wscript.echo
wscript.echo vbcrlf & " Services Checker"
wscript.echo "***********************"
logFile=replace(wscript.scriptfullname,wscript.scriptname,"")&"\Services.log"
set FSO = createobject("scripting.filesystemobject")
set objLog = FSO.createtextfile(logfile)
'Get the User ID
Wscript.StdOut.Write "Please enter your user name ( eg: user123):"
strUser = Wscript.StdIn.ReadLine
strUser = "DOMAIN\"&strUser
'Get the Password
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter your password(corp domain) :"
strPassword = objPassword.GetPassword()
Wscript.Echo
if len(struser)<>12 or len(strPassword)<>8 then
msgbox"Check your Login Credentials"
wscript.quit
end if
objLog.writeline "################################################################################"
objLog.writeline "EXECUTION STARTED AT : " & now & " BY : " & strUser & vbcrlf
wscript.echo "Checking Services on the Servers.Please wait..."&vbclrf
MonitorGAPBEE ("servername")
objLog.writeline "EXECUTION COMPLETED AT : " & now
objLog.writeline "################################################################################"
objLog.close
set objLog = Nothing
set FSO = Nothing
Public Function MonitorGAPBEE(strServer)
on error resume next
objLog.writeline "SERVER NAME:"& strServer
objLog.writeline "========================="
'Server to be checked
strComputer =strServer
'Connect to WMI of the Remote server
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer,"root\cimv2",strUser,strPassword)
'Check if connection is successful
if err.number <> 0 then
objLog.writeline "Not connected"
objLog.writeline "********************************************"
objLog.writeline "Error occurred" &vbcrlf& err.description
objLog.writeline "********************************************"
objLog.writeline "SCRIPT IS ENDING NOW"
objLog.writeline "################################################################################"
wscript.echo "Error occurred" &vbcrlf& err.description
wscript.quit
else
objLog.writeline "connected"
end if
wscript.echo "*****************************************************"
wscript.echo strComputer & " Connected"
wscript.echo "============="
'Query the WMI for services
Set colDisks = objSWbemServices.ExecQuery("Select * from Win32_Service")
if err.number <> 0 then
objLog.writeline "WMI Query Failed" & vbcrlf& err.description&vbcrlf
else
objLog.writeline "WMI Query - Success"&vbcrlf
end if
'Set the Flag
Service_Flag = TRUE
objLog.writeline "Checking for abc services"
objLog.writeline "========================="&vbcrlf
'Check each of the services
For Each objDisk in colDisks
Service_Name = objDisk.displayname
Service_Status = objDisk.state
'Check the status of abc services
if instr(Service_Name,"abc") <> 0 and Service_Status<>"Running"then
strService = strService&vbcrlf&Service_Name
Service_Flag = FALSE
do until len(Service_Name) = 45
Service_Name = Service_Name&" "
loop
wscript.echo Service_Name & vbtab & Service_Status
objLog.writeline Service_Name & vbtab & Service_Status
elseif instr(Service_Name,"ULZ") <> 0 and Service_Status="Running"then
do until len(Service_Name) = 45
Service_Name = Service_Name&" "
loop
wscript.echo Service_Name & vbtab & Service_Status
objLog.writeline Service_Name & vbtab & Service_Status
end if
Next
'Check the Flag and display the msg
if Service_Flag = TRUE then
objLog.writeline "All the ULZ services are running fine"
else
WSCRIPT.ECHO
WSCRIPT.ECHO "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
wscript.echo "Please check the following services"& strService
WSCRIPT.ECHO "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
WSCRIPT.ECHO
objLog.writeline "Following abc services are not running"
objLog.writeline "======================================"&strService
end if
'Destruct the used objects
Set colDisks=nothing
Set objSWbemServices = nothing
Set objSWbemLocator = nothing
objLog.writeline "**************************************************************"
end function
wscript.echo "Completed. Press any key to exit"
strUser = Wscript.StdIn.ReadLine
Checking the Local Groups& Users - VBS
set objShell = createobject("wscript.shell")
set objNetwork = createobject("Wscript.network")
ComputerName = objNetwork.computername
set objNetwork = Nothing
set objShell = Nothing
strOutputFile = replace(wscript.scriptfullname,wscript.scriptname,"")&"Logs.txt"
strComputer = "."
'create output file
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile(strOutputFile)
objTextFile.writeline "##########################################################"&vbcrlf
objTextFile.writeline "COMPUTER NAME :"& ComputerName&vbcrlf&"Local Group Details "&vbcrlf
objTextFile.writeline "##########################################################"
objTextFile.writeline
'objTextFile.writeline "Group_Name" & vbtab& vbtab & "Configured Users"
Set colGroups = GetObject("WinNT://" & strComputer & "")
if err.number <> 0 then
wscript.echo "Connection Failed"&vbcrlf&err.description
wscript.quit
end if
colGroups.Filter = Array("group")
big=0
For Each objGroup In colGroups
objTextFile.WriteLine "*****************************************************"
objTextFile.WriteLine
Users_Flag = FALSE
do until i=17
tmp=tmp&" "
i=i+1
loop
User_Count=0
For Each objUser in objGroup.Members
GroupUsers = GroupUsers&vbcrlf&tmp&objUser.Name
User_Count = User_Count + 1
Users_Flag = TRUE
Next
GroupName = objGroup.Name
do until len(GroupName) = 65
GroupName=GroupName&" "
Loop
if Users_Flag = TRUE then
objTextFile.WriteLine "GROUP NAME :"& GroupName &vbcrlf&vbcrlf &_
"TOTAL USERS :" & User_Count & vbcrlf&vbcrlf &"USERS CONFIGURED:" & GroupUsers
else
objTextFile.WriteLine "GROUP NAME :"& GroupName &vbcrlf&vbcrlf &_
"TOTAL USERS :"& User_Count &vbcrlf&vbcrlf &"USERS CONFIGURED:" &"NONE"
end if
objTextFile.WriteLine
Next
objTextFile.WriteLine "*****************************************************"
objTextFile.Close
msgbox "done"
set objNetwork = createobject("Wscript.network")
ComputerName = objNetwork.computername
set objNetwork = Nothing
set objShell = Nothing
strOutputFile = replace(wscript.scriptfullname,wscript.scriptname,"")&"Logs.txt"
strComputer = "."
'create output file
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile(strOutputFile)
objTextFile.writeline "##########################################################"&vbcrlf
objTextFile.writeline "COMPUTER NAME :"& ComputerName&vbcrlf&"Local Group Details "&vbcrlf
objTextFile.writeline "##########################################################"
objTextFile.writeline
'objTextFile.writeline "Group_Name" & vbtab& vbtab & "Configured Users"
Set colGroups = GetObject("WinNT://" & strComputer & "")
if err.number <> 0 then
wscript.echo "Connection Failed"&vbcrlf&err.description
wscript.quit
end if
colGroups.Filter = Array("group")
big=0
For Each objGroup In colGroups
objTextFile.WriteLine "*****************************************************"
objTextFile.WriteLine
Users_Flag = FALSE
do until i=17
tmp=tmp&" "
i=i+1
loop
User_Count=0
For Each objUser in objGroup.Members
GroupUsers = GroupUsers&vbcrlf&tmp&objUser.Name
User_Count = User_Count + 1
Users_Flag = TRUE
Next
GroupName = objGroup.Name
do until len(GroupName) = 65
GroupName=GroupName&" "
Loop
if Users_Flag = TRUE then
objTextFile.WriteLine "GROUP NAME :"& GroupName &vbcrlf&vbcrlf &_
"TOTAL USERS :" & User_Count & vbcrlf&vbcrlf &"USERS CONFIGURED:" & GroupUsers
else
objTextFile.WriteLine "GROUP NAME :"& GroupName &vbcrlf&vbcrlf &_
"TOTAL USERS :"& User_Count &vbcrlf&vbcrlf &"USERS CONFIGURED:" &"NONE"
end if
objTextFile.WriteLine
Next
objTextFile.WriteLine "*****************************************************"
objTextFile.Close
msgbox "done"
send mail using vbs
'************************************************************************************************
'Function Name : SendMail(strFile)
'Purpose : To send a mail with an attachment which is passed as input value to this fn
'Input : File to be attached in the mail
'************************************************************************************************
Public Function SendMail(strFile)
On error Resume Next
'Get the Email ID from the user
strEmailID = InputBox ("Please enter your Email ID:")
'Confirm if the Email id is correct
strOption = msgbox ("Your ID :"&strEmailID,3,"Confirm Mail ID")
'Send mail If it is a correct email ID
if strOption = 6 then
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Report"
objMessage.TextBody = "Attached the Report generated on " & date
'Sender & receiver Email IDs
'===========================
objMessage.From = strEmailID
objMessage.To = strEmailID
'Set the Mail configurations
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.example.com"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
' Note : Change XXXXXX with your userid
'======================================
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUser
'Note: Give the corp password - used for SMTP server authentication
'===================================================================
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strPassword
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objMessage.Configuration.Fields.Update
objMessage.Send
if err.number = 0 then
Msgbox "Pulls report is successfully Sent"
else
msgbox "Report is Failed" & vbcrlf& err.description
end if
else
SendMail
end if
End Function
'################## END OF THE SCRIPT ####################################################################################
'Function Name : SendMail(strFile)
'Purpose : To send a mail with an attachment which is passed as input value to this fn
'Input : File to be attached in the mail
'************************************************************************************************
Public Function SendMail(strFile)
On error Resume Next
'Get the Email ID from the user
strEmailID = InputBox ("Please enter your Email ID:")
'Confirm if the Email id is correct
strOption = msgbox ("Your ID :"&strEmailID,3,"Confirm Mail ID")
'Send mail If it is a correct email ID
if strOption = 6 then
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Report"
objMessage.TextBody = "Attached the Report generated on " & date
'Sender & receiver Email IDs
'===========================
objMessage.From = strEmailID
objMessage.To = strEmailID
'Set the Mail configurations
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.example.com"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
' Note : Change XXXXXX with your userid
'======================================
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUser
'Note: Give the corp password - used for SMTP server authentication
'===================================================================
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strPassword
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objMessage.Configuration.Fields.Update
objMessage.Send
if err.number = 0 then
Msgbox "Pulls report is successfully Sent"
else
msgbox "Report is Failed" & vbcrlf& err.description
end if
else
SendMail
end if
End Function
'################## END OF THE SCRIPT ####################################################################################
Wednesday, November 4, 2009
About Me
Hi,
Thanks for visiting my page. I feel happy to let you know about myself who is called by the name "Arumugam" @ "Aru"(Call out Name) , a software professional living in Chennai - tamilnadu-India.
I was born in KovilPatti near tuticorin district and i am amazed to see this world since 26 years. I was grown up (am not tallest anyway) in coimbatore where i was groomed,matured and learnt to live with any challenges. Graduated from GCE Tirunelveli from Majestic Mechanical Engg and worked for a compressor Manufacturing company at coimbatore for an year. Since then, i changed the gear to turn up in IT Sector and got relocated to Infosys as Software Engineer.
Have been working at infy for 3.5 years (till date - Nov 4 2009) and looking out for sharing information and knowledge with others which brought me up here to write up this.
Eagerly looking forward to have more buddies to spread up my wings on this blogspot there by making this globe better place to live in.
Happy blogging..
Regards,
Aru
Thanks for visiting my page. I feel happy to let you know about myself who is called by the name "Arumugam" @ "Aru"(Call out Name) , a software professional living in Chennai - tamilnadu-India.
I was born in KovilPatti near tuticorin district and i am amazed to see this world since 26 years. I was grown up (am not tallest anyway) in coimbatore where i was groomed,matured and learnt to live with any challenges. Graduated from GCE Tirunelveli from Majestic Mechanical Engg and worked for a compressor Manufacturing company at coimbatore for an year. Since then, i changed the gear to turn up in IT Sector and got relocated to Infosys as Software Engineer.
Have been working at infy for 3.5 years (till date - Nov 4 2009) and looking out for sharing information and knowledge with others which brought me up here to write up this.
Eagerly looking forward to have more buddies to spread up my wings on this blogspot there by making this globe better place to live in.
Happy blogging..
Regards,
Aru
Subscribe to:
Posts (Atom)