在sharepoint中使用powershell创建文件夹(webservices)

在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

我需要在sharepoint中创建一个尚不存在的文件夹。我的powershell脚本未在sharepoint服务器上运行,因此我认为我必须使用sharepoint web services?我目前正在使用powershell使用webclient将文件上载到sharepoint,如下所示-但我需要先为该文件创建文件夹。。。如果它还不存在

# 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"