PowerShell ExchangeOnline モジュールの速度改善について

先日紹介した Basic 認証終了対応型の Exchange Online の新モジュールですが、動作速度も改善したという話があったため、実体を確認しておきたいと思います。

https://mitomoha.hatenablog.com/entry/2020/06/12/022016

利用したコマンドは以下の3つ。
最初に接続を行って、
次に旧コマンドでメールボックスのフォルダー権限を一覧表示させます。
最後に新コマンドでメールボックスのフォルダー権限を一覧表示ですね。

それらを Measure-Command で囲って時間を計っています。

## 接続

Connect-ExchangeOnline 

 

## 旧コマンド
$a=Measure-Command { `
Get-Mailbox | `
Where-Object {$_.UserPrincipalName -ne ""} | `
Get-MailboxFolderPermission | `
ft Identity, foldername,user, AccessRights `
};$a.TotalSeconds 

 

## 新コマンド
$a=Measure-Command { `
Get-ExoMailbox | `
Where-Object {$_.UserPrincipalName -ne ""} | `
Get-ExoMailboxFolderPermission | `
ft Identity, foldername,user, AccessRights `
};$a.TotalSeconds

 

f:id:mohessu:20200626015158p:plain

 

メールボックスは18個だけだったのですが、3倍くらい速度差がついています。

こんなに差がつくとは思っていなかったのですが、1,000を超えるような数のメールボックスがある場合は変更するだけで数分の改善が見込めちゃうというわけですね。
かなり効果があるのではないかと。

是非手元の環境で実施してみてください!

音楽:Rush