1

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

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

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

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

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

1 ответ1

1

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

Key   : Server1
Value : 1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .