Вывод списка семейств веб-сайтов OneDrive для бизнеса

Эта статья содержит сценарий PowerShell, который позволяет отобразить все сайты OneDrive для бизнеса в вашей организации.

Шаг 1. Подключение командной консоли SharePoint Online для организации

Шаг 2. Составление списка всех сайтов OneDrive для бизнеса с помощью Windows PowerShell

В разделе Дополнительные сведения в конце статьи вы найдете советы об использовании этого сценария.

Приступая к работе

  • Установите командную консоль SharePoint Online. Сведения об этом см. в статье Настройка среды Windows PowerShell командной консоли SharePoint Online.

    Важно : Администратор клиента, который предоставил себе полномочия администратора семейства веб-сайтов для сайтов OneDrive для бизнеса, может открывать пользовательские библиотеки документов OneDrive для бизнеса и выполнять те же действия, что и их владелец. Важно контролировать и отслеживать, кому назначаются разрешения администратора клиента.

  • Для сценария PowerShell требуется наличие клиентской объектной модели (CSOM) SharePoint. На это указывает следующая строка: [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client").

  • Примеры сценариев PowerShell, содержащиеся в этой статье, не поддерживаются стандартными программами и службами поддержки Майкрософт. Они предоставляются как есть безо всяких гарантий. Кроме того, корпорация Майкрософт отказывается от всех подразумеваемых гарантий, включая, но не ограничиваясь указанным, все подразумеваемые гарантии пригодности для продажи или определенной цели. Все риски, возникающие в результате использования примеров сценариев и документации, берет на себя пользователь. Корпорация Майкрософт, авторы или другие люди, участвовавшие в создании, разработке и предоставлении сценариев, ни при каких обстоятельствах не несут ответственности за любой ущерб (включая, но не ограничиваясь указанным, ущерб в результате потери прибыли, перерыва в работе, потери бизнес-информации или другой материальный ущерб), вызванный использованием примеров сценариев или документации либо невозможностью их использовать, даже если корпорация Майкрософт была уведомлена о возможности такого ущерба.

Шаг 1. Подключение командной консоли SharePoint Online для организации

  1. На локальном компьютере откройте командную консоль SharePoint Online и выполните следующую команду:

    $credentials = Get-Credential

    В диалоговом окне Запрос учетных данных Windows PowerShell введите имя пользователям и пароль учетной записи глобального администратора Office 365, а затем нажмите кнопку ОК.

  2. Чтобы подключить консоль для организации в SharePoint Online, выполните следующую команду:

    Connect-SPOService -Url https://<yourdomain>-admin.sharepoint.com –credential $credentials
  3. Чтобы убедиться в том, что вы подключились к своей организации в SharePoint Online, выполните следующую команду, которая устанавливает подключение с корневым сайтом:

    Get-SPOSite https://<yourdomain>.sharepoint.com

Шаг 2. Составление списка всех сайтов OneDrive для бизнеса с помощью Windows PowerShell

На этом этапе вы выполняете сценарий PowerShell, создающий список всех сайтов OneDrive для бизнеса в вашей организации. Этот список сохраняется в текстовом файле.

  1. Сохраните приведенный ниже текст в текстовом файле. Например, вы можете создать файл с именем GetOD4BSites.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 MySites 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!"
  2. Измените приведенные ниже переменные в начале файла сценария, указав сведения о своей организации. В последующих примерах предполагается, что организация использует доменное имя contoso.onmicrosoft.com.

    • $AdminURI   Эта переменная задает URI для службы администратора SharePoint Online, например https://contoso-admin.sharepoint.com.

    • $AdminAccount   Эта переменная задает учетную запись глобального администратора вашей организации в Office 365, например admin@contoso.onmicrosoft.com.

    • $AdminPass.   Эта переменная задает пароль учетной записи, заданной переменной $AdminAccount, например "J$P1ter1".

    • $LogFile   Эта переменная задает полный путь к созданному текстовому файлу, который содержит список всех сайтов OneDrive для бизнеса в организации. Например, чтобы сохранить этот файл на рабочем столе, используйте путь 'C:\Users\<youralias>\Desktop\ListOfMysites.txt'.

  3. Сохраните текстовый файл как сценарий PowerShell, изменив расширение файла на PS1. Например, сохраните файл GetOD4BSites.txt как GetOD4BSites.ps1.

  4. В командной консоли SharePoint Online перейдите к папке, в которой находится сценарий, созданный на предыдущем этапе, и запустите его. Например:

    .\GetOD4BSites.ps1

После успешного выполнения сценария создается текстовый файл в расположении, заданном переменной $LogFile сценария. Этот файл содержит список всех сайтов OneDrive для бизнеса в организации SharePoint Online. Ниже приведен пример форматирования списка сайтов в этом файле. При необходимости вы можете удалить сайты из файла.

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

К началу

Дополнительные сведения

Вы можете подключиться к сайту OneDrive для бизнеса с помощью командлета Get-SPOSite и изменить владельца с помощью командлета Set-SPOSite. После того как вы станете владельцем сайта, вы сможете использовать для управления обычную клиентскую объектную модель (CSOM) SharePoint.

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×