Búsqueda de sitios web

¿Cómo eliminar un perfil de usuario de SharePoint usando PowerShell?


Generalmente, los perfiles de usuario de SharePoint se eliminarán cuando ocurra cualquiera de los siguientes incidentes:

  • La cuenta de usuario se elimina en Active Directory
  • Cuenta deshabilitada
  • La conexión de la aplicación del servicio de perfil de usuario se cambia o se vuelve a crear
  • La cuenta se vuelve a crear en AD o se saca de una unidad organizativa que no forma parte de la conexión de sincronización del perfil de usuario de SharePoint

En ocasiones, es posible que deba eliminar manualmente los perfiles de usuario de SharePoint. Esta publicación de blog le mostrará cómo usar PowerShell para eliminar un perfil de usuario en SharePoint.

PowerShell para eliminar un perfil de usuario en SharePoint:

Aquí está el PowerShell para eliminar un perfil de usuario en SharePoint:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Configuration Variables
$SiteURL = "https://mypage.crescent.com"
$AccountName="Crescent\Sherif"

#Get Objects
$ServiceContext  = Get-SPServiceContext -site $SiteURL
$UserProfileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($ServiceContext)

#Get the User Profile
$UserProfile = $UserProfileManager.GetUserProfile($AccountName) 

#remove user profile
$UserProfileManager.RemoveUserProfile($AccountName);  

Eliminar todos los perfiles de usuario en SharePoint usando PowerShell

En un escenario, recibí el requisito de limpiar el almacén de perfiles de usuario. Aunque existen muchos perfiles en el almacén de perfiles de usuario, no se mostraron en la administración central de SharePoint 2013. Por lo tanto, no es posible eliminar perfiles de usuario huérfanos/dañados de la administración central. Para eliminar todos los perfiles de usuario, utilice este script de PowerShell:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Configuration Variables
$SiteURL = "https://mypage.crescent.com"

#Get Objects
$ServiceContext  = Get-SPServiceContext -site $SiteURL
$UserProfileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($ServiceContext)

#Ger all User Profiles
$UserProfiles = $UserProfileManager.GetEnumerator()
 
# Loop through user profile
Foreach ($Profile in $UserProfiles) 
{
    write-host Removing User Profile: $Profile["AccountName"] 
    
    #Remove User Profile
    $UserProfileManager.RemoveUserProfile($profile["AccountName"])
}

¿Puedo obtener todos los perfiles de usuario de un dominio específico y eliminarlos? Seguro:


$DomainPrefix = "Crescent"
$UserProfiles = $UserProfileManager.GetEnumerator()| Where-Object {$_.Accountname -like "$($DomainPrefix)\*"}

Artículos relacionados