Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
powershell从Get-PnplitItem下载文件_Powershell_Sharepoint Online - Fatal编程技术网

powershell从Get-PnplitItem下载文件

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:\

我不熟悉脚本和powershell,对我来说太简单了。 我的目标是连接到Sharepoint online,并下载上载到特定站点的最新文件

目前,我可以使用Connect PnPonline连接到Sharepoint,然后使用PnPListItem查询我需要的文件,但我在下载文件的最后一步遇到了困难

这是我的密码:

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”到我的第一个循环,它的作品伟大!谢谢,不客气。如果我的回答对你有帮助,你可以把它标记为答案。非常感谢。