将电子数据展示权限分配给 OneDrive,企业网站

注意:  我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。我们的目的是使此内容能对你有所帮助。可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的 英文版本 以便参考。

您可以使用中SharePoint Online的电子数据展示中心搜索所有OneDrive for Business网站中您的组织特定的关键字、 敏感信息和其他都搜索条件。在您的组织中的每个用户是其OneDrive for Business网站,它位于名为 https://domain-my.sharepoint.com 的网站集所有者。默认情况下, Office 365全局管理员或合规性管理器不能使用SharePoint Online在电子数据展示中心搜索任何OneDrive for Business网站。若要搜索OneDrive for Business网站,管理员或法规遵从性经理必须是网站集管理员该OneDrive for Business网站。

本主题将引导您完成步骤使管理员或合规性在您的组织中管理器的每个OneDrive for Business网站的网站集管理员。

步骤 1: 连接到您的组织的 sharepoint Online Management Shell

步骤 2: 收集所有 OneDrive for Business 网站的列表

步骤 3: 为用户分配作为网站集管理员到 OneDrive for Business 网站

请参阅的详细信息部分中了解有关使用这些脚本,包括修订在步骤 3 以作为网站集管理员从OneDrive for Business网站中删除用户的脚本提示本主题的末尾。

开始之前

  • 安装SharePoint Online命令行管理程序。有关信息,请参阅设置 SharePoint Online Management Shell Windows PowerShell 环境

  • 步骤 3 中您希望为用户分配到您的组织中的任何OneDrive for Business网站的网站集管理员为每的次运行该脚本。

    重要: 管理员或合规性经理OneDrive for Business网站可以打开用户的OneDrive for Business文档库,并执行相同的任务作为所有者是网站集管理员。请务必控件和已分配电子数据展示权限给您的组织中的OneDrive for Business网站的监视器。

  • 本主题中提供的示例脚本在任意 Microsoft 标准支持程序或服务下都不受支持。示例脚本“原样”提供,不提供任何形式的保证。Microsoft 进一步拒绝所有默示保证,包括但不限于针对特定用途的适销性或适用性的任何默示保证。由于示例脚本及文档的使用或性能所引起的全部风险均由您承担。在任何情况下,对于由于使用或者无法使用示例脚本或文档所引起的任何损失(包括但不限于商业利润损失、业务中断、商业信息丢失或者其他经济损失),Microsoft、其作者或者参与创建、制作或交付脚本的任何人概不负责,即使 Microsoft 已被告知可能会出现此类损失。

步骤 1: 连接到您的组织的SharePoint Online命令行管理程序

  1. 在您的本地计算机上打开SharePoint Online Management Shell,并运行以下命令:

    $credentials = Get-Credential

    请求的 Windows PowerShell 凭据对话框中键入用户名和您的 Office 365 全局管理员帐户的密码,然后单击确定

  2. 运行以下命令以连接到您的组织SharePoint Online外壳:

    Connect-SPOService -Url https://<your organization name>-admin.sharepoint.com –credential $credentials
  3. 要验证您已连接到您的SharePoint Online组织,请运行以下命令以获取您的组织中的所有网站的列表:

    Get-SPOSite

返回页首

步骤 2: 收集所有OneDrive for Business网站列表

