Приветствую
Есть скрипт который проверяет состояние рейда
$result = $null
#Проверяем наличие intel raid cli tool
$cli = test-path C:\CLI_Tools\x64\rstcli64.exe
#Проверяем наличие intel raid cli tool на конечном сервере
if ($cli -like $false){...}
#Собираем информацию о состоянии RAID
$clireport = C:\CLI_Tools\x64\rstcli64.exe -I
$status = $clireport | Select-String "State:*"
$GoodStatus = $status -like "*normal*"
$BadStatus = $status -notlike "*normal*"
#Логика проверки
if ($GoodStatus -like "*normal*"){$result = "Raid - OK"}
if ($BadStatus -notlike $null){$result = “Raid - Error”}
if ($status -eq $null){$result = "Script Error"}
#Вывод результата проверки
$result
локально скрипт отрабатывает как задумано, но если подключатся через Enter-PSSession на некоторых серверах не отрабатывает строчка "$clireport = C:\CLI_Tools\x64\rstcli64.exe -I" и $result показывает "Script Erorr".
Начал копать почему на одних серверах работает, а на других нет, нашел разношерстность в версиях .net на серверах, выровнял думая что это решит проблему, но получилось так что на проблемных серверах строчка "$clireport = C:\CLI_Tools\x64\rstcli64.exe -I" отрабатывает первые пару минут после загрузки, а потом снова не работает, думаю что запускается некая служба которая препятствует запуску приложений через winrm, но не знаю куда копать, есть у кого идеи?
Updated: 07 June 2018, 15:20:14
решение проблемы:
Stop-Service IAStorDataMgrSvc -Force
$clireport = C:\CLI_Tools\x64\rstcli64.exe -I
Start-Service IAStorDataMgrSvc