Получить имя в массиве пар ключ-значение в PowerShell

При попытке написать несколько сценариев обслуживания для нашего развертывания Exchange 2013 одним из необходимых мне является сценарий, который будет определять, на каком сервере активна база данных в настоящее время, а не на каком сервере она должна быть активна.

Достаточно просто, за исключением того, что я столкнулся с синтаксисом, которого я не видел раньше, и не могу понять, как получить из этого нужные мне данные. Когда я запускаю команду Get-MailboxDatabase Database1 | Select ActivationPreference, вывод, который я получаю, выглядит так:

{[Server1, 1], [Server2, 2]}

Теперь я знаю, что это значит (Server1 - предпочтительный сервер для размещения активной копии этой базы данных), но для моего сценария мне нужно иметь возможность извлечь эти данные - и я не могу понять это. Массив доступа может легко достать мне первую пару ([Server1, 1]), который является System.Collections.Generic.KeyValuePair, но я относительный новичок в PowerShell и даже в.NET в целом и не могу понять, что это значит или как извлечь из него нужную мне информацию.

Какие существуют команды / методы / операторы / и т.д., которые могут извлечь ключ из пары ключ-значение, как это?

1 ответ

Хорошо, оказывается, это очень просто. Не знаю, почему я не попробовал это раньше, но я перевел один из этих объектов KeyValuePair в Format-Listи получил следующий вывод:

Key   : Server1
Value : 1

Так что это просто, как обратиться к параметру Key объекта, чтобы найти это значение в моем скрипте.

Другие вопросы по тегам