通过Powershell在没有SharePoint模块的SharePoint库中列出文件

通过Powershell在没有SharePoint模块的SharePoint库中列出文件,sharepoint,sharepoint-2010,powershell-2.0,Sharepoint,Sharepoint 2010,Powershell 2.0,我们在Exchange服务器(Exchange 2010/Win 2008 R2)上运行了一个powershell脚本,该脚本需要在SharePoint 2013中查询SharePoint文档库,以查找名称每天都可能不同的文件。比如说, Stats_2015_10_14_06_00_01.csv或Stats_2015_10_15_06_05_01.csv 这使我无法硬编码文件名,无法使用System.Net.WebClient方法在本地下载文件 我也没有在Exchange服务器上安装ShareP

我们在Exchange服务器(Exchange 2010/Win 2008 R2)上运行了一个powershell脚本,该脚本需要在SharePoint 2013中查询SharePoint文档库,以查找名称每天都可能不同的文件。比如说,

Stats_2015_10_14_06_00_01.csv或Stats_2015_10_15_06_05_01.csv

这使我无法硬编码文件名,无法使用System.Net.WebClient方法在本地下载文件

我也没有在Exchange服务器上安装SharePoint模块,当然那里的管理员也不想安装它

我尝试将基于HTTPS的sharepoint网站名称转换为基于UNC(\…)的名称,但这似乎只适用于我的Windows 8笔记本电脑…但在Exchange服务器上失败


有什么建议吗?

使用新的WebServiceProxy调用Lists.asmx webservice

比如:

$listname = "Documents" 
$query = "<Query>
              <Where>
                 <Lt>
                     <FieldRef Name="ID" />
                     <Value Type="Counter">3</Value>
                 </Lt>
              </Where>
          </Query>"
$queryOptions = ""
$Credentials = Get-Credential
$Ws = New-WebServiceProxy -Uri "Http://mysharepoint.com/mysite/_vti_bin/lists.asmx" -namespace WebServiceProxy -class lists -Credential $Credentials
[xml]$list = $Ws.GetListItems($listName, "", $query, "", 1000, $queryOptions, null)
$listname=“文档”
$query=”
3.
"
$queryOptions=“”
$Credentials=获取凭证
$Ws=新的WebServiceProxy-Uri“H”ttp://mysharepoint.com/mysite/_vti_bin/lists.asmx“-命名空间WebServiceProxy-类列表-凭据$Credentials”
[xml]$list=$Ws.GetListItems($listName,“,$query,”,1000,$queryOptions,null)
列表参考。Asmx调用:

现在,您有了一个包含列表中所有项的XML的对象(基于您的查询)。然后,您应该能够遍历该XML数据以找到您的文件名,然后使用System.Net.WebClient直接下载,因为您现在拥有了路径

或者,您可以说服系统管理员允许您将Microsoft.Sharepoint.Dll库安装到Exchange服务器中。然后,您可以使用powershell导入该文件,并获取您使用的所有常规SP数据结构(spsite、Splistitem等),而无需安装完整的Sharepoint命令行管理插件