Add Check_scripts/Win - Disk drive health.ps1
This commit is contained in:
44
Check_scripts/Win - Disk drive health.ps1
Normal file
44
Check_scripts/Win - Disk drive health.ps1
Normal file
@@ -0,0 +1,44 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Check the status of the fysical drives (if any) on the system
|
||||
|
||||
.DESCRIPTION
|
||||
This script will check if there are any error on the disks and will let you know if you need to investigate any errors,
|
||||
This script should be deployed as a Check Script.
|
||||
|
||||
By default the script will check upto 1 day back in the log,
|
||||
If you adjust the $Timespan parameter you can extend this by more days.
|
||||
|
||||
.OUTPUTS
|
||||
This script will report back if it found any of the event logs on the machine with the message of that log entry.
|
||||
|
||||
Errorcodes:
|
||||
0 - All OK
|
||||
1 - Disk errors detected please investigate
|
||||
|
||||
.EXAMPLE
|
||||
Win - Disk drive health.ps1
|
||||
|
||||
.NOTES
|
||||
Source: Tactical RMM repository
|
||||
|
||||
.CHANGELOG
|
||||
24-06-2022 - Copied from TRMM repo, tweaked for my own environment.
|
||||
#>
|
||||
|
||||
#region Parameters, functions and global variables
|
||||
$ErrorActionPreference = 'silentlycontinue'
|
||||
$TimeSpan = (Get-Date) - (New-TimeSpan -Day 1)
|
||||
#endregion
|
||||
#region script
|
||||
if (Get-WinEvent -FilterHashtable @{LogName = 'system'; ID = '11', '9', '15', '52', '129', '7', '98'; Level = 2, 3; ProviderName = '*disk*', '*storsvc*', '*ntfs*'; StartTime = $TimeSpan } -MaxEvents 10 | Where-Object -Property Message -Match Volume*) {
|
||||
Write-Output "Disk errors detected please investigate"
|
||||
Get-WinEvent -FilterHashtable @{LogName = 'system'; ID = '11', '9', '15', '52', '129', '7', '98'; Level = 2, 3; ProviderName = '*disk*', '*storsvc*', '*ntfs*'; StartTime = $TimeSpan }
|
||||
exit 1
|
||||
}
|
||||
else {
|
||||
Write-Output "Disks are Healthy"
|
||||
exit 0
|
||||
}
|
||||
Exit $LASTEXITCODE
|
||||
#endregion
|
||||
Reference in New Issue
Block a user