2016-11-21 26 views
0

HR部門には、登録されていないユーザーが5000人あります。私はそれらをすべて削除したい。 私は2つのPowerShellコマンドの間に混乱していると、最速のいずれかを使用したい:office 365 powershell

​​

答えて

1

あなただけの二つの異なる方法を使用しているので、私は処理時間に大きな違いがあるだろうとは思わないが、データのリストを取得すると、すべてのユーザーを引き出して部門に基づいてフィルタリングするのではなく、ライセンスされていないユーザーを引き出すのが少し早くなるようです。ただし、削除したくない他の部門にライセンスされていないユーザーがいないことを確認してください。

どのコマンドが高速であるかについて、Measure-Objectコマンドを使用して各コマンドの実行時間を確認してみましたか?違いを確認するには、Get-MsolUserコマンドを測定するだけです。

Measure-Object {Get-MsolUser -UnlicensedUsersOnly} 
Measure-Object {Get-MsolUser -All | where {$_.department -eq "HR"}} 

Remove-MsolUser -forceは両方のオプションで同じ時間がかかるはずです。また、私はあなたがforeachループでRemove-MsolUserコマンドを配置する必要がありますと思う:

foreach($user in Get-MsolUser -UnlicensedUsersOnly | where {$_.department -eq "HR"}) 
{Remove-MsolUser -ObjectId $user.ObjectId.guid -force} 

https://technet.microsoft.com/en-us/library/ee176899.aspx