Het weergeven van een lijst met siteverzamelingen van OneDrive voor Bedrijven

Beheerders vinden in dit artikel een PowerShell-script waarmee ze elke OneDrive voor Bedrijven-site in de organisatie kunnen weergeven.

Stap 1: SharePoint Online Management Shell met de organisatie verbinden

Stap 2: Een lijst met alle OneDrive voor Bedrijven-sites verzamelen met behulp van Windows PowerShell

Zie Meer informatie onder aan dit onderwerp voor tips in verband met het script.

Voordat u begint

  • Installeer SharePoint Online Management Shell. Zie Set up the SharePoint Online Management Shell Windows PowerShell environment (De Windows PowerShell-omgeving van SharePoint Online Management Shell instellen).

    Belangrijk: Als een tenantbeheerder zichzelf beheerdersrechten voor siteverzamelingen voor een OneDrive voor Bedrijven-site van een gebruiker verleent, kan deze de OneDrive voor Bedrijven-documentbibliotheken van een gebruiker openen en dezelfde taken uitvoeren als de eigenaar. Het is van belang te controleren en te volgen wie machtigingen voor tenantbeheerders in de organisatie wordt verleend.

  • Voor het PowerShell-script dient het SharePoint-clientobjectmodel (CSOM) te zijn geïnstalleerd. Dit wordt aangegeven met de volgende regel: [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client").

  • De PowerShell-voorbeeldscripts in dit onderwerp worden niet ondersteund door een standaardondersteuningsprogramma of -service van Microsoft. De voorbeeldscripts worden zonder enige garantie ONGEWIJZIGD verstrekt. Microsoft wijst alle impliciete garanties met inbegrip van, maar niet beperkt tot, impliciete garanties van verkoopbaarheid en geschiktheid voor een bepaald doel af. Het risico dat ontstaat als gevolg van het gebruik of prestaties van de voorbeeldscripts ligt geheel bij u. In geen geval kan Microsoft, haar auteurs of anderen die bij het maken, produceren of leveren van de scripts zijn betrokken, aansprakelijk worden gehouden voor enige schade om welke reden dan ook (met inbegrip van maar niet beperkt tot schade door verlies van bedrijfswinsten, belemmering van de bedrijfsuitvoering, verlies van bedrijfsinformatie of andere geldelijke verliezen) voortvloeiend uit het gebruik of de onmogelijkheid van het gebruik van de voorbeeldscripts, zelfs als Microsoft op de hoogte is gesteld van de mogelijkheid van dergelijke schade.

Stap 1: SharePoint Online Management Shell met de organisatie verbinden

  1. Open de SharePoint Online Management Shell op uw lokale computer en voer de volgende opdrachten uit:

    $credentials = Get-Credential

    Typ in het dialoogvenster Referentieaanvraag voor Windows PowerShell de gebruikersnaam en het wachtwoord voor het Office 365-account van de globale beheerder en klik vervolgens op OK.

  2. Voer de volgende opdracht uit om de shell te verbinden met uw SharePoint Online-organisatie:

    Connect-SPOService -Url https://<yourdomain>-admin.sharepoint.com –credential $credentials
  3. Voer de volgende opdracht uit om verbinding te maken met de hoofdsite van de organisatie om te controleren of u verbonden bent met uw SharePoint Online-organisatie.

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

Stap 2: Een lijst met alle OneDrive voor Bedrijven-sites verzamelen met behulp van Windows PowerShell

In deze stap voert u een PowerShell-script uit om een lijst te maken met alle OneDrive voor Bedrijven-sites in de organisatie. De lijst wordt opgeslagen als een tekstbestand.

  1. Sla de volgende tekst op als een tekstbestand. U kunt de tekst bijvoorbeeld opslaan als een bestand met de naam 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. Bewerk de volgende variabelen aan het begin van het scriptbestand en gebruik de informatie die specifiek is voor uw organisatie. In de volgende voorbeelden wordt contoso.com gebruikt als domeinnaam van uw organisatie.

    • $AdminURI Hiermee wordt de URI opgegeven voor uw SharePoint Online -beheerservice, bijvoorbeeld https://contoso-admin.sharepoint.com.

    • $AdminAccount Hiermee wordt een globaal beheerdersaccount opgegeven voor uw Office 365-organisatie, bijvoorbeeld admin@contoso.onmicrosoft.com.

    • $AdminPass Hiermee wordt het wachtwoord opgegeven voor het account dat door $AdminAccount wordt opgegeven, bijvoorbeeld "J$P1ter1".

    • $LogFile Hiermee wordt het volledige pad opgegeven van het gemaakte tekstbestand. Het bevat een lijst met alle OneDrive voor Bedrijven-sites in uw organisatie. Als u dit bestand wilt opslaan op uw bureaublad, gebruikt u bijvoorbeeld 'C:\Users\<youralias>\Desktop\ListOfMysites.txt'.

  3. Sla het bestand op als een PowerShell-scriptbestand door het achtervoegsel van de bestandsnaam te wijzigen in .ps1. Sla bijvoorbeeld een bestand met de naam GetOD4BSites.txt op als GetOD4BSites.ps1.

  4. Ga in SharePoint Online Management Shell naar de map waar zich het in de vorige stap gemaakte script bevindt en voer het script uit, bijvoorbeeld:

    .\GetOD4BSites.ps1

Nadat het script is uitgevoerd, wordt een tekstbestand gemaakt op de locatie die wordt opgegeven door de $LogFile-variabele in het script. Het bestand bevat een lijst met alle OneDrive voor Bedrijven-sites in uw SharePoint Online-organisatie. De volgende tekst toont een voorbeeld van hoe de lijst met alle sites in dit bestand moet worden ingedeeld. U kunt zo nodig sites uit dit bestand verwijderen.

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

Terug naar boven

Meer informatie

U kunt verbinding maken met een OneDrive voor Bedrijven-site met behulp van de cmdlet Get-SPOSite. U kunt het eigendom wijzigen met behulp van de cmdlet Set-SPOSite. Zodra u eigenaar van de site bent, kunt u gebruikmaken van het normale SharePoint Client Side-clientobjectmodel (CSOM) voor verdere beheerbewerkingen.

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×