我必须分批获取100个1m+邮箱(组织中共有100个Exchange邮箱)。
我正在使用以下powershell命令:
Get-Mailbox -ResultSize Unlimited
这为我提供了所有的邮箱,这需要很长时间。我可以成批处理100个结果,所以我输入了这个命令:Get-Mailbox -ResultSize 100。
似乎工作得很好,但我被困在如何带来下100个邮箱。
PS:您可以假设邮箱是静态的,并且在无限期内不会对其进行任何更改……
发布于 2018-10-19 19:35:06
您可以获得您拥有的所有用户,因此您可以使用计数来获得一个特定的数字。
$Users = Get-Mailbox -ResultSize unlimited | select Name | Export-Csv C:\Setup\Users.csv -NoTypeInformation -Delimiter "|" -Encoding UTF8
($users).Count您将有一个数字作为输出:
PS C:\Windows\system32> ($users).Count
421现在您知道了确切的数字,您可以将用户导出到csv,并将csv拆分为多个csv文件,然后循环导入它们以获得您想要的内容。
例如:
$s=0
$i=100
While ($i -le $number) {
$Users = (Get-Content C:\Setup\Users.csv)[$s .. $i]>c:\setup\Users_$i.csv
$s=$i++
$i=$i+100
}之后,您可以从csv导入您的用户,并运行您想要对他们执行的操作。
希望这能有所帮助。
编辑,因为你不想要的东西输出到csv文件。
$Users = Get-Mailbox -ResultSize unlimited | Select Name
$Users | Select-Object -First 100 -skip 0这将为您提供前100条记录,然后添加-Skip 100,通过跳过这100条记录来获得下一条100条记录。
发布于 2018-10-22 18:30:50
作为StefTheo回复,您可以使用“skip”参数来获取下一个100个邮箱。
Get-Mailbox | Select-Object -Skip 100 -First 100 Skip 100是从第100个开始的手段,你可以获得第三个100个邮箱来使用Skip 200
有关更多信息,请参阅此链接:
https://stackoverflow.com/questions/52888262
复制相似问题