Jaa


SharePoint-käyttäjien ja -ryhmien hallinta PowerShellin avulla

Tämä artikkeli koskee sekä Microsoft 365 Enterprise että Office 365 Enterprise.

Jos olet SharePoint-järjestelmänvalvoja, joka käsittelee suuria käyttäjätilien tai ryhmien luetteloita ja haluaa helpomman tavan hallita niitä, voit käyttää PowerShelliä Microsoft 365:lle.

Ennen kuin aloitat, tämän artikkelin toimintosarjoissa edellytetään, että muodostat yhteyden SharePointiin. Katso ohjeet kohdasta Yhdistäminen SharePoint PowerShelliin

Sivustojen, ryhmien ja käyttäjien luettelon hankkiminen

Ennen kuin alamme hallita käyttäjiä ja ryhmiä, sinun on hankittava luetteloita sivustoistasi, ryhmistäsi ja käyttäjistäsi. Tämän jälkeen voit käyttää näitä tietoja tämän artikkelin esimerkin työstämiseen.

Hanki luettelo vuokraajasi sivustoista tällä komennolla:

Get-SPOSite

Hanki luettelo vuokraajasi ryhmistä tällä komennolla:

Get-SPOSite | ForEach {Get-SPOSiteGroup -Site $_.Url} | Format-Table

Hae vuokraajasi käyttäjien luettelo tällä komennolla:

Get-SPOSite | ForEach {Get-SPOUser -Site $_.Url}

Käyttäjän lisääminen sivuston järjestelmänvalvojien ryhmään

Cmdlet-komennon Set-SPOUser avulla voit lisätä käyttäjän sivustokokoelman sivuston järjestelmänvalvojien luetteloon.

$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
$user = "<user account name, such as opalc>"
Set-SPOUser -Site https://$tenant.sharepoint.com/sites/$site -LoginName $user@$tenant.com -IsSiteCollectionAdmin $true

Jos haluat käyttää näitä komentoja, korvaa kaikki lainausmerkeissä olevat tiedot, mukaan lukien - ja > -<merkit, oikeilla nimillä.

Esimerkiksi tämä komentojoukko lisää Opal Castillon (käyttäjänimen opalc) ContosoTest-sivustokokoelman sivuston järjestelmänvalvojien luetteloon Contoso-vuokraajan sivustokokoelmassa:

$tenant = "contoso"
$site = "contosotest"
$user = "opalc"
Set-SPOUser -Site https://$tenant.sharepoint.com/sites/$site -LoginName $user@$tenant.com -IsSiteCollectionAdmin $true

Voit kopioida ja liittää nämä komennot Muistioon, muuttaa $tenant, $site ja $user muuttuja-arvot ympäristösi todellisiksi arvoiksi ja liittää sitten tämän SharePoint Management Shell -ikkunaan niiden suorittamista varten.

Käyttäjän lisääminen muihin sivustokokoelman ryhmiin

Tässä tehtävässä lisäämme käyttäjän sivustokokoelman Add-SPOUser SharePoint-ryhmään cmdlet-komennolla.

$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
$user = "<user account name, such as opalc>"
$group = "<group name name, such as Auditors>"
Add-SPOUser -Group $group -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site

Lisätään esimerkiksi Glen Rife (käyttäjänimen glenr) ContosoTest-sivustokokoelman Auditoijat-ryhmään contoso-vuokrauksella:

$tenant = "contoso"
$site = "contosotest"
$user = "glenr"
$group = "Auditors"
Add-SPOUser -Group $group -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site

sivustokokoelmaryhmän Create

Cmdlet-komennon New-SPOSiteGroup avulla voit luoda uuden SharePoint-ryhmän ja lisätä sen sivustokokoelmaan.

$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
$group = "<group name name, such as Auditors>"
$level = "<permission level, such as View Only>"
New-SPOSiteGroup -Group $group -PermissionLevels $level -Site https://$tenant.sharepoint.com/sites/$site

Ryhmän ominaisuudet, kuten käyttöoikeustasot, voidaan päivittää myöhemmin käyttämällä cmdlet-komentoa Set-SPOSiteGroup .

Lisätään esimerkiksi Auditoijat-ryhmä, jolla on Näytä vain -käyttöoikeudet contosotest-sivustokokoelmaan contoso-vuokrattavassa kohteessa:

$tenant = "contoso"
$site = "contosotest"
$group = "Auditors"
$level = "View Only"
New-SPOSiteGroup -Group $group -PermissionLevels $level -Site https://$tenant.sharepoint.com/sites/$site

Käyttäjien poistaminen ryhmästä

