Obtenha o primeiro nome em uma matriz de pares de valores-chave no PowerShell

1

Ao tentar escrever alguns scripts de manutenção para a implantação do Exchange 2013, um dos que eu preciso é um script que determine em qual servidor um banco de dados está ativo no momento, em relação ao qual ele deve estar ativo.

É bastante fácil, exceto pelo fato de eu ter encontrado uma sintaxe que não vi antes e não conseguir descobrir como obter os dados de que preciso. Quando eu executo o comando Get-MailboxDatabase Database1 | Select ActivationPreference , a saída que recebo é assim:

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

Agora, eu sei o que isso significa (Server1 é o servidor preferido para hospedar a cópia ativa deste banco de dados), mas para o meu script eu preciso extrair esses dados - e eu não consigo descobrir isso. O acesso à matriz pode facilmente me dar o primeiro par ( [Server1, 1] ), que é System.Collections.Generic.KeyValuePair , mas sou relativamente novato no PowerShell e até mesmo no .NET em geral e não consigo descobrir o que isso significa ou como obter as informações que preciso dela.

Quais comandos / métodos / operadores / etc existem que podem extrair a chave em um par de valores-chave como este?

    
por Kromey 03.10.2014 / 22:45

1 resposta

1

Ok, acontece que isso é simplesmente simples. Não sei por que não tentei mais cedo, mas canalizei um desses objetos KeyValuePair para Format-List e obtive a seguinte saída:

Key   : Server1
Value : 1

Portanto, é tão simples quanto endereçar o parâmetro Key do objeto para encontrar esse valor no meu script.

    
por 03.10.2014 / 22:50