Skip to content

windows softraid monitor

2019.12.19 05:34

WHRIA 조회 수:85

powershell script 고 인터넷에 있는것을 약간 수정함

 



 

 


# A simple PowerShell script for retrieving the RAID status of volumes with help of diskpart.

# The nicer solution would be using WMI (which does not contain the RAID status in the Status field of Win32_DiskDrive, Win32_LogicalDisk or Win32_Volume for unknown reason)

# or using the new PowerShell API introduced with Windows 8 (wrong target system as our customer uses a Windows 7 architecture).

# diskpart requires administrative privileges so this script must be executed under an administrative account if it is executed standalone.

# check_mk has this privileges and therefore this script must only be copied to your check_mk/plugins directory and you are done.

#

# Christopher Klein <ckl[at]neos-it[dot]de>

# This script is distributed under the GPL v2 license.

 

#Volumes:

chcp 437

$dpV = "list volume" | diskpart | ? { $_ -match "^  [^-]" }

foreach ($row in $dpV) {

$OutString = $OutString+$row+"`r`n"

# skip first line

if (!$row.Contains("Volume ###")) {

# best match RegExp from http://www.eventlogblog.com/blog/2012/02/how-to-make-the-windows-softwa.html

if ($row -match "\s\s(Volume\s\d)\s+([A-Z])\s+(.*)\s\s(NTFS|FAT)\s+(Mirror|RAID-5|Stripe|Spiegel|Spiegelung|Übergreifend|Spanned)\s+(\d+)\s+(..)\s\s([A-Za-z]*\s?[A-Za-z]*)(\s\s)*.*")  {

$disk = $matches[2] 

# 0 = OK, 1 = WARNING, 2 = CRITICAL

$statusCode = 1

$status = "WARNING"

$text = "Could not parse line: $row"

$line = $row

if ($line -match "Fehlerfre |OK|Healthy") {

$statusText = "is healthy"

$statusCode = 0

$status = "OK"

}

elseif ($line -match "Rebuild") {

$statusText = "is rebuilding"

$statusCode = 1

$VolumeErrorFound = 1

}

elseif ($line -match "Failed|At Risk|Fehlerhaf") {

$statusText = "failed"

$statusCode = 2

$status = "CRITICAL"

$VolumeErrorFound = 1

}

echo "$statusCode microsoft_software_raid - $status - Software RAID on disk ${disk}:\ $statusText"

}

}

}

$OutString = $OutString+"`r`n"

#Disk:

$dpD = "list disk" | diskpart | ? { $_ -match "^  [^-]" }

foreach ($row in $dpD) {

# skip first line

if (!$row.Contains("Volume ###")) {

$OutString = $OutString+$row+"`r`n"

# best match RegExp from http://www.eventlogblog.com/blog/2012/02/how-to-make-the-windows-softwa.html

if ($row -match "Errors") {

#echo "$row"

$DiskErrorFound = 1

}

}

}

if (($DiskErrorFound) -Or ($VolumeErrorFound)) {

$SMTPServer = "127.0.0.1"

$SMTPPort = 25

$EmailTo = "@@@"

$EmailFrom = "@@@"

$EmailSubject = "Disk or Volume Error on $env:computername"

$EmailBody = $OutString

Send-MailMessage -To $EmailTo -From $EmailFrom -Subject $EmailSubject -Body $EmailBody -SmtpServer $SMTPServer -Port $SMTPPort

}

번호 제목 글쓴이 날짜 조회 수
199 WOL shutdown WHRIA 2016.01.22 85
198 저녁 10시에 자동 종료 스크립트 file WHRIA 2016.06.25 85
» windows softraid monitor WHRIA 2019.12.19 85
196 이율초재 WHRIA 2014.10.20 84
195 힘든 하루하루 WHRIA 2016.09.30 84
194 sroc [1] WHRIA 2020.12.10 84
193 ebay 에서 비트코인 구입 file WHRIA 2016.08.16 83
192 넌센스 퀴즈 file WHRIA 2016.09.04 82
191 tab 구조 html WHRIA 2020.06.28 82
190 AI papers [6] WHRIA 2023.03.02 82
189 lvm 축소 확장 [4] WHRIA 2020.01.13 81
188 개명 WHRIA 2020.05.05 81
187 startup WHRIA 2020.05.08 81
186 DD-WRT 펌웨어로 버팔로 G450H 를 업그레이드 WHRIA 2015.11.22 80
185 드리블 WHRIA 2019.04.12 80

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소