在sharepoint中使用powershell创建文件夹(webservices)
我需要在sharepoint中创建一个尚不存在的文件夹。我的powershell脚本未在sharepoint服务器上运行,因此我认为我必须使用sharepoint web services?我目前正在使用powershell使用webclient将文件上载到sharepoint,如下所示-但我需要先为该文件创建文件夹。。。如果它还不存在在sharepoint中使用powershell创建文件夹(webservices),powershell,sharepoint,sharepoint-2010,Powershell,Sharepoint,Sharepoint 2010,我需要在sharepoint中创建一个尚不存在的文件夹。我的powershell脚本未在sharepoint服务器上运行,因此我认为我必须使用sharepoint web services?我目前正在使用powershell使用webclient将文件上载到sharepoint,如下所示-但我需要先为该文件创建文件夹。。。如果它还不存在 # Upload the file $webclient = New-Object System.Net.WebClient $webclient.Creden
# Upload the file
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = $credentials
$webclient.UploadFile($destination + "/" + $File.Name, "PUT", $File.FullName)
这可能与webclient有关吗?如果没有,如何使用sharepoint web services来实现这一点?既然您提到了sharepoint web services,可以用于此目的,例如:
Function Create-Folder([string]$WebUrl,[string]$ListUrl,[string]$ListName,[string]$FolderName)
{
$url = $WebUrl + "/_vti_bin/lists.asmx?WSDL"
$listsProxy = New-WebServiceProxy -Uri $url -UseDefaultCredential
$batch = [xml]"<Batch OnError='Continue' RootFolder='$WebUrl/$ListUrl'><Method ID='1' Cmd='New'><Field Name='ID'>New</Field><Field Name='FSObjType'>1</Field><Field Name='BaseName'>$FolderName</Field></Method></Batch>"
$result = $listsProxy.UpdateListItems($ListName, $batch)
}
在请求
列表中创建2014
文件夹:
Create-Folder -WebUrl "http://contoso.intranet.com" -ListUrl "Lists/Requests" -ListName "Requests" -FolderName "2014"
更新
如果文件夹已存在,则SOAP服务将抛出错误:
由于发生意外错误,操作失败。(结果)
代码:0x8107090d)
但由于的
OnError
属性设置为Continue
,PowerShell将继续执行 谢谢-真的很有帮助!如果文件夹已经存在,此错误是否会继续?
Create-Folder -WebUrl "http://contoso.intranet.com" -ListUrl "Lists/Requests" -ListName "Requests" -FolderName "2014"