Я хочу создать объект в powershell, который хранит информацию о состоянии скрипта.Я могу сделать это:
$myScriptObject =
@("status", "Selected Operation(s):", "None"),
("status", "Current Operation:", "None"),
("status", "Current Step:", "Prompting for Script Action" ),
("test", "This is just for testing", "1,2,3") `
| ForEach-Object {[pscustomobject]@{kind = $_[0]; name = $_[1]; value
= $_[2]}}
И это работает:
$myScriptObject
kind name value
---- ---- -----
status Selected Operation(s): None
status Current Operation: None
status Current Step: Prompting for Script Action
test This is just for testing 1,2,3
... и я могу даже сделать это:
foreach($myObject in $myScriptObject) {
if ($myObject.kind -eq 'status') {
Write-Host $myObject.name $myObject.value
}
}
, который выводит это:
Selected Operation(s): None
Current Operation: None
Current Step: Prompting for Script Action
Мои вопросы: 1. Как мне добавить что-то вроде следующего в $ myScriptObject:
-kind "ActionMenuChoice" -Name "Do This" -Value 1
-kind "ActionMenuChoice" -Name "Do That" -Value 2
Как изменить элементы, уже находящиеся в объекте?
status Current Step: Prompting for Script Action
на
status Current Step: Prompting for Login
Или япроисходит все это неправильно?Идея возникла из-за трудностей с возвратом множества переменных обратно из функции, и я читал, что с использованием объектов гораздо легче передавать туда и обратно в функциях, и обнаружил, что с помощью объектов гораздо легче отслеживать и в определенной степени манипулировать.
Ура!