在此步骤中,您可以运行 Shell 脚本来创建您的组织中的所有OneDrive for Business网站的列表。此列表将保存到文本文件。指定的用户作为网站集管理员为每个OneDrive for Business网站列出在此步骤中创建的文本文件中的步骤 3 分配以运行该脚本。您可能希望通过删除网站,您在步骤 3 中运行脚本之前编辑该文件。请参阅有关将电子数据展示权限分配给用户的批处理提示本主题结尾的详细信息

  1. 将以下文本保存到文本文件。例如,可以将其保存到一个名为 GetOD4BSites.txt 文件。

    # URL for your organization's SharePoint Online admin service
    $AdminURI = "https://<your organization name>-admin.sharepoint.com"
    
    # User account for an Office 365 global admin in your organization
    $AdminAccount = "<global admin account>"
    $AdminPass = "<password for global admin account>"
    
    # Where should we save the list of MySites?
    $LogFile = 'C:\Users\<youralias>\Desktop\ListOfMysites.txt'
    
    
    # Begin the process
    
    $loadInfo1 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
    $loadInfo2 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")
    $loadInfo3 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.UserProfiles")
    
    # Convert the Password to a secure string, then zero out the cleartext version ;)
    $sstr = ConvertTo-SecureString -string $AdminPass -AsPlainText –Force
    $AdminPass = ""
    
    # Take the AdminAccount and the AdminAccount password, and create a credential
    
    $creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($AdminAccount, $sstr)
    
    
    # Add the path of the User Profile Service to the SharePoint Online admin URL, then create a new webservice proxy to access it
    $proxyaddr = "$AdminURI/_vti_bin/UserProfileService.asmx?wsdl"
    $UserProfileService= New-WebServiceProxy -Uri $proxyaddr -UseDefaultCredential False
    $UserProfileService.Credentials = $creds
    
    # Take care of auth cookies
    $strAuthCookie = $creds.GetAuthenticationCookie($AdminURI)
    $uri = New-Object System.Uri($AdminURI)
    $container = New-Object System.Net.CookieContainer
    $container.SetCookies($uri, $strAuthCookie)
    $UserProfileService.CookieContainer = $container
    
    # Grab the first User profile, at index -1
    $UserProfileResult = $UserProfileService.GetUserProfileByIndex(-1)
    
    Write-Host "Starting- This could take a while."
    
    $NumProfiles = $UserProfileService.GetUserProfileCount()
    $i = 1
    
    # As long as the next User profile is NOT the one we started with (at -1)...
    While ($UserProfileResult.NextValue -ne -1) 
    {
    Write-Host "Examining profile $i of $NumProfiles"
    
    # Look for the Personal Space object in the User Profile and pull it out
    # (PersonalSpace is the name of the path to a user's mysite)
    $Prop = $UserProfileResult.UserProfile | Where-Object { $_.Name -eq "PersonalSpace" } 
    $Url= $Prop.Values[0].Value
    
    # If "PersonalSpace" (which we've copied to $Url) exists, log it to our file...
    if ($Url) {
    $Url | Out-File $LogFile -Append -Force
    }
    
    # And now we check the next profile the same way...
    $UserProfileResult = $UserProfileService.GetUserProfileByIndex($UserProfileResult.NextValue)
    $i++
    }
    
    Write-Host "Done!"
  2. 编辑以下脚本文件中,开始中的变量并使用特定于您的组织的信息。下面的示例假设您的组织名称是 Contoso。请务必括起双引号的变量的值 ("")。

    • $AdminURI  此参数指定SharePoint Online管理服务,例如, "https://contoso-admin.sharepoint.com"URI。

    • $AdminAccount  Office 365 组织,例如, "admin@contoso.onmicrosoft.com"中指定的全局管理员帐户。

    • $AdminPass  指定由$AdminAccount,例如, "J$P1ter1"指定的帐户的密码。

    • $LogFile  此参数指定创建并包含在您的组织中的所有OneDrive for Business网站的列表的文本文件的完整路径。例如,若要将此文件保存到桌面,请使用'C:\Users\<youralias>\Desktop\ListOfMysites.txt'。请务必括起此变量值用单引号 (' ')。注意您在步骤 3 中运行脚本中指定此相同位置。

  3. 将文本文件保存为 PowerShell 脚本文件中,通过将文件名称后缀更改为.ps1。例如,将 GetOD4BSites.txt 该文件另存为 GetOD4BSites.ps1。

  4. 在SharePoint Online命令行管理程序,转到您在上一步中创建的脚本所在的文件夹,然后再运行该脚本,例如:

    .\GetOD4BSites.ps1

脚本成功完成后,在$LogFile变量脚本中指定位置创建文本文件。此文件包含的 SharePoint Online 组织中的所有OneDrive for Business网站的列表。以下文本提供有关如何设置此文件中的网站的列表格式的示例。如有必要,可以将网站删除此文件。

/personal/annb_contoso_onmicrosoft_com/
/personal/carolt_contoso_onmicrosoft_com/
/personal/esterv_contoso_onmicrosoft_com/
/personal/hollyh_contoso_onmicrosoft_com/
/personal/jeffl_contoso_onmicrosoft_com/
/personal/joeh_contoso_onmicrosoft_com/
/personal/kaia_contoso_onmicrosoft_com/

