Skip to content

windows softraid monitor

2019.12.19 05:34

WHRIA 조회 수:82

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

}

번호 제목 글쓴이 날짜 조회 수
1624 Re: [TIP] 유동 IP 로 서버 만드는 법 애국자 2001.03.29 2165
1623 ^^*v 저 또 왔어요 Schauberger 2001.03.30 2083
1622 노 벨 채영광 2001.04.04 2098
1621 Re: ^^*v 저 또 왔어요 한승석 2001.04.07 2004
1620 congratulation!! soma 2001.04.07 2121
1619 들렸다가오... 기갑형 2001.04.14 2083
1618 의석아 너 사진이다. 한승석 2001.04.20 2114
1617 Iczelion 한승석 2001.04.21 2088
1616 ^^*v 호호 Schauberger 2001.04.24 2075
1615 봄기운 김다솜 2001.05.14 2076
1614 프리 되는 레지스트리 .. 2001.05.23 2082
1613 정식 .. 2001.05.23 2073
1612 달리기 김다솜 2001.06.01 2372
1611 퀴즈하나 !! schauberger 2001.06.09 2078
1610 Re: 퀴즈하나 !! 한승석 2001.06.12 2076

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소