나는 당신이 단지의 두 가지 방법을 사용하고 있기 때문에 처리 시간에 큰 차이가있을 것이라고 생각하지 않지만 데이터 목록을 검색하면 모든 사용자를 끌어와 부서를 기반으로 필터링하는 것과 달리 허가받지 않은 사용자를 끌어 올리는 것이 조금 더 빨라지는 것처럼 보입니다. 그러나 삭제하고 싶지 않은 다른 부서에 라이센스가없는 사용자가없는 것이 확실합니까?
어떤 명령이 빠르면 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