2016-11-21 169 views
0

人力資源部門有5000名非用戶。我想將它們全部刪除。 我在二個PowerShell命令之間的困惑,想用最快的國家之一:辦公室365 Powershell

​​

回答

1

雖然我不覺得,既然你僅僅使用兩種不同的方法會有處理時間的巨大差異檢索數據列表時,似乎只需拉取未經許可的用戶就會快一些,而不是拉動所有用戶,然後根據部門對其進行過濾。但是,您確定其他部門中沒有未經許可的用戶可能不想刪除嗎?

關於哪個命令更快,您是否嘗試過使用Measure-Object命令查看每個命令需要多長時間?您可以測量Get-MsolUser命令以確認差異。

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

Remove-MsolUser -force應該採取相同的時間量這兩個選項。另外,我認爲你需要把Remove-MsolUser命令在foreach循環:

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