Joskus käyttäjä on poistettava sivustosta tai jopa kaikista sivustoista. Työntekijä voi muuttaa divisioonasta toiseen tai jättää yrityksen. Voit tehdä tämän yhdelle työntekijälle helposti käyttöliittymässä, mutta se ei ole helppoa, kun sinun on siirrettävä täydellinen jako yhdestä sivustosta toiseen.

SharePoint Management Shell- ja CSV-tiedostojen avulla tämä on kuitenkin nopeaa ja helppoa. Tässä tehtävässä käyttäjä poistetaan sivustokokoelman käyttöoikeusryhmästä Windows PowerShell avulla. Sen jälkeen voit käyttää CSV-tiedostoa ja poistaa useita käyttäjiä eri sivustoista.

Poistamme yksittäisen Microsoft 365 -käyttäjän sivustokokoelmaryhmästä Remove-SPOUser-cmdlet-komennolla, jotta komentosyntaksi näkyy. Syntaksi näyttää seuraavalta:

$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
$user = "<user account name, such as opalc>"
$group = "<group name name, such as Auditors>"
Remove-SPOUser -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site -Group $group

Poistetaan esimerkiksi Bobby Overby sivustokokoelman Auditoijat-ryhmästä contoso-vuokrasopimuksen contosotest-sivustokokoelmasta:

$tenant = "contoso"
$site = "contosotest"
$user = "bobbyo"
$group = "Auditors"
Remove-SPOUser -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site -Group $group

Oletetaan, että haluamme poistaa Bobbyn kaikista ryhmistä, jossa hän on tällä hetkellä. Näin se toimisi:

$tenant = "contoso"
$user = "bobbyo"
Get-SPOSite | ForEach {Get-SPOSiteGroup –Site $_.Url} | ForEach {Remove-SPOUser -LoginName $user@$tenant.com -Site $_.Url}

Varoitus

Tämä on vain esimerkki. Älä suorita tätä komentoa, ellei sinun tarvitse poistaa käyttäjää jokaisesta ryhmästä, esimerkiksi jos käyttäjä poistuu yrityksestä.

Suurten käyttäjä- ja ryhmäluetteloiden hallinnan automatisoiminen

Jos haluat lisätä suuren määrän tilejä SharePoint-sivustoihin ja antaa niille käyttöoikeudet, voit käyttää Microsoft 365 -hallintakeskus, yksittäisiä PowerShell-komentoja tai PowerShelliä ja CSV-tiedostoa. Näistä valinnoista CSV-tiedosto on nopein tapa automatisoida tämä tehtävä.

Perusprosessina on luoda CSV-tiedosto, jonka otsikot (sarakkeet) vastaavat Windows PowerShell komentosarjan tarvitsemia parametreja. Voit helposti luoda tällaisen luettelon Excelissä ja viedä sen CSV-tiedostona. Sen jälkeen voit Windows PowerShell komentosarjan avulla iteroida CSV-tiedoston tietueiden (rivien) läpi ja lisätä käyttäjiä ryhmiin ja ryhmiä sivustoihin.

Luodaan esimerkiksi CSV-tiedosto määrittämään ryhmä sivustokokoelmia, ryhmiä ja käyttöoikeuksia. Seuraavaksi luomme CSV-tiedoston, joka täyttää ryhmät käyttäjillä. Lopuksi luomme ja suoritamme Windows PowerShell komentosarjan, joka luo ja täyttää ryhmät.

Ensimmäinen CSV-tiedosto lisää yhden tai useamman ryhmän yhteen tai useampaan sivustokokoelmaan, ja sen rakenne on seuraava:

Otsikko:

Site,Group,PermissionLevels

Nimikkeen:

https://tenant.sharepoint.com/sites/site,group,level

Tässä on esimerkkitiedosto:

Site,Group,PermissionLevels
https://contoso.sharepoint.com/sites/contosotest,Contoso Project Leads,Full Control
https://contoso.sharepoint.com/sites/contosotest,Contoso Auditors,View Only
https://contoso.sharepoint.com/sites/contosotest,Contoso Designers,Design
https://contoso.sharepoint.com/sites/TeamSite01,XT1000 Team Leads,Full Control
https://contoso.sharepoint.com/sites/TeamSite01,XT1000 Advisors,Edit
https://contoso.sharepoint.com/sites/Blog01,Contoso Blog Designers,Design
https://contoso.sharepoint.com/sites/Blog01,Contoso Blog Editors,Edit
https://contoso.sharepoint.com/sites/Project01,Project Alpha Approvers,Full Control

Toinen CSV-tiedosto lisää yhden tai useamman käyttäjän yhteen tai useampaan ryhmään, ja sen rakenne on seuraava:

