查看组织中用户的 OneDrive URL

作为 SharePoint 管理员,您可以确认组织中特定用户的 OneDrive URL。 无论是进行故障排除、预配新帐户,还是只是确保信息准确,了解检索 OneDrive URL 的方法都至关重要。

关于 OneDrive URL

用户的 OneDrive 的 URL 通常采用以下格式: https://<tenant name>-my.sharepoint.com/personal/<user principal name>。 对于用户主体名称 (UPN) ,任何特殊字符(如句点、逗号、空格和 at 符号 (“@”) 将转换为下划线 (“_”) 。 有关示例,请参阅下表。

Domain UPN OneDrive URL
onmicrosoft.com rsimone@contoso.onmicrosoft.com https://contoso-my.sharepoint.com/personal/rsimone_contoso_onmicrosoft_com
自 定义 rsimone@contoso.com https://contoso-my.sharepoint.com/personal/rsimone_contoso_com

如果检测到冲突,可能会将数字或 GUID 追加到 URL。 如果需要指定用户的 OneDrive URL,建议确认该 URL。

注意

除非 已预先预配 OneDrive 帐户,否则在用户首次访问其 OneDrive 之前不会创建 URL。

此外,如果用户的 UPN 发生更改,OneDrive URL 将自动更改。 例如,如果用户更改其名称或域名更改,则进行品牌重塑或业务重组。

使用 OneDrive 使用情况报告查看 OneDrive 用户和 URL 的列表

  1. 转到 Microsoft 365 管理中心中的 OneDrive 使用情况报告 ,以 SharePoint 管理员、全局读取者或报表读取者身份登录。 (如果看到一条消息,指出你无权访问页面,则表示你的组织中没有这些角色之一。)

    注意

    如果你有由世纪互联运营的 Office 365 (中国) , 请登录到 Microsoft 365 管理中心,浏览到 “报告>使用情况”。 在 “OneDrive 文件”下,选择“ 查看更多”。

  2. 滚动到图表下方的表格。

    OneDrive 使用情况报告底部的 URL 表

如果在表中看到 GUID 而不是 URL 和名称,请转到 “报表”设置 ,并清除“ 在所有报表中,显示用户、组和站点的非识别名称”框。

可以从 URL 列复制单个 OneDrive URL。 为了便于搜索和复制,请将表导出为 .csv 文件。 在表格左上角,选择“ 导出”。

详细了解 Microsoft OneDrive 使用情况报告

使用 PowerShell 创建组织中所有 OneDrive URL 的列表

在这些步骤中创建的列表将保存到文本文件中。

  1. 下载最新的SharePoint在线管理壳

    注意

    如果你已安装早期版本的SharePoint Online Management Shell,请进入添加或删除程序并卸载 "SharePoint Online Management Shell"。

  2. 将以下文本保存到 PowerShell 文件。 例如,可以将它保存到名为 OneDriveSites.ps1 的文件。

    $TenantUrl = Read-Host "Enter the SharePoint admin center URL"
    $LogFile = [Environment]::GetFolderPath("Desktop") + "\OneDriveSites.log"
    Connect-SPOService -Url $TenantUrl
    Get-SPOSite -IncludePersonalSite $true -Limit all -Filter "Url -like '-my.sharepoint.com/personal/'" | Select -ExpandProperty Url | Out-File $LogFile -Force
    Write-Host "Done! File saved as $($LogFile)."
    
  3. 打开 SharePoint Online 命令行管理程序。 导航到保存脚本的目录并运行:

    PS C:\>.\OneDriveSites.ps1
    

    注意

    如果出现有关无法运行脚本的错误消息,则需要更改执行策略。 有关详细信息,请参阅 关于执行策略

  4. 该脚本会提示输入 SharePoint 管理中心 URL。 例如, https://contoso-admin.sharepoint.com 是 Contoso SharePoint 管理中心 URL。

  5. 出现提示时,请使用 SharePoint 管理员帐户凭据登录。

脚本成功完成后,将在脚本中的 $LogFile 变量指定的位置创建一个文本文件。 此文件包含组织中所有 OneDrive URL 的列表。 以下文本提供了一个示例,说明应如何设置此文件中 URL 列表的格式。

https://contoso-my.sharepoint.com/personal/annb_contoso_onmicrosoft_com/
https://contoso-my.sharepoint.com/personal/carolt_contoso_onmicrosoft_com/
https://contoso-my.sharepoint.com/personal/esterv_contoso_onmicrosoft_com/  
https://contoso-my.sharepoint.com/personal/hollyh_contoso_onmicrosoft_com/

获得用户的 OneDrive 的 URL 后,可以使用 Get-SPOSite cmdlet 获取有关该 URL 的详细信息,并使用 Set-SPOSite cmdlet 更改设置。

用于检索 OneDrive URL 的其他方法

方法 1:使用 OneDrive 设置中的 “诊断信息 ”部分

  1. 作为 OneDrive 网站的管理员,导航到该网站。
  2. 在右上角,选择 “设置” 图标。
  3. 选择“ OneDrive 设置更多设置”。
  4. 在“ 诊断信息 ”部分下,复制 OneDrive Web URL。

方法 2:使用 PnP PowerShell (Get-PnPUserProfileProperty)

PnP PowerShell 是用于管理 SharePoint 和 OneDrive 的通用工具。 若要检索用户的 PersonalURL (OneDrive URL) ,请执行以下步骤:

  1. 安装 PnP PowerShell (如果尚未安装)。 在 PowerShell 中运行以下命令:

    Install-Module PnP.PowerShell -Scope CurrentUser
    
    • 如果需要有关安装的详细信息,请参阅官方 PnP PowerShell 安装指南。
  2. 运行以下命令:

    Get-PnPUserProfileProperty -Account "user@example.com" | Select-Object -ExpandProperty PersonalUrl
    
    • 将 替换为 "user@example.com" 实际用户的电子邮件地址。

方法 3:Microsoft Graph API

Microsoft Graph API 提供对 OneDrive 和其他 Microsoft 365 服务的编程访问。 若要使用图形 API 获取 OneDrive URL,请执行下列操作:

  1. 安装 Microsoft Graph PowerShell 模块 (如果尚未安装)。 请使用此命令:

    Install-Module Microsoft.Graph
    
    • 有关分步说明,请查看本教程,了解如何安装适用于 SharePoint Online 和 Azure Cloud Shell 的 PnP PowerShell。
  2. 进行身份验证并连接到 Microsoft Graph:

    Connect-MgGraph -Scopes "Directory.ReadWrite.All", "Sites.ReadWrite.All", "Files.ReadWrite.All"
    
  3. 检索特定用户的 OneDrive URL:

    $userPrincipalName = "user@example.com"
    $userObject = Get-MgUser -Filter "userPrincipalName eq '$userPrincipalName'"
    $userOneDrive = Get-MgUserDefaultDrive -UserId $userObject.id
    $oneDriveWebUrl = $userOneDrive.webUrl
    Write-Host "OneDrive WebURL for $userPrincipalName: $oneDriveWebUrl"