У меня есть следующий код, и я хотел бы вернуть строковое значение для aaa
, в зависимости от того, что в ADProps.physicalDeliveryOfficeName
предоставлено для функции GetOfficeLocation
.
Коммутатор, кажется, делает то, чтоон должен, но не возвращает строковое значение, возможно, я неправильно ссылаюсь на него при выводе $a["aaa"]
?
$global:newcastle = @{
"Value 1 newcastle" = @{
"aaa" = "newcastle string";
}
}
$global:london = @{
"Value 1 london" = @{
"aaa" = "london string";
}
}
$global:heathrow = @{
"Value 1 heathrow" = @{
"aaa" = "heathrow string";
}
}
$ADProps=@{
'physicalDeliveryOfficeName'= "heathrow airport";
}
function GetOfficeLocation ($office) {
switch ( $office )
{
"newcastle" {$location = "newcastle"; break}
"london city" {$location = "london"; break}
"heathrow airport" {$location = "heathrow"; break}
}
return $location
}
$a = GetOfficeLocation($ADProps.physicalDeliveryOfficeName)
$a["aaa"]
В результате ничего не выводится на консоль.
В этом примере будет показан желаемый результат: heathrow string
Фактически я пытаюсь определить, какую переменную @global выбрать, а затем получить доступ к ее элементам.
edit
Как вернуть значение heathrow string
на основе передачи heathrow airport
в качестве параметра в функцию GetOfficeLocation
?Я также хотел бы иметь возможность вернуть newcastle string
или london string
, изменив вход соответственно.