Aan de slag met PowerShell SharePoint-beheer

Zorgt het SharePoint-beheercentrum ervoor dat je je verveelt, vind je het ontoereikend en wil je overschakelen naar de commandoregel? Ja, het is mogelijk met de PowerShell SharePoint Online Management-module.

Met deze module kun je dezelfde taken uitvoeren die je normaal gesproken in het SharePoint-beheercentrum doet, maar dan in PowerShell. Bovendien kun je je SharePoint Online-taken automatiseren!

Deze handleiding leert je de basisprincipes van het beheer van SharePoint Online met PowerShell. Je leert de module installeren, veelvoorkomende beheertaken uitvoeren en repetitieve handelingen automatiseren. Blijf hier en duik er meteen in!

Vereisten

Deze tutorial zal een praktische demonstratie zijn. Als je wilt volgen, zorg er dan voor dat je het volgende hebt:

  • Je moet je SharePoint Online beheer-URL en portaal-URL kennen. Raadpleeg deze link om te weten hoe je de SharePoint Online beheer-URL in je tenant kunt vinden.

In deze handleiding wordt de portaal-URL HTTPS://lzex.sharepoint.com en de beheer-URL HTTPS://lzex-admin.sharepoint.com gebruikt.

  • Windows PowerShell 5.1 of de nieuwste PowerShell 7 op Windows. Deze tutorial maakt gebruik van Windows PowerShell 5.1 op Windows 10.

Installeren van de PowerShell SharePoint Online Module

Om SharePoint Online te beheren met PowerShell, moet je eerst de PowerShell SharePoint Online Management-module installeren. Deze module biedt de cmdlets waarmee je verbinding kunt maken en je SharePoint online-organisatie en -bronnen kunt beheren.

De snelste en meest handige manier om de PowerShell SharePoint Online-module te installeren is via de PowerShell-galerij met behulp van de Install-Module cmdlet. Volg hiervoor de onderstaande stappen.

1. Open PowerShell als beheerder.

2. Voer vervolgens de onderstaande opdracht uit. Deze opdracht installeert de Microsoft.Online.SharePoint.PowerShell-module.

Install-Module -Name Microsoft.Online.SharePoint.PowerShell

3. Om te bevestigen dat de module succesvol is geïnstalleerd, voer je de onderstaande opdracht uit om de module-informatie te krijgen.

Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select-Object Name,Version

De opdracht retourneert de naam en versie van de module. Zoals je hieronder kunt zien, is er één versie van de Microsoft.Online.SharePoint.PowerShell-module op deze computer geïnstalleerd. De nieuwste versie op het moment van schrijven is 16.0.22615.12000.

Listing the PowerShell SharePoint Online module information

4. Importeer tot slot de PowerShell SharePoint-module door de onderstaande opdracht uit te voeren in PowerShell.

Opmerking: Hoewel de PowerShell SharePoint Online-module werkt met PowerShell 7, moet je de module expliciet importeren met de -UseWindowsPowerShell-schakelaar.

# In Windows PowerShell 5.1
Import-Module Microsoft.Online.SharePoint.PowerShell

# In PowerShell 7x
Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell

Negeer de waarschuwing over niet-goedgekeurde werkwoorden. Deze waarschuwing informeert je over cmdlets die niet beginnen met goedgekeurde werkwoorden in de Get-Verb-lijst, maar ze hebben geen invloed op de functionaliteit van de module.

Om deze waarschuwing te vermijden, voeg je de -DisableNameChecking-schakelaar toe aan de Import-Module-cmdlet.

Importing the PowerShell SharePoint Online module

Verbinding maken met PowerShell SharePoint Online

Je bent nu klaar om verbinding te maken met de PowerShell SharePoint Online-sessie. Maar voordat je dit doet, begrijp dat de syntax en methode kunnen variëren afhankelijk van de status van de multifactor-authenticatie van je beheerdersaccount.

Beheerdersaccount zonder MFA

Als je beheerdersaccount niet is ingeschakeld voor MFA, voer dan de onderstaande opdracht uit Connect-SPOService. Specificeer je beheer-URL na de -Url-parameter en je gebruikersprincipe (UPN) na de -Credential-parameter.

Connect-SPOService -Url <https://tenant-admin.sharepoint.com/> -Credential spoadmin@domain.com

Typ je wachtwoord in het volgende promptvenster en druk op Enter.

Connect SPOService
Connecting to PowerShell SharePoint online without MFA

De -Credential-parameter accepteert ook een PSCredential-object, dat je kunt maken met de Get-Credential-cmdlet.

Beheerdersaccount met MFA

Voor een MFA-beheerdersaccount, volg de onderstaande stappen om verbinding te maken met de PowerShell SharePoint Online-sessie.

1. Voer de onderstaande opdracht uit in PowerShell. Zorg ervoor dat u de juiste SharePoint-beheer-URL opgeeft.

Connect-SPOService -Url https://tenant-admin.sharepoint.com/

2. Typ op het aanmeldingsvenster dat verschijnt uw beheerdersgebruikersnaam in en klik op Volgende.

Type the SharePoint admin username

