Je reçois l'erreur suivante
Get-PnPFile : Les méthodes WriteObject et WriteError ne peuvent pas être appelées en dehors des substitutions des méthodes BeginProcessing, ProcessRecord et EndProcessing, et elles ne peuvent être appelées que dans le même thread. Vérifiez que la cmdlet effectue ces appels correctement, ou contactez les services de support clientèle de Microsoft.
lors de l'exécution de ce script PowerShell :
$cred = Get-Credential;
$webUrl = "https://...sharepoint.com";
$listUrl = "..";
$destination = "C:\\Folder1"
Connect-PnPOnline -Url $webUrl -Credentials $cred
$web = Get-PnPWeb
$list = Get-PNPList -Identity $listUrl
function ProcessFolder($folderUrl, $destinationFolder) {
$folder = Get-PnPFolder -RelativeUrl $folderUrl
$tempfiles = Get-PnPProperty -ClientObject $folder -Property Files
if (!(Test-Path -Path $destinationfolder)) {
$dest = New-Item $destinationfolder -Type Directory
}
$total = $folder.Files.Count
for ($i = 0; $i -lt $total; $i++) {
$file = $folder.Files[$i]
Get-PnPFile -ServerRelativeUrl $file.ServerRelativeUrl -Path
$destinationfolder -FileName $file.Name -AsFile
}
}
function ProcessSubFolders($folders, $currentPath) {
foreach ($folder in $folders) {
$tempurls = Get-PnPProperty -ClientObject $folder -Property ServerRelativeUrl
# Éviter les dossiers Forms
if ($folder.Name -ne "Forms") {
$targetFolder = $currentPath +"\"+ $folder.Name;
ProcessFolder
$folder.ServerRelativeUrl.Substring($web.ServerRelativeUrl.Length)
$targetFolder
$tempfolders = Get-PnPProperty -ClientObject $folder -Property Folders
ProcessSubFolders $tempfolders $targetFolder
}
}
}
# Télécharger les fichiers racine
ProcessFolder $listUrl $destination + "\"
# Télécharger les fichiers dans les dossiers
$tempfolders = Get-PnPProperty -ClientObject $list.RootFolder -Property Folders
ProcessSubFolders $tempfolders $destination + "\"
Ce script fonctionne comme prévu sur un PC Win10 mais pas sur un serveur Win. Quelqu'un peut-il me dire quelle pourrait en être la raison s'il vous plaît?