返回页首

步骤 3: 为用户分配作为网站集管理员到OneDrive for Business网站

下一步是将指定的用户分配为网站集管理员,您的组织中的每个OneDrive for Business网站中的另一个脚本运行。此脚本使用您在步骤 2 中运行脚本时创建的OneDrive for Business网站的列表。如前面所述,您需要您希望为用户分配到OneDrive for Business网站的网站集管理员为每次运行此脚本。

  1. 将以下文本保存到文本文件。例如,可以将其保存到一个名为 OD4BAssignSCA.txt 文件。

    #Start logging, so if this script fails, you can look at the last successful change,
    # remove any OneDrive for Business paths that worked it from the input file, and then rerun the script.
    
    Start-Transcript
    
    # URL for your organization's SPO admin service
    $AdminURI = "https://<your organization name>-admin.sharepoint.com"
    
    # User account for an Office 365 global admin in your organization
    $AdminAccount = "<global admin account>"
    
    # Compliance manager to be made site collection admin on each MySite
    $eDiscoveryUser = "<eDiscovery user account>"
    
    # URL for your tenant's MySite domain
    $MySitePrefix = "https://<your organization name>-my.sharepoint.com"
    
    # Where should we read the list of MySites?
    # This file should contain partial MySite paths formatted as follows, one per line; for example
    # /personal/junminh_contoso_onmicrosoft_com/
    $MySiteListFile = 'C:\Users\<youralias>\Desktop\ListOfMysites.txt'
    
    # Begin by connecting to the service
    Connect-SPOService -Url $AdminURI -Credential $AdminAccount
    
    # Make a reader for our list of MySites
    $reader = [System.IO.File]::OpenText($MySiteListFile)
    
    try {
        for(;;) {
    # Read a line
            $line = $reader.ReadLine()
    
    # Stop if it doesn't exist
            if ($line -eq $null) { break }
    
            # Turn the line into a complete SharePoint site path by merging $MySitePrefix
    # Formatted like this: "https://contoso-my.sharepoint.com"
    # ...with each partial MySite path in the file, formatted like this:
    # "/personal/junminh_contoso_onmicrosoft_com/"
            $fullsitepath = "$MySitePrefix$line"
    Write-Host "Operating on $fullsitepath "
    
    # We need to remove the last "/" to work around an issue.
    # "/personal/junminh_contoso_onmicrosoft_com/"
    # becomes "/personal/junminh_contoso_onmicrosoft_com"
    $fullsitepath = $fullsitepath.trimend("/")
    
    # Make the specified eDiscovery user a site collection admin on the OneDrive for Business site
    Write-Host "Making $eDiscoveryUser a Site Collection Admin"
    Set-SPOUser -Site $fullsitepath -LoginName $eDiscoveryUser -IsSiteCollectionAdmin $true
    
        }
    }
    finally {
        $reader.Close()
    }
    
    Write-Host "Done!"
    Stop-Transcript
    Write-Host "Log written."
  2. 编辑以下脚本文件中,开始中的变量并使用特定于您的组织的信息。下面的示例假设您的组织的域名 contoso.onmicrosoft.com。请务必括起双引号的变量的值 ("")。

    • $AdminURI此参数指定的 SharePoint Online 管理员服务,例如, "https://contoso-admin.sharepoint.com"URI。

    • $AdminAccountOffice 365 组织,例如, "admin@contoso.onmicrosoft.com"中指定的全局管理员帐户。

    • $eDiscoveryUser此参数指定管理员或合规性管理器将作为网站集管理员为您的组织中的每个OneDrive for Business站点,例如分配的用户, "annb@contoso.onmicrosoft.com"的用户的帐户。

      注意: 更改由$eDiscoveryUser变量指定的用户帐户,然后重新运行脚本来分配不同的用户作为网站集管理员到由$MySiteListFile变量指定OneDrive for Business网站。

    • $MySitePrefix此参数指定您的组织我的网站的域的 URL。这是包含您的组织,例如, "https://contoso-my.sharepoint.com"中的所有OneDrive for Business网站的域。

    • $MySiteListFile此参数指定在步骤 2 中创建的文本文件的完整路径。此文件包含在您的组织,例如, 'C:\Users\<youralias>\Desktop\ListOfMysites.txt'OneDrive for Business网站的列表。请务必括起此变量值用单引号 (' ')。请注意,就像在您在步骤 2 中运行脚本中,您应指定的相同位置。

  3. 将文本文件保存为 PowerShell 脚本文件中,通过将文件名称后缀更改为.ps1。例如,将 OD4BAssignSCA.txt 该文件另存为 OD4BAssignSCA.ps1。

  4. 在SharePoint Online命令行管理程序,转到包含您在上一步中创建的 PowerShell 脚本的文件夹,然后再运行该脚本,例如:

    .\OD4BAssignSCA.ps1

    系统将提示您输入的管理员帐户的脚本中指定的密码。如果成功运行该脚本,输入由$MySiteListFile指定文件中列出了每个OneDrive for Business网站显示消息"进行<user specified by $eDiscoveryUser>网站集管理员"。

