我使用下面的脚本来计算某些邮箱的文件夹数量。我现在遇到了一个问题。如果我想检查10个邮箱,并假设其中一个邮箱根本没有文件夹,Powershell将在导出中跳过它。所以我的csv文件中只有9行,我永远不知道哪个邮箱被跳过了。如何确保在执行此脚本时也导出了邮箱地址?
$users = gc "c:tempuser-list.txt"
foreach ($user in $users) { (Get-mailboxfolderstatistics -identity $user).Count | fl | out-file -FilePath C:emails.csv -append}
user-list.txt文件包含:
- mailbox1@mycomp.com
- mailbox2@mycomp.com
- mailbox3@mycomp.com
- mailbox4@mycomp.com
- mailbox5@mycomp.com
- mailbox6@mycomp.com
- mailbox7@mycomp.com
- mailbox8@mycomp.com
- mailbox9@mycomp.com
- mailbox10@mycomp.com
导出文件email .csv如下所示:
50- 3635353636364936
与其单独输出计数,不如创建一个同时附加邮箱名和计数的对象,然后使用Export-Csv
创建CSV文件:
$users |Select @{Name='Username';Expression={$_}},@{Name='FolderCount';Expression={@(Get-mailboxfolderstatistics -identity $_).Count}} |Export-Csv C:emails.csv -NoTypeInformation