powershell - Powershell Get-Mailbox 循环
问题描述
我Get-Mailbox
用来抓取用户/邮箱名称,然后Get-MailboxPermission
搜索。
Get-Mailbox -ResultSize unlimited -Filter {name -like "a*"} | Get-MailboxPermission | where { ($_.AccessRights -eq “FullAccess, ChangePermission”) | blah blah
a*
每个起始字母( ,,b*
等c*
)都有不同的行。这工作正常,但似乎这可以通过某种循环(foreach
或foreach-object
)和数组引用(@("a","b")
-或者它可能需要@("a*","b*")
)来完成,但我可能稍后可以计算出通配符部分。
我不会在没有过滤器的情况下运行,因为邮箱太多并且内存使用量很大,使用逐个字母的引用,内存似乎在每个字母处回落(并且在每个字母之间运行垃圾收集似乎有帮助 -每个字母的输出都写入 .csv)。
想任何人 - 我觉得我错过了一些简单的东西,因为到目前为止尝试使用数组是行不通的。结果它通常会吐回所有邮箱与精选信箱(a,b,c)。
解决方案
您可以遍历数组以避免多行。
$alphabet = [char[]]([int][char]'a'..[int][char]'z')
foreach ($letter in $alphabet) {
Get-Mailbox -ResultSize unlimited -Filter "name -like '$letter*'" | Get-MailboxPermission | where { ($_.AccessRights -eq “FullAccess, ChangePermission”) | blah blah
} # end foreach
本主题讨论优美的字母数组。
推荐阅读
- linux - Linux make 命令正在删除源文件
- python - 使用列表和字典解析嵌套的 JSON 以分隔每个数据帧
- python - 在python中的子进程之间共享锁
- typescript - 如何从 rollup-plugin-typescript 迁移到 @rollup/plugin-typescript?
- python - 从列表创建列表列表,其中一个列表是原始列表的 2 个元素
- arrays - 如何在 Xcode 列表中找到某个值
- reactjs - 如何将 jest.spyOn 与反应测试库一起使用
- microsoft-graph-api - 如何从 Microsoft Graph API 读取 Delve 配置文件信息?
- c - 我对 Luhn 算法(信用卡有效性)的尝试似乎可以识别某些卡,但不能识别其他卡
- racket - 我怎样才能使用高阶函数来重写这些(使用 Dr.Racket)