Marli-Smartdata.ps1
function Marli-Smartdata{ $ErrorActionPreference = "SilentlyContinue" $currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent()) $testadmin = $currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) if ($testadmin -eq $false) { Write-Host 'You must start this Command as Administrator!' -ForegroundColor Red break } ################################################################################################ $Smartdata = @() Foreach ($Disk in Get-Disk) { $Line = '' | Select-Object Disk, ReadErrorsCorrected, ReadErrorsTotal, ReadErrorsUncorrected, WriteErrorsCorrected, WriteErrorsTotal, WriteErrorsUncorrected $Line.Disk = $Disk.FriendlyName Foreach ($error in $Disk | Get-StorageReliabilityCounter | Select-Object -Property *error*) { $Line.ReadErrorsCorrected = $error.ReadErrorsCorrected $Line.ReadErrorsTotal = $error.ReadErrorsTotal $Line.ReadErrorsUncorrected = $error.ReadErrorsUncorrected $Line.WriteErrorsCorrected = $error.WriteErrorsCorrected $Line.WriteErrorsTotal = $error.WriteErrorsTotal $Line.WriteErrorsUncorrected = $error.WriteErrorsUncorrected $Smartdata += $Line } } return $Smartdata } |