functions/SPClientUser/Resolve-SPClientUser.ps1
#Requires -Version 3.0 <# Resolve-SPClientUser.ps1 Copyright (c) 2017 karamem0 This software is released under the MIT License. https://github.com/karamem0/SPClient/blob/master/LICENSE #> function Resolve-SPClientUser { <# .SYNOPSIS Resolves login name to user. .DESCRIPTION The Resolve-SPClientUser function checks whether the specified login name belongs to a valid user. .PARAMETER ClientContext Indicates the client context. If not specified, uses default context. .PARAMETER Name Indicates login name or E-mail address. .EXAMPLE Resolve-SPClientUser "i:0#.f|membership|admin@example.com" .INPUTS None .OUTPUTS Microsoft.SharePoint.Client.User .LINK https://github.com/karamem0/SPClient/blob/master/doc/Resolve-SPClientUser.md #> [CmdletBinding()] param ( [Parameter(Mandatory = $false)] [Microsoft.SharePoint.Client.ClientContext] $ClientContext = $SPClient.ClientContext, [Parameter(Mandatory = $true)] [string] $Name ) process { if ($ClientContext -eq $null) { throw "Cannot bind argument to parameter 'ClientContext' because it is null." } $ClientObject = $ClientContext.Site.RootWeb.EnsureUser($Name) Invoke-ClientContextLoad ` -ClientContext $ClientContext ` -ClientObject $ClientObject ` -Retrieval $Retrieval Write-Output $ClientObject trap { throw 'The specified user could not be found.' } } } |