Как добавить / заменить psobject - PullRequest
2 голосов
/ 23 февраля 2020

Я пытаюсь написать скрипт о состоянии серверного оборудования

Следующие функции были выполнены.

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


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...