Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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
C# 使用Windows PowerShell脚本访问Sharepoint文档库列表_C#_Powershell_Sharepoint 2010 - Fatal编程技术网

C# 使用Windows PowerShell脚本访问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

任务:我需要循环浏览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.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上运行。