PowerShell实现基于SharePoint的网站HomePage Auto-Configure Solution
Home Page Web Parts Auto-Configuration
PS:该项目为公司项目,我还是给他的名字屏蔽掉吧,这是我用PowerShell写的一个自动化升级工具,此为三部自动化工具的第三部,是用PowerShell配置SharePoint页面的web parts' settings以及生成相关的SharePoint数据以支持web part的正常工作。
Prerequisite:
本次内容为*** Home Page自动部署三步中最后一步,将完成*** HomePage主Jira上“HomePage各web part配置文档”中第九步之后的所有关于配置web part的相关内容。
General:
自动配置My Documents web part settings
自动配置Site Management web part settings
自动配置My Tasks web part settings
自动创建Scanned Documents所需要的Task List并命名为“***Tasks”
自动配置Administration web part settings
自动配置Quick Links web part settings
自动创建Quick Links web part所关联的Links List
自动生成Title,Description,Order,RedirectURL,RedirectMethod五个column
自动添加五种column到All Items view下
*由于Workflow属用户第三方Service,所以本次配置中并不包含Workflow相关。
Method:Right click and run it with PowerShell.
#This third solution should be used after the second solution which keeps a name of "HomePage Auto-Create"
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
Write-Host "Initializing..."
$Time = Get-Date
$Today = $Time.year.toString() + "." + $Time.month.toString() + "." + ($Time.day-1).toString()
$siteURL = "https://teamsite.migration.net/sites/" + $Today + ".HomePage"
$HomePageURL = "https://teamsite.migration.net/sites/" + $Today + ".HomePage/Pages/***HomePage.aspx"
$HomePageSiteCollection = Get-SPSite -Identity $siteURL
$HomePageWeb = $HomePageSiteCollection.rootweb
$HomePagePubWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($HomePageWeb)
$HomePage = $HomePagePubWeb.GetPublishingPage($HomePageURL)
Write-Host "Begin to configure the HomePage web parts..."
$HomePage.CheckOut()
$HomePageWeb.AllowUnsafeUpdates = $true
$limitedWebPartManager = $HomePage.ListItem.File.GetLimitedWebPartManager([System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)
#Modify the configuration information of the My Documents web part.
Write-Host "Begin to configure the My Documents web part..."
$MyDocumentsWebPart = $limitedWebPartManager.WebParts|where{$_.DisplayTitle -like '*My Documents*'}
$MyDocumentsWebPart.SearchServiceName = "SharePoint_Search_Proxy_***"
$MyDocumentsWebPart.DataBaseName = "DocAve6_ReportDB_***"
$MyDocumentsWebPart.ServerName = "***DB"
$MyDocumentsWebPart.Description = "Document Management Web Part"
$MyDocumentsWebPart.ChromeType = "TitleOnly"
#Modify the configuration information of the Site Management web part.
Write-Host "Begin to configure the Site Management web part..."
$SiteManagementWebPart = $limitedWebPartManager.WebParts|where{$_.DisplayTitle -like '*Site Management*'}
$SiteManagementWebPart.DataBaseName = "DocAve6_ReportDB_***"
$SiteManagementWebPart.ServerName = "***DB"
$SiteManagementWebPart.SearchServiceName = "SharePoint_Search_Proxy_***"
$SiteManagementWebPart.ChromeType = "TitleOnly"
#Modify the configuration information of the My Tasks web part.
Write-Host "Begin to configure the My Tasks web part..."
$MyTasksWebPart = $limitedWebPartManager.WebParts|where{$_.DisplayTitle -like '*Task*'}
$MyTasksWebPart.ChromeType = "TitleOnly"
#Create the task list
#$HomePageWeb.ListTemplates|where{$_.name -like 'tasks'}
Write-Host "Begin to create the tasks list with the name of '***Tasks' to work for the scanned documents module..."
$listTemplate = [Microsoft.SharePoint.SPListTemplateType]::Tasks
$ListCollection = $HomePageWeb.Lists
$ListCollection.Add("***Tasks","Work for *** HomePage My Tasks web part.",$listTemplate)
$ListCollection.Update()
$TasksList = $HomePageWeb.Lists|where{$_.title -like '***Tasks'}
$TasksList.OnQuickLaunch = "True"
$TasksList.Update()
#Scanned Documents settings
Write-Host "Begin to configure the Scanned Documents module..."
$MyTasksWebPart.ScanDocument_Title = "Scanned Documents"
$MyTasksWebPart.ScanDocument_LinkScript = "#"
#Service Catalogue settings
Write-Host "Begin to configure the Service Catalogue module..."
$MyTasksWebPart.ServiceCatalogue_Title = "Service Catalogue"
$MyTasksWebPart.ServiceCatalogue_Link = "#"
#Workflow settings
Write-Host "Begin to configure the Workflow module(Only basic)..."
$MyTasksWebPart.Workflow_Title = "Workflow"
$MyTasksWebPart.Workflow_Link = "#"
#SS settings
Write-Host "Begin to configure the Target for the scanned documents module..."
$MyTasksWebPart.SS_TargetWebUrl = $siteURL
$MyTasksWebPart.SS_TargetListName = "***Tasks"
$MyTasksWebPart.SS_RequestRootUrl_SC = "https://***damanager.migration.net:15999"
#Create the Links list
#$HomePageWeb.ListTemplates|where{$_.name -like 'tasks'}
Write-Host "Begin to create the Links list to work for the Quick Links web part..."
$listTemplate = $HomePageWeb.ListTemplates|where{$_.name -like 'custom list'}
$ListCollection = $HomePageWeb.Lists
$ListCollection.Add("Links","Work for *** HomePage Quick Links web part.",$listTemplate)
$ListCollection.Update()
$LinksList = $HomePageWeb.Lists|where{$_.title -like 'Links'}
Write-Host "Add the quick launch for Links list..."
$LinksList.OnQuickLaunch = "True"
#Create column fields to the list
Write-Host "Create the fields..."
$TextFieldType = [Microsoft.SharePoint.SPFieldType]::Text
$NumberFieldType = [Microsoft.SharePoint.SPFieldType]::Number
$ChoiceFieldType = [Microsoft.SharePoint.SPFieldType]::Choice
#Add choices under the choice field
$choices = New-Object System.Collections.Specialized.StringCollection
$choices.Add("_blank")
$choices.Add("_self")
#Add the fields to the Links List
Write-Host "Add the fields to the Links list..."
$DescriptionField = $LinksList.Fields.Add("Description",$TextFieldType,$false)
$OrderField = $LinksList.Fields.Add("Order",$NumberFieldType,$false)
$RedirectURLField = $LinksList.Fields.Add("RedirectURL",$TextFieldType,$false)
$RedirectMethodField = $LinksList.Fields.Add("RedirectMethod",$ChoiceFieldType,$false,$false,$choices)
#Add the fields to the Links List's default view
Write-Host "Add the fields to the All Items view..."
$LinksDefaultView = $LinksList.views|where{$_.views -like 'All Items'}
$LinksDefaultView.ViewFields.Add($DescriptionField)
$LinksDefaultView.ViewFields.Add($OrderField)
$LinksDefaultView.ViewFields.Add($RedirectURLField)
$LinksDefaultView.ViewFields.Add($RedirectMethodField)
$LinksDefaultView.Update()
#Add the "Try to find a site?" item to the Links list
Write-Host "Add the 'Try to find a site?' item to the Links list..."
$DefaultListItem = $LinksList.AddItem()
$DefaultListItem["Title"] = "Try to find a site?"
$DefaultListItem["Description"] = "FNA(Financial News Alert)"
$DefaultListItem["Order"] = 1
$DefaultListItem["RedirectURL"] = "https://***damanager.migration.net:15999/SiteCollectionDirectoryReport/ViewPublishReports?SPHostUrl=https://teamsite.migration.net/sites/ForHomePageTesting/"
$DefaultListItem["RedirectMethod"] = "_self"
$DefaultListItem.Update()
$LinksList.Update()
#Modify the configuration information of the Quick Links web part.
Write-Host "Begin to configure the Quick Links web part..."
$QuickLinksWebPart = $limitedWebPartManager.WebParts|where{$_.DisplayTitle -like '*Quick Links*'}
$QuickLinksWebPart.ChromeType = "TitleOnly"
#Modify the configuration information of the Administration web part.
Write-Host "Begin to configure the Administration web part..."
$AdministrationWebPart = $limitedWebPartManager.WebParts|where{$_.DisplayTitle -like '*Administration*'}
$AdministrationWebPart.ChromeType = "None"
$AdministrationWebPart.DesktopActivityLogURL = "https://teamsite.migration.net/sites/activitylog test"
$AdministrationWebPart.TaxonomyManagementURL = "https://teamsite.migration.net/sites/Taxonomy%20Case/_layouts/15/***TaxonomyManagement/TaxonomyManagement.aspx"
$AdministrationWebPart.CollaborationDashboardURL = "https://teamsite.migration.net/sites/ForHomePageTesting/SitePages/collabration.aspx"
$AdministrationWebPart.ServiceCatalogueAdministrationURL = "https://***damanager.migration.net:15999"
$AdministrationWebPart.DocAveURL = "https://***damanager.migration.net:14999"
#$AdministrationWebPart.WorkflowWSUrl
#$AdministrationWebPart.WorkflowWSMethod
#$AdministrationWebPart.WorkflowJUMPUrl
#Save the changes to the web parts
Write-Host "Begin to save all the configurations..."
$limitedWebPartManager.SaveChanges($MyDocumentsWebPart)
$limitedWebPartManager.SaveChanges($SiteManagementWebPart)
$limitedWebPartManager.SaveChanges($MyTasksWebPart)
$limitedWebPartManager.SaveChanges($QuickLinksWebPart)
$limitedWebPartManager.SaveChanges($AdministrationWebPart)
$HomePage.Update()
$HomePage.CheckIn("")
$HomePage.ListItem.File.Publish("")
$HomePageWeb.Dispose()
Write-Host "The HomePage has been configured successfully!"
Read-Host "Press any key to continue"
PowerShell实现基于SharePoint的网站HomePage Auto-Configure Solution的更多相关文章
- PowerShell实现基于SharePoint的网站HomePage Auto-Upgrade Solution
*** Solution Auto-Upgrade Solution Tuesday, January 06, 2015 PS:该项目为公司项目,我还是给他的名字屏蔽掉吧,这是我用PowerShell ...
- PowerShell实现基于SharePoint的网站HomePage Auto-Create Solution
*** HomePage Auto-Create Solution Monday, January 12, 2015 PS:该项目为公司项目,我还是给他的名字屏蔽掉吧,这是我用PowerShell ...
- 实现一个基于 SharePoint 2013 的 Timecard 应用(上)
在 SharePoint 2013 上面实现一个 Timecard 应用的想法来自一个真实的需求,而实现的方案在我脑海里面盘旋已经很久了,终于这几天准备安排点儿时间将它实现出来. “ We start ...
- 优化移动设备上SharePoint 2013网站
优化移动设备上SharePoint 2013网站 本文由SPFarmer翻译自Waldek Mastykarz的文章 移动市场在持续的增长.在不远的将来,使用移动设备浏览站点将会超过电脑.为了保证用户 ...
- SharePoint 开启网站匿名访问图文详解
SharePoint 开启网站匿名,需要先开启web application的匿名访问,然后开启site的匿名访问.特别的,site可以选择整个网站开启或者列表和库开启匿名,如果选择列表和库开启匿名, ...
- 基于jQuery的网站首页宽屏焦点图幻灯片
今天给大家分享一款基于jQuery的网站首页宽屏焦点图幻灯片.这款焦点图适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览 ...
- 基于jQuery商城网站全屏图片切换代码
基于jQuery商城网站全屏图片切换代码.这是一款商城网站全屏多张图片滑动切换代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class="slid ...
- SharePoint 2013网站突然不能登录了。
SharePoint 2013网站突然不能登录了,访问的时候,总是报错: The list has not shared with you. 原因: 原来我不知道什么时候把web applicat ...
- 在PowerShell中操作SharePoint对象
1. 用PowerShell创建一个SharePoint内容对象创建一个自定义列表:$SPSite = New-Object Microsoft.SharePoint.SPSite("htt ...
随机推荐
- http 错误码对照表
代码 指示 2xx 成功 200 正常:请求已完成. 201 正常:紧接 POST 命令. 202 正常:已接受用于处理,但处理尚未完成. 203 正常:部分信息 — 返回的信息只是一部分. 204 ...
- HDUOJ-----X问题
X问题 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- App上架重磅通知:App Store安全新规17年1月生效
作者:沙铭 来源:公众号 沙铭世界观 ID:mobview 做推广的也许并不了解什么是ATS(App Transport Security),不过这却是一个定时炸弹,引爆点在2016年底,后果就是你不 ...
- 关系数据库元数据处理类(一) 创建MSSQL元数据具体处理类
public class SqlServer : BaseMetadata { public SqlServer(string connectionString) : base(new DbUtili ...
- Java将数据库数据导入EXCEL
一般的数据库数据怎么导入excel中呢??这让人非常疑惑,今天我找到了一个方法能够实现 须要导入一个第三方包下载地址 详细内容例如以下: 里面含有指导文档,index.html里面含有怎样读取数据库文 ...
- Python istitle() 方法
描述 istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写. 语法 istitle() 方法语法: S.istitle() 参数 无. 返回值 如果字符串中所有的单词拼 ...
- spring中事务配置
1 如果在方法.类.接口上使用注解的方式声明事务,需要在配置文件中进行配置,以便通知 Spring 容器对标注 @Transactional 注解的 bean 加工处理. 首先需要引入 tx 命名空间 ...
- Token:服务端身份验证的流行方案【转】
01- 身份认证 服务端提供资源给客户端,但是某些资源是有条件的.所以服务端要能够识别请求者的身份,然后再判断所请求的资源是否可以给请求者. token是一种身份验证的机制,初始时用户提交账号数据给服 ...
- Linux操作系统CentOS7.2发行版本的安装与配置(安装是选择服务器类型)
原文地址:http://1130739.blog.51cto.com/1120739/1738791 由于CentOS 7出来不久,对于这个版本的系统安装与配置的教程较少,今天就索性介绍一下CentO ...
- 配置 Sliverlight 跨域访问策略
Silverlight程序在访问非本域资源时,需要在相应的域根目录下建立跨域访问策略文件才能进行访问. 文件名:clientaccesspolicy.xml 文件内容: <?xml versio ...