C# 使用Windows PowerShell脚本访问Sharepoint文档库列表
任务:我需要循环浏览Sharepoint网站上的所有文件,并将它们下载到本地文件夹 脚本:C# 使用Windows PowerShell脚本访问Sharepoint文档库列表,c#,powershell,sharepoint-2010,C#,Powershell,Sharepoint 2010,任务:我需要循环浏览Sharepoint网站上的所有文件,并将它们下载到本地文件夹 脚本: Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue $s = Get-SPSite “https://abc.abctools.consumer.abc.net/sites/rtc/report/SitePages/Forms/AllPages.aspx” $files = $s.RootWeb.GetFo
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$s = Get-SPSite “https://abc.abctools.consumer.abc.net/sites/rtc/report/SitePages/Forms/AllPages.aspx”
$files = $s.RootWeb.GetFolder("Shared Documents").Files
foreach ($file in $files) {
Write-host $file.Name
$b = $file.OpenBinary()
$fs = New-Object System.IO.FileStream(("C:\SP Document Library files\"+$file.Name), [System.IO.FileMode]::Create)
$bw = New-Object System.IO.BinaryWriter($fs)
$bw.Write($b)
$bw.Close()
}
错误:当我尝试运行/执行上述脚本时,我会收到错误消息。
1.不能对空值表达式调用方法
新对象:调用带有2个图形的.ctor时发生异常:找不到路径“C:\SP Document Library files”的一部分
新对象:未找到构造函数。找不到适合system.IO.BinaryWrite类型的构造函数
术语“Get-SPSite”不被识别为cmdlet、函数、可操作程序或脚本文件。请验证术语,然后重试
对错误2的响应:我已创建名为SP Document Library files的文件夹,因此路径正确C:\SP Document Library files不确定为什么会看到该消息
库文件.csv、.xls存在于文件夹中。
文件夹名称:2014-01-31。
1.如何解决上述错误消息。
2.我不确定是否需要使用整个sharepoint url或其中的一部分。请教育我
谢谢 尝试授予ReadWrite文件访问权限 如果您知道Url而不是使用SPSite,则可以直接获取根站点 这是我的脚本,我一直在使用它
$siteUrl = '“https://abc.abctools.consumer.abc.net/sites/rtc”'
$listUrl = '“https://abc.abctools.consumer.abc.net/sites/rtc/Shared Documents”'
$folderPath = 'C:\\....'
$web = Get-SPWeb -Identity $siteUrl
$list = $web.GetList($listUrl)
$items = $list.Items
ForEach ($item in $items)
{
$binary = $item.File.OpenBinary();
$folderPathToSave = $folderPath + "\\" + $item.Name;
if ($binary -ne $null)
{
$stream = New-Object System.IO.FileStream($folderPathToSave,[System.IO.FileMode]::Create,[System.IO.FileAccess]::ReadWrite);
$writer = New-Object System.IO.BinaryWriter($stream);
$writer.Write($binary);
$writer.Close();
}
}
$web.Dispose()
原职:
确保您的scirpt正在x64版本的powershell上运行。