Я пытаюсь написать скрипт о состоянии серверного оборудования
Следующие функции были выполнены.
Get-SummaryStatus.ps1
Get-Memory .ps1
Get-PowerSupply.ps1
Get-Proecssor.ps1
Get-Fanstatus.ps1
Get-SummaryStatus.ps1 output is
Server ServerStatus
------ ------------
AAA {System.Collections.Hashtable}
$report.server output is
AAA
$report.serverstatus output is
Name Value
---- -----
MemoryStatus OK
PowerStatus OK
ProcessorStatus OK
Fanstatus OK
Выход Get-Memory.ps1 is
Состояние памяти сервера
------ ------------
AAA {System.Collections.Hashtable, System.Collections.Hashtable}
$ report.server выводится
AAA
$ report.MemoryStatus выводится
Имя Значение
---- -----
MemoryID 1
MemoryStatus OK
MemoryID 2
MemoryStatus OK
Get-PowerSupply.ps1 output is
Server MemoryStatus
------ ------------
AAA {System.Collections.Hashtable, System.Collections.Hashtable}
$report.server output is
AAA
$report.PowerStatus output is
Name Value
---- -----
PowerID 1
PowerStatus OK
PowerID 2
PowerStatus OK
Выход Get-Proecssor.ps1 Аналогичен трем выше
Выход Get-Fanstatus.ps1 Подобно трем выше
Duo to I, у меня есть более 1000 служб, которые необходимо отслеживать, поэтому я хочу сделать следующие шаги для повышения эффективности.
Я создал новую основную функцию ( ServerH ealthCheck) и вызовите все подосновы (резюме, память, мощность ...) для основной функции. (выполнено)
Если итоговое состояние в порядке, а затем вывести итоговое состояние. (завершено.)
Если состояние сводной памяти не удалось. и затем вызовет Get-Memory.ps1, чтобы определить, какая память плохая. и затем вызовет Get-powersupply.ps1, чтобы определить, какой из них powerupply неисправен.
Мой вопрос: Как добавить / заменить объект, чтобы получить ожидаемый результат? заранее спасибо.
Expected output(if summary memory status is failed):
Server ServerStatus
------ ------------
AAA {System.Collections.Hashtable}
$report.server output is
AAA
$report.serverstatus output is
Name Value
---- -----
MemoryID 1
MemoryStatus failed
PowerStatus OK
ProcessorStatus OK
Fanstatus OK