3. Typ vervolgens het wachtwoord voor het beheerdersaccount in en klik op Aanmelden.

Enter the account password

4. Voltooi ten slotte uw MFA-uitdaging. Afhankelijk van hoe u MFA voor uw account hebt geconfigureerd, kan de MFA-methode verschillen van de onderstaande schermafbeelding.

Completing the MFA challenge

Nadat u deze stappen heeft voltooid, moet uw PowerShell SharePoint Online-verbinding nu actief zijn.

Het beheren van sites, gebruikers en groepen met behulp van de PowerShell SharePoint-module

Met PowerShell kunt u enkele functionaliteiten uitvoeren die SharePoint biedt aan SharePoint Online en verschillende bronnen. In dit gedeelte voert u de typische SharePoint Online-taken uit, zoals het maken van sites, het maken van groepen, het toevoegen van gebruikers, het verwijderen van gebruikers uit groepen en het genereren van gebruikersrapporten.

Het maken van een nieuwe SharePoint-site

Met behulp van de New-SPOSite-opdracht kunt u een nieuwe SharePoint Online-site maken. Als u bijvoorbeeld een nieuwe moderne Teamsite-site genaamd Mijn Eerste Teamsite maakt, voert u de volgende stappen uit.

1. Haal eerst de naam van het Teamsite-sjabloon op.

Get-SPOWebTemplate

Zoek naar het sjabloon dat je wilt toepassen op de nieuwe site. Kopieer in dit voorbeeld de Naamwaarde van het Team-site (geen Microsoft 365-groep) sjabloon, STS#3.

Listing all available SharePoint web templates

2. Voer nu de onderstaande opdracht uit om de moderne Team-site te maken. Zorg ervoor dat de volgende parameters volledig zijn.

  • Url - Geeft de URL van de nieuwe site aan. Deze URL-structuur volgt deze conventie - HTTPS://<tenant>.sharepoint.com/sites/<site-slug>.

Zorg ervoor dat de URL uniek is. De site-creatie mislukt als er al een site bestaat met dezelfde URL, zelfs als de site zich in de prullenbak bevindt.

  • Title – Stelt de titel in voor je nieuwe site.
  • Owner - Wijs de gebruikersprincipaalnaam van de eigenaar van de site toe.

Opmerking: SPO stelt automatisch de groep Company Administrator in als eigenaar van de site als de opgegeven eigenaar een beheerdersrol heeft.

  • Template – Geeft het web sjabloon aan dat je toepast op de nieuwe site.
  • StorageQuota - Configureert de opslagquotawaarde van de site in MB.

Opmerking: De StorageQuota-waarde is alleen van toepassing als de Limiet voor siteopslag in je SharePoint Online-organisatie is ingesteld op Handmatig. Als de instelling Automatisch is, heeft de totale opslagquotum van de tenant voorrang.

New-SPOSite `
    -Url 'https://lzex.sharepoint.com/sites/MyFirstTeamSite' `
    -Title 'My First Team Site' `
    -Owner '[email protected]' `
    -Template 'STS#3' `
    -StorageQuota 1000

Als de site succesvol is gemaakt, ontvang je geen reactie of bericht in PowerShell.

3. Bevestig dat de nieuwe site bestaat door de Get-SPOSite-cmdlet uit te voeren.

Get-SPOSite -Identity 'https://lzex.sharepoint.com/sites/MyFirstTeamSite'
Getting the new SPO site details

4. Tot slot, open de SharePoint-site-URL in je webbrowser om te bevestigen dat de site werkt.

Opening the new SPO site in the browser

Sitegroepen maken en gebruikers toevoegen

Na het maken van een nieuwe SPO-site, kun je beginnen met het maken van groepen en het toevoegen van gebruikers met specifieke toestemmingniveaus. In dit gedeelte leer je hoe je groepen kunt maken en gebruikers aan dergelijke groepen kunt toevoegen.

Eerst maak je de groepen aan die voldoen aan de specificaties in de tabel hieronder.

Om een lijst met toestemmingniveaus te krijgen, bezoek de Documentatie over gebruikerstoestemmingen en toestemmingniveaus in SharePoint Server.

Site Group PemissionLevels
https://tenant.sharepoint.com/sites/MyFirstTeamSite Editing Team Edit
https://tenant.sharepoint.com.sites/MyFirstSite Design Team Design

Om groepen te maken, is het New-SPOSiteGroup-cmdlet degene die je moet uitvoeren. Voer de onderstaande commando’s uit om de groepen te maken.

# Definieer de site-URL.
$siteURL = '<https://lzex.sharepoint.com/sites/MyFirstTeamSite>'
# Maak de groep 'Editing Team' aan met 'Bewerk'-toestemming op de site.
New-SPOSiteGroup -Site $siteURL -Group 'Editing Team' -PermissionLevels Edit
# Maak de groep 'Design Team' aan met 'Ontwerp'-toestemming op de site.
New-SPOSiteGroup -Site $siteURL -Group 'Design Team' -PermissionLevels Design
Creating new groups on the SPO site

Vervolgens voeg je de gebruikers toe die je lid wilt maken van de groepen. Voer hiervoor de Add-SPOUser-commando’s hieronder uit.

# Voeg een gebruiker toe aan de sitegroep 'Editing Team'
Add-SPOUser -Site $siteURL -Group 'Editing Team' –LoginName spoeditor@lzex.ga
# Voeg een gebruiker toe aan de sitegroep 'Design Team'
Add-SPOUser -Site $siteURL -Group 'Design Team' –LoginName spodesigner@lzex.ga

Na elke commando-uitvoering ontvangt u resultaten die vergelijkbaar zijn met de onderstaande schermafbeelding.

Adding users to SPO site groups

Genereren van een lijst met sitegebruikers

Door gebruik te maken van de Get-SPOUser-opdracht, kunt u zien welke gebruikers toegang hebben tot de site.

Voer de onderstaande opdracht uit om de lijst met gebruikers op de My First Team Site te genereren.

Get-SPOUser -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> | Format-Table -Wrap -AutoSize | Out-File <path-to-savereport> -Force -Width 360 -Append

Het resultaat zou er vergelijkbaar uitzien met de onderstaande schermafbeelding. Zoals u kunt zien, toont de uitvoer u de lijst met gebruikers en hun groepslidmaatschappen.

Getting the list of users on the SPO site

U kunt de resultaten ook uitvoeren naar verschillende bestandstypen, waaronder CSV, XML, JSON, YAML, HTML en platte tekst.

Gebruikers verwijderen uit sitegroepen

U moet mogelijk een gebruiker verwijderen, bijvoorbeeld omdat u de gebruiker per ongeluk aan de verkeerde groep heeft toegevoegd of omdat de gebruiker niet langer bij het team is. De Remove-SPOUser-cmdlet is het juiste gereedschap voor deze taak.

Bijvoorbeeld, voer de onderstaande opdracht uit om de gebruiker [email protected] uit de Design Team te verwijderen.

Remove-SPOUser `
    -LoginName spodesigner@lzex.ga `
    -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> `
    -Group 'Design Team'

