当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 获取 OneDrive 存储指标报告

作者:精品下载站 日期:2024-12-14 03:41:18 浏览:14 分类:玩电脑

使用 PowerShell 获取 OneDrive 存储指标报告


您知道您的用户使用了多少 OneDrive 存储空间吗?可能不会,而且在大多数情况下,这也并不重要。他们通过大多数 Microsoft 365 计划获得 1TB 的存储空间,并且数据仅与他们自己的设备同步。

但是,当您规划 Microsoft 365 备份解决方案并需要计算所需的存储大小时,创建 OneDrive 存储大小报告可能会很有用。此外,当您计划缩减 Microsoft 365 许可证时,您可能需要检查用户使用的存储量。

我创建了一个 PowerShell 脚本,该脚本将收集所有用户的 OneDrive 使用情况,包括存储配额、OneDrive 状态和上次修改文件日期。

获取 OneDrive 存储指标

有几个选项可以获取 OneDrive 存储指标。通过用户帐户,您可以快速打开 OneDrive 客户端的指标:

  1. 右键单击OneDrive 客户端图标
  2. 选择管理存储

[玩转系统] 使用 PowerShell 获取 OneDrive 存储指标报告

在右上角,您可以看到您正在使用多少存储空间。

从管理中心显示存储指标

您还可以从 Microsoft 365 管理中心获取 OneDrive 存储指标。在管理中心,单击:

  1. 活跃用户
  2. 选择一个用户
  3. 单击OneDrive 选项卡

[玩转系统] 使用 PowerShell 获取 OneDrive 存储指标报告

使用 Microsoft 365 中的内置报告

在 Microsoft 365 管理中心中,您还会发现很多可以使用的内置报告。其中之一是 OneDrive 使用情况报告。默认情况下,您不会在报告中看到显示名称。他们是隐藏的。

因此,我们首先必须启用可识别信息,然后才能使用报告。

  1. 在管理中心中,打开设置> 组织设置 > 服务
  2. 点击报告
  3. 禁用“在所有报告中显示隐藏的用户、组和站点名称
  4. 点击保存

要查看 OneDrive 使用情况报告,我们需要访问:

  1. 报告 > 使用情况
  2. 在 OneDrive 文件下,点击查看更多
  3. 向下滚动一点查看端口。

[玩转系统] 使用 PowerShell 获取 OneDrive 存储指标报告

您可以将此信息导出到 CSV 文件。

使用 PowerShell 导出 OneDrive 使用情况

您还可以使用 PowerShell 生成包含 OneDrive 使用情况的报告。为此,我们将使用 PowerShell PnP Online 模块。在继续之前请确保您已安装它。

借助 PnP Online,我们可以使用下面的 cmdlet 获取所有 OneDrive 站点。我们使用过滤器来选择其 URL 上的所有 SharePoint 网站,以仅匹配个人网站。

Get-PnPTenantSite -IncludeOneDriveSites -Filter "Url -like '-my.sharepoint.com/personal/'" -Detailed

仅额外添加我们需要的数据并将其添加到 PSCustomObject 中的完整函数:

Function Get-OneDriveStats {
  <#
    .SYNOPSIS
        Get the mailbox size and quota
  #>
  process {
    $oneDrives = Get-PnPTenantSite -IncludeOneDriveSites -Filter "Url -like '-my.sharepoint.com/personal/'" -Detailed | Select Title,Owner,StorageQuota,StorageQuotaWarningLevel,StorageUsageCurrent,LastContentModifiedDate,Status
    $i = 0

    $oneDrives | ForEach {
  
      [pscustomobject]@{
        "Display Name" = $_.Title
        "Owner" = $_.Owner
        "Onedrive Size (Gb)" = ConvertTo-Gb -size $_.StorageUsageCurrent
        "Storage Warning Quota (Gb)" = ConvertTo-Gb -size $_.StorageQuotaWarningLevel
        "Storage Quota (Gb)" = ConvertTo-Gb -size $_.StorageQuota
        "Last Used Date" = $_.LastContentModifiedDate
        "Status" = $_.Status
      }

      $currentUser = $_.Title
      Write-Progress -Activity "Collecting OneDrive Sizes" -Status "Current Count: $i" -PercentComplete (($i / $oneDrives.Count) * 100) -CurrentOperation "Processing OneDrive: $currentUser"
      $i++;
    }
  }
}

正如您所看到的,我使用函数 ConvertTo-Gb 将所有数据转换为 Gb,该函数也在该邮箱大小报告脚本中使用。

您可以从我的 Github 存储库下载完整的脚本。要运行该脚本,您需要提供 SharePoint 管理 URL 以及(可选)存储 CSV 文件的位置:

Get-OneDriveSizeReport.ps1 url "https://contoso-admin.sharepoint.com" -path c:\temp\reportoneDrive.csv

总结

Microsoft 365 管理中心中的内置报告对于大多数用例来说已经足够了。但使用 PowerShell,您可以创建一份完整的报告,其中包含邮箱大小和 OneDrive 存储大小等信息。

如果您有任何疑问,请在下面发表评论。

您可能还喜欢以下 PowerShell 报告脚本之一:

  • 邮箱权限报告
  • 邮箱大小报告
  • 外交部现状报告

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