在尝试为我们的 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 参数一样简单。