#powershell #sharepoint #sharepoint-online
Вопрос:
При использовании командлета я получаю следующую ошибку Get-PnPFile
.
Get-PnPFile : Свойство или поле «ServerRelativeUrl» не было инициализировано. Это не было запрошено или запрос не был выполнен. Возможно, потребуется явный запрос. В строке:1 символ:1
- Get-PNP-файл -Url-адрес $fileURL -Путь $Путь загрузки-Имена файлов. CSV — …
CategoryInfo : WriteError: (:) [Get-PnPFile], PropertyOrFieldNotInitializedException FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Files.GetFile
Код, о котором идет речь, приведен ниже:
$siteURL = "https://contoso.sharepoint.com/sites/ExampleSite" $fileURL = "/sites/ExampleSite/Path/To/The/File.csv" $downloadPath = "C:Temp" Connect-PnPOnline -Url $siteURL -Credentials (Get-Credential) Get-PnPFile -Url $fileURL -Path $downloadPath -Filename File.CSV -AsFile
Странная часть заключается в том, что раньше это работало и даже сейчас, похоже, работает с перебоями, но чаще всего это приводит к ошибке, и я не смог определить закономерность.
Connect-PnPOnline
Команда выполняется без ошибок, но, похоже, в большинстве случаев работает неправильно. Я использовал Get-PnPSite
для проверки подключения к сайту SharePoint, но, похоже, оно не заполняется после установления соединения, как показано ниже.
PS C:Windowssystem32gt; Get-PNPsite Url CompatibilityLevel --- ------------------
В тех редких случаях, когда Get-PnPFile
команда работает, два приведенных выше поля заполняются правильно.
Я искал в Google эту проблему и нашел некоторых других людей, которые успешно добавили переменную в начало Get-PnPFile
командлета или Connect-PnPOnline cmdlet
что-то в этом роде.:
$connection = Connect-PnPOnline -Url $siteURL -Credentials (Get-Credential) $file = Get-PnPFile -Url $fileURL -Path $downloadPath -Filename File.CSV -AsFile
Но у меня это не сработало. Я также попробовал сбросить и обновить версию PnP.Powershell С 1.8.0 до 1.8.11 и обратно до 1.7.0, но это также не возымело никакого эффекта.
Надеюсь, у кого-то там есть ответы на некоторые вопросы! Заранее спасибо
Комментарии:
1. Что произойдет, если вы укажете абсолютный URL-адрес? Попробуй
Get-PnPFile -Url "${siteURL}${fileURL}" -Path $downloadPath -Filename File.CSV -AsFile
2. @MathiasR.Jessen Я боюсь, что он выдает то же сообщение об ошибке, что и ранее!