powershell, sharepoint online
Requis:
try
{Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking}
catch{}
#Get-Module SharePointPnPPowerShell* -ListAvailable | Select-Object Name,Version | Sort-Object Version -Descending
Install-Module SharePointPnPPowerShellOnline
Avec le login actuel
$env:UserName
Je vais chercher dans les crédentials, le login et password windows du user actuel ($env:UserName)
$cred = Get-PnPStoredCredential -Name $env:UserName -Type PSCredential
J’ajoute « @domain.com » car il est obligatoire dans office 365 (reste à faire : le .com n’est pas dynamique)
$username = $cred.UserName + "@" + $env:UserDomain + ".com"
Je le met dans un login office 365 :
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $cred.Password)
Que j’utilise avec le context : (client mode in sharepoint)
$Context01 = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$Context01.Credentials = $Credentials
$site01 = $context01.Web
$context01.Load($site01)
try
{
$Context01.executeQuery()
}
catch
{
write-host "ERROR: $($_.Exception.Message) $($_.InvocationInfo.PositionMessage)" -foregroundcolor RED
}
Et voilà!