Blog链接:https://blog.51cto.com/13969817
无论我们做Office 365 数据备份或者数据迁移,作为IT Admin我们都需要提前了解Office 365 每个组件所使用的存储大小,比如我们需要针对重要的用户做数据备份或者因为审计需求,希望将部分用户的数据搬迁到其他地方做审计,这种情况下,我们需要评估存储介质大小以及数据迁移大小的预算评估,那么我们就需要导出用户相关数据,比如OneDrive的存储大小情况。
本文我将向大家分享如何在Powershell中获取Office 365中用户的OneDrive使用情况,以下是所需的最小权限列表:
• 全局管理员权限
• SharePoint管理员权限,我们都知道,OneDrive本质上是SharePoint Online特殊类型的网站,所以如果通过Powershell获取容量,至少需要SharePoint管理员权限才能检查使用情况。
• 用户必须获得OneDrive许可证(通常使用E3许可证)
• 导入Microsoft.Online.SharePoint.PowerShell 模块
然后我们可以执行命令获取单个用户的OneDrive Storage,如下所示:
Get-SPOSite -Identity $URL | select Owner, StorageUsageCurrent, StorageQuota, Status
如果大家想获取多个用户的OneDrive Storage的话,可以参照下面脚本:
Function Get-OneDriveUsage {
[CmdletBinding()]
param(
[Parameter(
Mandatory=$false,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0)]
[string[]] $AccountName = $env:USERNAME
)
BEGIN {
$TenantName = 'XXXX'
$DomainName = 'XXXX'
}
PROCESS {
foreach ($User in $AccountName) {
try {
$URL = "https://$($TenantName)-my.sharepoint.com/personal/$($User)_$($DomainName)_onmicrosoft_com"
$Stats = Get-SPOSite -Identity $URL | select Owner, StorageUsageCurrent, StorageQuota, Status
[PSCustomObject]@{
Owner = $Stats.Owner
CurrentUsageGB = "{0:F3}" -f ($Stats.StorageUsageCurrent / 1024) -as [decimal]
TotalStorageGB = "{0:F0}" -f ($Stats.StorageQuota / 1024) -as [int]
Status = $Stats.Status
}
} catch {
Write-Error $_.Exception.Message
}
}
}
END {}
}
谢谢大家的阅读,若执行过程中遇到问题,欢迎线下讨论
标签:Stats,SharePoint,OneDrive,用户,Owner,365 From: https://blog.51cto.com/u_13969817/6000524