2014-03-28 33 views
1

我已经创建了几个SharePoint托管的应用程序。是否可以创建批量应用目录,因为该应用是为100个小客户创建的。我找不到可用于Sharepoint office 365网站目录的PowerShell命令。PowerShell Sharepoint 2013应用程序目录

是否有可能使用PowerShell上传批量应用程序。在网上找不到更多信息。

也许任何人在这里有一些建议?

干杯, 克里斯

+0

你已经成功了还是对你来说还是个问题? –

+0

尚未用于SharePoint Online。所以这仍然是一个问题。 – user3396761

回答

0

,可以批量上传应用到Office 365的环境,因为它是为SharePoint内部部署。 这里棘手的部分是,您必须将应用程序上传到应用程序目录,实际上它是一个文档库。

最近我创建了一个使用来自互联网脚本的功能。发布以下功能:

function UploadAppToCatalog    
    {    
    [CmdletBinding()]    
    Param(   
    [Parameter(Mandatory=$true,ValueFromPipeline=$true)]    
    [string]$webUrl,    
    [Parameter(Mandatory=$true)]    
    [string]$DocLibName,    
    [Parameter(Mandatory=$true)]    
    [string]$FilePath    
    )     

    Start-SPAssignment -Global    
    $spWeb = Get-SPWeb -Identity $webUrl    
    $spWeb.AllowUnsafeUpdates = $true;    
    $List = $spWeb.Lists[$DocLibName]    
    $folder = $List.RootFolder    
    $FileName = $FilePath.Substring($FilePath.LastIndexOf("\")+1)    
    $File= Get-ChildItem $FilePath    
    [Microsoft.SharePoint.SPFile]$spFile = $spWeb.GetFile("/" + $folder.Url + "/" + File.Name)    
    $flagConfirm = 'y'    
    if($spFile.Exists -eq $true)    
    {    
     $flagConfirm = Read-Host "File $FileName already exists in library $DocLibName, do you want to upload a new version(y/n)?"    
    }    

    if ($flagConfirm -eq 'y' -or $flagConfirm -eq 'Y')    
    {    
     $fileStream = ([System.IO.FileInfo] (Get-Item $File.FullName)).OpenRead()    
     #Add file    
     write-host -NoNewLine -f yellow "Copying file " $File.Name " to " $folder.ServerRelativeUrl "..."    
     [Microsoft.SharePoint.SPFile]$spFile = $folder.Files.Add($folder.Url + "/" + $File.Name, [System.IO.Stream]$fileStream, $true)    
     write-host -f Green "...Success!"    
     #Close file stream    
     $fileStream.Close()    
     write-host -NoNewLine -f yellow "Update file properties " $spFile.Name "..."    
     $spFile.Item["Title"] = "Document Metrics Report"    
     $spFile.Item.Update()    
     write-host -f Green "...Success!"    
    }    
    $spWeb.AllowUnsafeUpdates = $false;    


    Stop-SPAssignment -Global    
} 
+0

所以它只能在内部部署?在Sharepoint Online(Office 365)中,这是不可能的? – user3396761

相关问题