Ответы пользователя по тегу Системное администрирование
  • Как собрать информацию о состоянии S.M.A.R.T. жестких дисков на компах в сети (AD)?

    #Скрипт проверки SMART и наличия папок C:\FOUND*
    #Если компьютер не активен, то результатов по нему не будет
    
    #Если результат работы PredictFailure == True, значит, диск в опасности, если PredictFailure == False - все хорошо у диска
    #Результат отсортирован по Reason и имени компьютера
    #SearchBase надо указать свою. Примерное время выполнения 10-120 мин для проверки 10-100 (примерно) компьютеров
    #Если присутствует факт исправления ошибок (chkdisk /r) на диске, рекомендуется провести дополнительную диагностику
    
    Clear-Host
    $watch = [System.Diagnostics.Stopwatch ]::StartNew()
    $watch.Start() #Запуск таймера
    Write-Host "Время запуска"
    (get-date) .ToString()
    $Computers = get-adcomputer -SearchBase "ou=xxx, dc=xx, dc=ru" -Filter *  |select -exp name
    (Get-WmiObject  -Computername $Computers -namespace root\wmi -class MSStorageDriver_FailurePredictStatus -ErrorAction Silentlycontinue | Select PSComputerName, InstanceName, PredictFailure, Reason | sort PredictFailure, PSComputerName | Format-Table -Autosize)
    
    Write-Host "Если результат работы PredictFailure == True, значит, диск в опасности, если PredictFailure == False - все хорошо у диска"
    
    foreach ($Server in $Computers)
    {
          if (test-path -path "\\$server\C`$\FOUND*" )
     
               {
               Write-Host " $Server - присутствует факт исправления ошибок на диске" -ForegroundColor Red
                }
          else
               {
               Write-Host " $Server - исправлений ошибок на диске не замечено" -ForegroundColor Green
                }
    }
    Write-Host "Если присутствует факт исправления ошибок на диске, рекомендуется провести дополнительную диагностику"
    Write-Host "Время окончания"
    (get-date) .ToString()
    $watch.Stop() #Остановка таймера
    Write-Host "Время выполнения"
    Write-Host $watch .Elapsed #Время выполнения


    Развитием скрипта может быть отправка результатов проверки по e-mail
    Ответ написан
    1 комментарий