Otsikko:

Group,LoginName,Site

Nimikkeen:

group,login,https://tenant.sharepoint.com/sites/site

Tässä on esimerkkitiedosto:

Group,LoginName,Site
Contoso Project Leads,bobbyo@contoso.com,https://contoso.sharepoint.com/sites/contosotest
Contoso Auditors,allieb@contoso.com,https://contoso.sharepoint.com/sites/contosotest
Contoso Designers,bonniek@contoso.com,https://contoso.sharepoint.com/sites/contosotest
XT1000 Team Leads,dorenap@contoso.com,https://contoso.sharepoint.com/sites/TeamSite01
XT1000 Advisors,garthf@contoso.com,https://contoso.sharepoint.com/sites/TeamSite01
Contoso Blog Designers,janets@contoso.com,https://contoso.sharepoint.com/sites/Blog01
Contoso Blog Editors,opalc@contoso.com,https://contoso.sharepoint.com/sites/Blog01
Project Alpha Approvers,robinc@contoso.com,https://contoso.sharepoint.com/sites/Project01

Seuraavassa vaiheessa asemaan on tallennettava kaksi CSV-tiedostoa. Seuraavassa on esimerkkikomentoja, jotka käyttävät sekä CSV-tiedostoja että lisäävät käyttöoikeuksia ja ryhmän jäsenyyttä:

Import-Csv C:\O365Admin\GroupsAndPermissions.csv | ForEach {New-SPOSiteGroup -Group $_.Group -PermissionLevels $_.PermissionLevels -Site $_.Site}
Import-Csv C:\O365Admin\Users.csv | ForEach {Add-SPOUser -Group $_.Group –LoginName $_.LoginName -Site $_.Site}

Komentosarja tuo CSV-tiedoston sisällön ja käyttää sarakkeiden arvoja New-SPOSiteGroup- ja Add-SPOUser-komentojen parametrien täyttämiseen. Tässä esimerkissä tallennamme tämän tiedoston C-aseman O365Admin-kansioon, mutta voit tallentaa sen minne haluat.

Poistetaan nyt joukko ihmisiä useista eri sivustojen ryhmistä käyttämällä samaa CSV-tiedostoa. Tässä on esimerkkikomento:

Import-Csv C:\O365Admin\Users.csv | ForEach {Remove-SPOUser -LoginName $_.LoginName -Site $_.Site -Group $_.Group}

Luo käyttäjäraportteja

Haluat ehkä saada raportin muutamasta sivustosta ja näyttää kyseisten sivustojen käyttäjät, heidän käyttöoikeustasonsa ja muut ominaisuudet. Syntaksi näyttää tältä:

$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
Get-SPOUser -Site https://$tenant.sharepoint.com/sites/$site | select * | Format-table -Wrap -AutoSize | Out-File c\UsersReport.txt -Force -Width 360 -Append

Tämä noutaa näiden kolmen sivuston tiedot ja kirjoittaa ne paikallisessa asemassa olevaan tekstitiedostoon. Parametri – Liitä lisää uutta sisältöä aiemmin luotuun tiedostoon.

Suoritetaan esimerkiksi raportti ContosoTest-, TeamSite01- ja Project01-sivustoissa Contoso1-vuokraajaa varten:

$tenant = "contoso"
$site = "contosotest"
Get-SPOUser -Site https://$tenant.sharepoint.com/sites/$site | Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append
$site = "TeamSite01"
Get-SPOUser -Site https://$tenant.sharepoint.com/sites/$site |Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append
$site = "Project01"
Get-SPOUser -Site https://$tenant.sharepoint.com/sites/$site | Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append

Meidän piti muuttaa vain $site muuttujaa. $tenant muuttuja säilyttää arvonsa komennon kaikissa kolmessa suoritintehtävässä.

Entä jos haluat tehdä tämän jokaiselle sivustolle? Voit tehdä tämän kirjoittamatta kaikkia näitä sivustoja tällä komennolla:

Get-SPOSite | ForEach {Get-SPOUser –Site $_.Url} | Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append

Tämä raportti on melko yksinkertainen, ja voit lisätä koodia luodaksesi tarkempia raportteja tai raportteja, jotka sisältävät tarkempia tietoja. Tämän pitäisi kuitenkin antaa käsitys siitä, miten voit hallita SharePoint-ympäristön käyttäjiä SharePoint-hallintaliittymän avulla.

Tutustu myös seuraaviin ohjeartikkeleihin:

YhdistäMinen SharePoint PowerShelliin

SharePointin hallinta PowerShellin avulla

Microsoft 365:n hallinta PowerShellin avulla

PowerShellin käytön aloittaminen Microsoft 365:lle