不在sharepoint服务器上时的Powershell Sharepoint管理单元

时间:2015-01-23 00:51:38

标签: powershell sharepoint upload server cmdlets

我是PowerShell和sharepoint的新手,我需要制作脚本来自动删除和上传从outlook到sharepoint的附件。我已经很容易地完成了提取附件的第一部分,但是上传到sharepoint对我公司的规则变得很困难。据我所知,使用sharepoint cmdlet需要添加sharepoint管理单元,但我无法这样做,因为我无法访问sharepoint服务器。无论如何不在服务器上的snapin,如果没有,我可以用另一种方式上传吗?

2 个答案:

答案 0 :(得分:0)

除非服务器是SP服务器,否则无法添加SP管理单元。而是使用webservice / webclient方法上载文件。根据你的SP版本,这样的东西应该工作: http://blog.sharepoint-voodoo.net/?p=205

答案 1 :(得分:0)

已接受的答案链接已损坏。

  

此脚本使用PowerShell使用纯粹的Web服务调用将文件上载到SharePoint中的文档库,因此可以远程完成,也意味着它应该可以与O365一起使用,尽管我还没有尝试过。   这些变量在整个脚本中用于源文件,目标文件和身份验证。如果您的工作站与SharePoint位于同一域中,并且您的登录用户具有SharePoint站点的权限,则可以省略$ username,$ password和$ domain

$LocalPath = "C:\filename.docx"
$spDocLibPath = "http://site.contoso.com/sites/spteam/Shared Documents/"
$username = "someone"
$password = "somepassword"
$domain = "contoso"

$UploadFullPath = $spDocLibPath + $(split-path -leaf $LocalPath)
$WebClient = new-object System.Net.WebClient

if($username -eq "" -or $password -eq "" -or $password -eq "")
{ 
# Use Local Logged on User Credentials
$WebClient.Credentials = [System.Net.CredentialCache]::DefaultCredentials
}
else
{
# Alternate Login for specifying credentials
$WebClient.Credentials = new-object System.Net.NetworkCredential($username, $password, $domain)
}
$WebClient.UploadFile($UploadFullPath, "PUT", $LocalPath)

https://web.archive.org/web/20160404174527/http://blog.sharepoint-voodoo.net/?p=205