企業網站 eDiscovery 權限指派到 OneDrive

附註:  我們想要以您的語言,用最快的速度為您提供最新的說明內容。 本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。讓這些內容對您有所幫助是我們的目的。希望您能在本頁底部告訴我們這項資訊是否有幫助。 此為 英文文章 出處,以供參考。

若要搜尋特定關鍵字機密資訊,與其他搜尋準則的組織中的所有商務用 OneDrive網站,您可以使用SharePoint Online在 eDiscovery 中心。您組織中的每個使用者是他們商務用 OneDrive網站,位於名稱為 https://domain-my.sharepoint.com 的網站集合的擁有者。根據預設, Office 365全域管理員或法規遵循管理員無法使用SharePoint Online在 eDiscovery 中心搜尋任何商務用 OneDrive網站。若要搜尋商務用 OneDrive網站,系統管理員或法規遵循管理員必須是該商務用 OneDrive網站的網站集合管理員。

本主題會引導您進行,讓系統管理員或法規遵循管理員對每個商務用 OneDrive網站的網站集合管理員您組織中的步驟。

步驟 1: 連線到您組織的 sharepoint Online 管理命令介面

步驟 2: 收集所有 OneDrive for Business 網站的清單

步驟 3: 指派給使用者身為網站集合管理員 OneDrive for Business 網站

請參閱使用這些指令碼,包括修改為網站集合管理員從商務用 OneDrive網站移除使用者的步驟 3 中的指令碼秘訣本主題結尾處的 [更多的資訊] 區段。

