2016-11-21 4 views
0

HR 부서에는 등록되지 않은 사용자가 5000 명이 있습니다. 나는 그들을 모두 제거하고 싶다. 나는 두 개의 파워 쉘 명령어 사이에 혼란 스러워요 및 사용하고자하는 가장 빠른 하나사무실 365 Powershell

## 1 
Get-MsolUser -UnlicensedUsersOnly | Remove-MsolUser -force 
## 2 
Get-MsolUser -All | where {$_.department -eq "HR"} | Remove-MsolUser -force 

답변

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

관련 문제