Zoals u kunt zien, is de Gebruikers-lijst in het Design Team nu leeg nadat de enige gebruiker is verwijderd.

Removing a user for the SPO site group

Het gebruik van PowerShell SharePoint Online voor automatisering

Omdat je met PowerShell werkt, kun je zijn kracht benutten voor automatisering. Bijvoorbeeld, scripting zou een praktischere aanpak zijn bij het maken van meerdere sites.

Je kunt de PowerShell SharePoint Online New-SPOSite-opdracht combineren met ingebouwde opdrachten zoals Import-Csv en ForEach-Object. De volgende stappen geven je een voorbeeld van het maken van meerdere sites met verschillende eigenschappen.

1. Voer de onderstaande opdracht uit om een nieuw CSV-bestand genaamd sites.csv te maken.

New-Item -Type File -Path .\sites.csv

2. Open vervolgens het CSV-bestand in een teksteditor. Dit voorbeeld gebruikt notepad.exe.

notepad.exe .\sites.csv

3. Kopieer de onderstaande tekst naar je CSV-bestand en sla het op. Zorg ervoor dat je de waarden van Eigenaar en URL vervangt om overeen te komen met je organisatie.

Owner,StorageQuota,Url,Template,Name
spoadmin@lzex.ga,100,https://lzex.sharepoint.com/sites/new-site,STS#0,Nieuwe Site
ata_dev@lzex.ga,100,https://lzex.sharepoint.com/sites/dev-site,DEV#0,Dev Site

Je CSV-bestand zou eruit zien als de onderstaande screenshot.

Creating the CSV list of new sites

4. Voer het volgende script uit in PowerShell.

Import-Csv .\sites.csv | ForEach-Object {
    New-SPOSite `
        -Owner $_.Owner `
        -StorageQuota $_.StorageQuota `
        -Url $_.Url `
        -Template $_.Template `
        -Title $_.Name `
        -NoWait
}

Als er geen fouten zijn, krijg je geen aanvullende resultaten op het scherm.

Creating multiple sites using the PowerShell SharePoint online script

5. Voer tot slot de volgende opdracht uit om te bevestigen dat de nieuwe sites bestaan.

Import-Csv .\sites.csv | ForEach-Object {
    Get-SPOSite -Identity $_.Url | Select-Object Title,Url,Owner
}
Listing the new sites

Je kunt dezelfde techniek toepassen die je zojuist hebt uitgevoerd om bulk taken te automatiseren, zoals het maken van sitegroepen en het bijwerken van de lidmaatschappen van sitegroepen.

Conclusie

De PowerShell SharePoint Online-module biedt u de mogelijkheid om uw SharePoint Online-organisatie beter te beheren. Deze module is niet bedoeld ter vervanging van het SharePoint-beheercentrum, maar als een tool om uw SharePoint Online-vaardigheden te verbeteren.

Naast de PowerShell SharePoint Online-module, wist u dat er nog een andere module is waarmee u SharePoint Online kunt beheren in PowerShell? Ja, die module is de PnP PowerShell-module. Waarom verkent u die module niet ook en vergelijkt u welke het beste voor u werkt?

Source:
https://adamtheautomator.com/powershell-sharepoint/