開始之前

  • 安裝SharePoint Online管理命令介面。如需的資訊,請參閱設定 SharePoint Online 管理命令介面 Windows PowerShell 的環境

  • 在步驟 3 中您想要指派使用者為您組織中任何商務用 OneDrive網站的網站集合管理員每的次執行指令碼。

    重要: 系統管理員或法規遵循是網站集合管理員商務用 OneDrive網站可以開啟使用者的商務用 OneDrive文件庫,並執行相同的工作,例如 [擁有者的管理員。請務必控制及已指派 eDiscovery 權限給組織中的商務用 OneDrive網站的螢幕。

  • 在任何 Microsoft 標準支援程式或服務下,不支援本主題提供的指令碼。範例指令碼係依「現狀」提供,不附帶任何明示或默示的擔保。Microsoft 另外不承擔任何明示或默示的擔保,包括但不限於適售性或適合某特定用途的默示擔保。使用或操作範例指令碼和文件發生的所有風險皆屬於您的責任。Microsoft、其作者以及其他與建置、生產或交付程式碼相關的任何人在任何情況下皆完全不需對任何損失負責任,包括但不限於商業利潤損失、業務中斷、業務資訊損失、或其他錢財損失等因使用或無法使用範例指令碼所發生的損失,即使 Microsoft 曾建議這些損失發生的可能性。

步驟 1: 連線到您組織的SharePoint Online管理命令介面

  1. 在您的本機電腦上開啟SharePoint Online管理命令介面,並執行下列命令:

    $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網站的清單

在此步驟中,您可以執行命令介面指令碼至您的組織中建立的所有商務用 OneDrive網站清單。此清單會儲存至文字檔案。您在指定的使用者,為每個商務用 OneDrive網站的網站集合管理員,則會建立在此步驟中的文字檔案中所列的步驟 3 指派執行指令碼。您可能會想要移除網站,您在步驟 3 中執行指令碼之前,先編輯該檔案。請參閱本主題將 eDiscovery 權限指派給使用者的批次的秘訣結尾的詳細資訊

  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網站的清單的文字檔案的完整路徑。例如,若要將此檔案儲存至桌面,使用'C:\Users\<youralias>\Desktop\ListOfMysites.txt'。請務必括住的單一括住變數值 (' ')。請注意您在步驟 3 中執行的指令碼中,指定這個相同的位置。

  3. 文字檔案儲存為 PowerShell 指令碼檔.ps1 變更檔案名稱尾碼。例如,儲存 GetOD4BSites.ps1 GetOD4BSites.txt 的檔案。

  4. 在SharePoint Online管理命令介面,移至您在上一個步驟中建立的指令碼所在的資料夾,然後執行指令碼,例如:

    .\GetOD4BSites.ps1

指令碼順利完成之後,文字檔案會建立指令碼中$LogFile變數所指定的位置。這個檔案包含您的 SharePoint Online 組織中的所有商務用 OneDrive網站的清單。下列文字提供範例格式化此檔案中的網站清單的方式。如有需要,您可以從這個檔案移除網站。

/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網站的網站集合管理員

下一步是執行其他的指令碼,將指定的使用者指派為組織中的每個商務用 OneDrive網站中的網站集合管理員。這個指令碼會使用您在步驟 2 中執行指令碼時所建立的商務用 OneDrive網站清單。為先前述,您必須執行這個指令碼每當您想要指派為商務用 OneDrive網站的網站集合管理員的使用者。

  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。

    • $AdminAccount在 Office 365 組織,例如"admin@contoso.onmicrosoft.com"中指定的全域管理員帳戶。

    • $eDiscoveryUser指定系統管理員或法規遵循管理員位將獲指派為貴組織中的每個商務用 OneDrive網站的網站集合管理員,例如, "annb@contoso.onmicrosoft.com"的使用者的帳戶。

      附註: 變更$eDiscoveryUser變數所指定的使用者帳戶,然後重新執行指派不同的使用者為網站集合管理員所指定的$MySiteListFile變數商務用 OneDrive網站的指令碼。

    • $MySitePrefix指定您組織的我的網站網域的 URL。這是包含,例如"https://contoso-my.sharepoint.com"貴組織中的所有商務用 OneDrive網站的網域。

    • $MySiteListFile指定在步驟 2 中所建立的文字檔案的完整路徑。這個檔案包含商務用 OneDrive網站,例如'C:\Users\<youralias>\Desktop\ListOfMysites.txt'貴組織中的清單。請務必括住的單一括住變數值 (' ')。請注意,您就應該指定的同一個位置,如同在您執行步驟 2 中的指令碼。

  3. 文字檔案儲存為 PowerShell 指令碼檔.ps1 變更檔案名稱尾碼。例如,儲存 OD4BAssignSCA.ps1 OD4BAssignSCA.txt 的檔案。

  4. 在SharePoint Online管理命令介面,移至包含您在上一個步驟中,您建立的 PowerShell 指令碼的資料夾,然後執行指令碼,例如:

    .\OD4BAssignSCA.ps1

    系統會提示您輸入您在 [指令碼所指定的系統管理員帳戶的密碼。如果順利執行指令碼,「 進行<user specified by $eDiscoveryUser>的網站集合管理員 」 的訊息會顯示每個商務用 OneDrive網站$MySiteListFile所指定的輸入檔案中所列。

回到頁首

其他資訊

  • 您在步驟 3 中執行的指令碼為網站集合管理員,才能$MySiteListFile變數所指定的檔案中會列出每個商務用 OneDrive指派指定的使用者使用Set-SPOUser指令程式。如果您有大型的組織使用數以千計的使用者時,請考慮下列動作,使其更容易管理指派 eDiscovery 權限。

    • 編輯包含商務用 OneDrive網站的清單,使其包含的網站,使用者都是作用中的法律個案涉及的步驟 2 中的指令碼所建立的檔案。

    • 每日不超過 2500 商務用 OneDrive網站指派權限。例如,假設您組織中有 10000 商務用 OneDrive網站。您可以在 [步驟 2,收集在所有網站執行指令碼。然後您可以使用該檔案,以建立每一個包含 2500 使用者的四個檔案。在第一天,您會在步驟 3 中指派權限到第一次 2500 商務用 OneDrive網站執行指令碼。在第二個天您想要執行的指令碼的下一步 2500 商務用 OneDrive網站上,等等。

  • 保留商務用 OneDrive網站 eDiscovery 權限及指派為網站集合管理員的使用者指定的記錄。例如指派權限後,您可以儲存文字檔案包含商務用 OneDrive網站的清單,並為其可識別指派為網站集合管理員的使用者新增線條。

  • 使用者可以檢視網站集合 administators 商務用 OneDrive網站的清單。因為使用者商務用 OneDrive網站的網站集合 adminsitrators,他們可以移除網站集合管理員。請考慮下列動作以減少使用者移除 eDiscovery 權限指派給商務用 OneDrive網站之使用者的機率。

    • 傳達給使用者的 eDiscovery 和法規遵循用途規範人員已指派為貴組織中的商務用 OneDrive網站的網站集合管理員。

    • 重新必要時,若要重新指派商務用 OneDrive網站的網站集合管理員的使用者,請在步驟 3 中,執行指令碼。

  • 您也可以使用您在步驟 3 中執行的指令碼至網站集合管理員從商務用 OneDrive網站移除使用者。若要移除的使用者為網站集合管理員,您必須從變更 (靠近指令碼結尾) 下列命令:

    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網站的群組移除使用者。

  • 步驟 2 中的指令碼執行時,它會處理您的組織中的每個設定檔,並會顯示訊息, 「 檢查設定檔 x / y 」。會檢查的設定檔的總數,可能會超過商務用 OneDrive網站儲存到 ListOfMysites 輸出檔案的數目。這是標準的因為輸出檔案中包含僅限已使用,或開啟其商務用 OneDrive網站使用者。

回到頁首

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×