我们有以用户A-B,UsersC-D等开头的Exchange信息存储,然后是一些超出该命名约定的存储信息存储.
$allIS = Get-MailboxDatabase |
Where { $_.name -notlike "*Users*" } |
Select Identity
Run Code Online (Sandbox Code Playgroud)
我将查找当前用户信息存储,然后尝试在$ allIS数组上进行比较.如果匹配,请执行一些操作.
例如,当我输出$ allIS [0]的值时,它返回@ {Identity = MSCCR\CEO\CEO}
我想将这些转换后的字符串放入不同的数组中,然后进行比较.这将是一个动态的信息存储列表,以进行比较.但也许这不是最好,最有效的方式.任何人都有关于尝试进行这种比较的最佳方法的建议,因为现在我在这里将苹果与橙子进行比较.
很难说这是否可以在没有看到第二部分的情况下进行优化......
但是很容易得到平坦的身份数组,要么在select上使用-ExpandProperty,要么使用foreach {$ _.Identity}而不是select:
$allIS = Get-MailboxDatabase | ? { $_.name -notlike "*Users*" } | select -expand Identity
$allIS = Get-MailboxDatabase | ? { $_.Name -notlike '*Users*' | foreach { $_.Identity}
Run Code Online (Sandbox Code Playgroud)
HTH Bartek