Powershell Get-Mailbox循环

时间:2018-09-12 15:24:15

标签: powershell loops

我正在使用var dirName = DriveApp.getFileById(SpreadsheetApp.getActiveSpreadsheet().getId()).getParents().next().getId(); DriveApp.getFileById(SpreadsheetApp.getActiveSpreadsheet().getId()).getParents().next().createFile(fileName, txtFile); 来获取用户/邮箱名称,然后进行Get-Mailbox搜索。

Get-MailboxPermission

每个起始字母(Get-Mailbox -ResultSize unlimited -Filter {name -like "a*"} | Get-MailboxPermission | where { ($_.AccessRights -eq “FullAccess, ChangePermission”) | blah blah a*b*等)都有不同的行。这项工作正常,但似乎可以通过使用数组引用(c*的某种循环(foreachforeach-object)来完成,或者可能需要使用{{1} }),但我可能稍后可以解决通配符部分。

由于没有太多的邮箱并且内存使用非常密集,使用逐个字母的引用,每个字母的内存似乎都下降了(并且在每个字母之间运行垃圾回收似乎使help-每个字母的输出都写入.csv)。

任何人都想-我觉得我缺少一些简单的东西,因为到目前为止,尝试数组无法正常工作。结果,它通常会吐出所有邮箱,而不是精选的字母(a,b,c)。

1 个答案:

答案 0 :(得分:0)

您可以遍历数组以避免多行。

$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

This topic讨论了优美的字母数组。