返回页首

更多信息

  • 您在步骤 3 中运行脚本使用Set-SPOUser cmdlet 分配作为网站集管理员$MySiteListFile变量指定文件中列出的每个OneDrive for Business到指定的用户。如果您有成千上万的用户非常大的组织,请考虑下列操作以使其更易于管理分配电子数据展示权限。

    • 编辑包含OneDrive for Business网站的列表,以使其包括的网站用户都是活动的法律案件涉及的步骤 2 中的脚本所创建的文件。

    • 将权限分配给每个工作日的不超过 2500 OneDrive for Business网站。例如,假设您有 10000 OneDrive for Business网站中您的组织。您无法在步骤 2 以收集所有网站运行该脚本。然后您可以使用该文件创建每个包含 2500 用户的四个文件。在第一天,将在步骤 3 以将权限分配给首先 2500 OneDrive for Business网站运行该脚本。在第二天,将运行下一步 2500 OneDrive for Business网站中,为该脚本,依此类推。

  • 保留记录的已分配电子数据展示权限和用户作为网站集管理员分配OneDrive for Business网站。例如,分配权限后,您可以保存该文本文件包含OneDrive for Business网站的列表,并将行添加到其标识为网站集管理员分配的用户。

  • 用户可以查看其OneDrive for Business网站的网站集管理员的列表。用户是网站集 adminsitrators 自己OneDrive for Business网站,因为它们可以删除网站集管理员。请考虑下列操作来减轻用户删除的用户的电子数据展示权限分配给OneDrive for Business网站的可能性。

    • 向用户传达,为电子数据展示和合规性目的合规专员已分配作为网站集管理员为您的组织中的OneDrive for Business网站。

    • 重新在步骤 3 中运行脚本,如有必要,为用户重新分配OneDrive for Business网站的网站集管理员。

  • 您还可以使用您在步骤 3 中运行脚本来为网站集管理员从OneDrive for Business网站中删除用户。若要删除的用户作为网站集管理员,您必须从更改 (靠近脚本末尾) 以下命令:

    Set-SPOUser -Site $fullsitepath -LoginName $eDiscoveryUser -IsSiteCollectionAdmin $true

    自:

    Set-SPOUser -Site $fullsitepath -LoginName $eDiscoveryUser -IsSiteCollectionAdmin $false

    您还可以更改在脚本从以下行:

    "Making $eDiscoveryUser a Site Collection Admin"

    自:

    "Removing $eDiscoveryUser as a Site Collection Admin"

    完成这些更改后,使用不同的名称,如 OD4BRemoveSCA.ps1,保存该脚本并将其作为网站集管理员从OneDrive for Business网站的一组删除用户。

  • 步骤 2 中的脚本运行时,它处理您的组织中找到每个配置文件,并显示该邮件, "Examining 配置文件 x 共 y 页"。检查的配置文件的总数可能超过保存到 ListOfMysites 输出文件的OneDrive for Business网站数目。这是正常的因为仅限已使用或已打开其OneDrive for Business网站的用户都包括在输出文件。

返回页首

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×