Durante il tentativo di scrivere alcuni script di manutenzione per la nostra distribuzione di Exchange 2013, uno di quelli di cui ho bisogno è uno script che determinerà su quale server è attualmente attivo un database, rispetto a quale dovrebbe essere attivo.
Abbastanza facile, tranne per il fatto che ho incontrato una sintassi che non avevo mai visto prima, e non riesco a capire come ottenere i dati di cui ho bisogno. Quando eseguo il comando Get-MailboxDatabase Database1 | Select ActivationPreference
, l'output che ottengo è simile al seguente:
{[Server1, 1], [Server2, 2]}
Ora so cosa significa (Server1 è il server preferito per ospitare la copia attiva di questo database), ma per il mio script devo essere in grado di estrarre quei dati - e non riesco a capirlo. L'accesso all'array può facilmente procurarmi la prima coppia ( [Server1, 1]
), che è un System.Collections.Generic.KeyValuePair
, ma sono un principiante relativamente a PowerShell e persino a .NET in generale e non riesco a capire cosa significhi o come ottenere le informazioni di cui ho bisogno di esso.
Quali comandi / metodi / operatori / ecc. Esistono che possono estrarre la chiave in una coppia chiave-valore come questa?