powershell从Get-PnplitItem下载文件
我不熟悉脚本和powershell,对我来说太简单了。 我的目标是连接到Sharepoint online,并下载上载到特定站点的最新文件 目前,我可以使用Connect PnPonline连接到Sharepoint,然后使用PnPListItem查询我需要的文件,但我在下载文件的最后一步遇到了困难 这是我的密码:powershell从Get-PnplitItem下载文件,powershell,sharepoint-online,Powershell,Sharepoint Online,我不熟悉脚本和powershell,对我来说太简单了。 我的目标是连接到Sharepoint online,并下载上载到特定站点的最新文件 目前,我可以使用Connect PnPonline连接到Sharepoint,然后使用PnPListItem查询我需要的文件,但我在下载文件的最后一步遇到了困难 这是我的密码: cls $SPOsite="https://example.sharepoint.com/sites/example" $TargetFile="C:\
cls
$SPOsite="https://example.sharepoint.com/sites/example"
$TargetFile="C:\example"
Connect-PnPOnline -Url $SPOsite -ClientId xxxxx-xxxxx-xxxxx-xxxx -ClientSecret secretsecret112233
$ListItems = Get-PnPListItem -List Documents | select -last 1
$ctx= Get-PnPContext
foreach ($item in $ListItems)
{
$file = $item.file
$fileversions = $file.Versions
$ctx.load($file)
$ctx.load($fileversions)
$ctx.ExecuteQuery()
Write-Host $file.Name,$fileversions.VersionLabel
}
Get-PnPFile -Url "https://example.sharepoint.com/sites/example" -Filename $ListItems -Path $TargetFile -AsFile
我收到的错误消息是
Get-PnPFile : File Not Found.
At \\cifs-share.example.org\Usershome\user\Desktop\PowerShell\dwnldSPfiles.ps1:20 char:1
+ Get-PnPFile -Url "https://example.sharepoint.com/sites/example" -Fi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (:) [Get-PnPFile], ServerException
+ FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Files.GetFile
试试这个:
$SharePointFolderPath = "Shared Documents"
$Files = Get-PnPFolderItem -FolderSiteRelativeUrl $SharePointFolderPath -ItemType File
foreach($File in $Files) {
if($File.Name -eq "file name"){
Get-PnPFile -Url $File.ServerRelativeUrl -Path c:\Temp -FileName $File.Name -AsFile
}
}
Url应该是您要下载的文件的服务器相对Url。
我尝试使用Get-PnPfile,但失败。
它是如何失败的?您收到错误消息了吗?我尝试使用以下行get-PnPFile-Url”“-Filename$ListItems-Path$TargetFile-AsFile,但我找不到get-File,如何将$ListItems返回结果传递到get-PnPFile?请更新原始帖子以包含错误消息。使用错误消息更新原始帖子,谢谢!这是可行的,但我必须在代码中指定要下载的文件,我的想法是从“Write Host$file.Name,$fileversions.VersionLabel”行下载写入控制台的最新文件。我添加了您的行“Get PnPFile-Url$file.ServerRelativeUrl-Path c:\Temp-FileName$file.Name-AsFile”到我的第一个循环,它的作品伟大!谢谢,不客气。如果我的回答对你有帮助,你可以把它标记为答案。非常感谢。