Partager via


SharePoint: Lister les Utilisateurs Ayant un Accès à un SPSite ou SPList en Utilisant PowerShell (fr-FR)

Note : Cet article est une traduction.

J'ai (amin, adnan) écrit un script PowerShell qui liste tous les utilisateurs d'un site SharePoint et d'une liste SharePoint en utilisant un script PowerShell. C'est un petit fichier de script que vous pouvez télécharger depuis la Technet Library.

Le script consiste en 2 fonctions
GetSPWebUsers
GetSPAllSPUsers

Récupérer tous les utilisateurs du SPWeb
Avec cette fonction, vous pouvez récupérer la liste de tous les utilisateurs, elle prend un simple paramètre (à savoir l'URL du site):

function GetSPWebUsers($SiteCollectionURL)            
{            
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null            
    $site = new-object Microsoft.SharePoint.SPSite($SiteCollectionURL)            
    $web = $site.openweb()            
    $siteUsers = $web.SiteUsers            
              
    foreach($user in $siteUsers)            
    {                   
        Write-Host " ------------------------------------- "            
        Write-Host "Site Collection URL:", $SiteCollectionURL            
        if($user.IsSiteAdmin -eq $true)            
        {            
            Write-Host "ADMIN: ", $user.LoginName            
        }            
        else            
        {            
            Write-Host "USER: ", $user.LoginName            
        }            
        Write-Host " ------------------------------------- "            
    }               
    $web.Dispose()            
    $site.Dispose()            
}

Récupérer tous les utilisateurs de la SPList
Cette fonction retourne la liste de tous les utilisateurs et de leurs permissions configurées pour chaque liste/bibliothèque. elle peut être utilisée pour vérifier les permissions d'un utilisateur sur une liste. Cette fonction possède 2 paramètres (à savoir l'URL du site et le nom de la liste):

function GetSPAllSPUsers($SiteCollectionURL,$SPListName)            
{            
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null            
    $site = new-object Microsoft.SharePoint.SPSite($SiteCollectionURL)                
    $web = $site.openweb()            
    $list = $web.Lists[$SPListName]            
    $siteCollUsers = $web.SiteUsers            
                  
    foreach($user in $siteCollUsers)            
        {            
            Write-Host " ------------------------------------- "            
            Write-Host "Site Collection URL:", $SiteCollectionURL            
            if($list.DoesUserHavePermissions([Microsoft.SharePoint.SPBasePermissions]::ViewListItems,$user) -eq $true)            
                {            
                    Write-Host "User : ", $user.LoginName            
                    Write-Host "Assigned Permissions : ", $list.GetUserEffectivePermissions($user.LoginName)            
                }                        
            Write-Host " ------------------------------------- "                    
        }            
                  
        $web.Dispose()            
        $site.Dispose()            
}

**Autres langues
**Cet article est également disponible dans les langues suivantes :