Blog链接:https://blog.51cto.com/13969817
近期在给客户做数据迁移的时候,发现客户OneDrive Storage不足,导致数据迁移失败,但每次手动到源端和目的端比对OneDrive Storage,效率比较低,所以找到了一个快速检查OneDrive Storage的方法,今天整理一下分享给大家,希望对大家日后的工作有所帮助。
解决方案:用Powershell脚本批量生成OneDrive Storage信息
具体操作步骤如下所示:
1. 安装SharePoint Online Powershell组件,如下所示:
Install-Module -Name Microsoft.Online.SharePoint.PowerShell

2. 连接SharePoint Online,命令如下所示:Connect-SPOService

3. 输入批量获取OneDrive Storage的脚本,如下所示:
Function Get-OneDriveUsage {
    [CmdletBinding()]
    param(
        [Parameter(
            Mandatory=$false,
           
ValueFromPipeline=$true,
           
ValueFromPipelineByPropertyName=$true,
            Position=0)]
        [string[]]  $SamAccountName = $env:USERNAME
    )
    BEGIN {
        $TenantName =
'mvptrainingcn'
        $DomainName =
'mvptrainingcn'
    }
    PROCESS {
        foreach ($User in
$SamAccountName) {
            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 {}
}
4. 然后输入要获取OneDrive Storage的用户信息,如下所示:
Get-OneDriveUsage -SamAccountName User1, User2

以上是如何通过脚本批量获取用户OneDrive Storage 的脚本,希望对大家日后管理有所帮助










