SharePoint Online: PowerShell para comprobar si el usuario existe
Requisito: SharePoint Online PowerShell para comprobar si existe un usuario.
Hay muchas ocasiones en las que es necesario comprobar si un usuario existe en SharePoint Online. Tal vez esté intentando ver si una nueva cuenta de usuario todavía está activa, o tal vez esté rastreando la validez de la cuenta o el correo electrónico de alguien en su entorno de SharePoint Online. PowerShell hace que este proceso sea rápido y sencillo, así que veamos cómo se hace. Le proporcionaremos dos métodos que puede utilizar para comprobar la existencia del usuario. El primer método usa el módulo MSOnline PowerShell y el segundo método usa SharePoint Online CSOM y PowerShell.
Opción 1: comprobar si el usuario existe en el inquilino mediante el cmdlet de Azure AD
Hay diferentes casos en los que es posible que deba verificar si existe un usuario en el inquilino de Office 365, y aquí están mis scripts de PowerShell. Podemos usar el cmdlet Get-MsolUser de Azure AD para comprobar si una cuenta de usuario determinada es válida.
Import-Module MSOnline
#User Account Variable
$UserAccount = "Salaudeen@crescent.com"
Try {
#Get Credentials to connect
$Cred = Get-Credential
#Connect to Azure AD
Connect-MsolService -Credential $Cred
#Function to check if a user account exists in the tenant
Function Check-UserExists()
{
Param( [Parameter(Mandatory=$true)] [string]$UserID )
$User = Get-Msoluser -UserPrincipalName $UserID -Erroraction SilentlyContinue
if ($User -ne $null)
{
Return $True
}
else
{
Return $False
}
}
#Call the function to validate the user account
Check-UserExists $UserAccount
}
Catch {
write-host -f Red "Error:" $_.Exception.Message
}
Opción 2: Método de usuario garantizado de SharePoint Online para validar un usuario
Este es el método nativo de SharePoint para validar a un usuario usando PowerShell: El método "EnsureUser".
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Function to check if a user account is valid
Function Ensure-SPOUser()
{
Param(
[Parameter(Mandatory=$true)] [string]$UserID,
[Parameter(Mandatory=$true)] [string]$SiteURL
)
Try {
#Setup Credentials to connect
$Cred = Get-Credential
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
#ensure sharepoint online user
$Web = $Ctx.Web
$User=$web.EnsureUser($UserID)
$Ctx.ExecuteQuery()
Return $True
}
Catch {
Return $False
}
}
#Variables
$SiteURL = "https://crescent.sharepoint.com/Sites/marketing"
$UserID = "Salaudeen@crescent.com"
#Call the function to Check if the user account is valid
Ensure-SPOUser -UserID $UserID -SiteURL $SiteURL
Estos métodos son útiles cuando desea determinar mediante programación si un usuario existe (o está huérfano) en SharePoint y tomar las medidas adecuadas según el resultado.
