建立您組織中的所有 OneDrive 位置的清單

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

本文適用於全域管理員和 Office 365 中的SharePoint管理員。

檢視組織中的 OneDrive 使用者和 Url 的清單

  1. 以全域系統管理員或 SharePoint 系統管理員的身分登入 Office 365。

  2. 選取左上角的應用程式啟動器圖示 Office 365 中的應用程式啟動器圖示 ,然後選擇 [系統管理] 來開啟 Office 365 系統管理中心。(如果您沒有看到 [系統管理] 磚,表示您在貴組織中沒有 Office 365 系統管理員權限)。

  3. 在左窗格中,選取報表,然後按一下使用方式

  4. 按一下 [ OneDrive 檔案] 方塊中,或按一下 [選取報告],然後按一下OneDrive 使用方式

  5. 在右上方底部的資料表中,按一下 [匯出]。

使用 Microsoft PowerShell 貴組織中建立所有 OneDrive Url 的清單

您在步驟中建立的清單會儲存到文字檔案。

  1. 下載最新版 SharePoint Online 管理命令介面

  2. 在 Office 365 中以全域系統管理員或 SharePoint 系統管理員身分連線至 SharePoint Online。若要深入了解,請參閱開始使用 SharePoint Online 管理命令介面

  3. 下載 SharePoint 和專案用戶端物件模型文件庫

  4. 將下列文字儲存至文字檔案。例如,您無法儲存到名稱為GetODSites.txt的檔案。

    # Specifies the URL for your organization's SPO admin service
    $AdminURI = "https://your organization name-admin.sharepoint.com"
    
    # Specifies the User account for an Office 365 global admin in your organization
    $AdminAccount = "global admin account"
    $AdminPass = "password for global admin account"
    
    # Specifies the location where the list of URLs should be saved
    $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 SPO 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
    
    # Set variables for authentication cookies
    $strAuthCookie = $creds.GetAuthenticationCookie($AdminURI)
    $uri = New-Object System.Uri($AdminURI)
    $container = New-Object System.Net.CookieContainer
    $container.SetCookies($uri, $strAuthCookie)
    $UserProfileService.CookieContainer = $container
    
    # Sets 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 retrieve it
    # (PersonalSpace is the name of the path to a user's OneDrive for Business site. Users who have not yet created a 
    # OneDrive for Business site might not have this property set.)
    $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!"
  5. 編輯下列變數中的指令碼檔,開始,並使用的是您組織的特定資訊。下列範例會假設貴組織的網域名稱為 contoso.com。

    • $AdminURI  指定的 SharePoint Online 管理員服務,例如https://contoso-admin.sharepoint.comURI。

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

    • $AdminPass  指定所指定的$AdminAccount,例如"J$P1ter1"帳戶的密碼。

    • $LogFile  指定會建立並包含在組織中的所有OneDrive url 清單的文字檔案的完整路徑。例如,若要將此檔案儲存至桌面,使用'C:\Users\<youralias>\Desktop\ListOfMysites.txt'

    附註: 本主題提供的PowerShell指令碼範例不支援的任何 Microsoft 標準支援程式或服務。在 [指令碼範例以提供不做任何類型。Microsoft 不所有暗示的擔保責任包括但不限於,任何暗示或適合特定用途的銷售的擔保責任。使用或指令碼範例或文件為承擔風險會留在您。在 Microsoft、 其作者,或建立、 生產或傳送的指令碼中的其他相關的任何人都應的任何損壞皆不 (包括,但不限於損害的影響商務利潤商務中斷、 影響商務資訊或其他金錢遺失) 一概使用無法使用的指令碼範例或文件,即使 Microsoft 已被告知這類損害的可能性。

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

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

    .\GetODSites.ps1

    附註: 如果您收到關於無法執行指令碼錯誤訊息,您可能需要變更您執行的原則。如需的資訊,請參閱執行原則的相關

指令碼順利完成之後,文字檔案會建立指令碼中$LogFile變數所指定的位置。此檔案包含您組織中的所有OneDrive Url 的清單。下列文字提供範例格式化 Url 清單,此檔案中的方式。

/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/

其他資訊

一旦您有 URL 使用者的 onedrive 時,可以使用取得 SPOSite指令程式來取得詳細資訊,並使用設定 SPOSite指令程式來變更設定。

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×