PowerShell实现基于SharePoint的网站HomePage Auto-Create Solution
*** HomePage Auto-Create Solution
Automation :
本次自动化代替操作完成的是HomePage配置文档中设置步骤的1到9步(属于做数据阶段),由于HomePage结合的模块众多,添加web parts到页面的过程需要调用Leo哥写的各种后台过程,光靠调用SharePoint API是无法完成的,所以第九步后半部分的“将webpart一一对应的加入WebPart Zone中”这一过程为手动添加过程。(属于测试阶段,检查咱们添加的后台过程是否正常运行,1. My Documents web part的title url是否自动添加到web part setting中;2. 保存并点击title,检查header能顺利实现跳转;2. 检查My Documents web part和Site Management web part的header是否包含特定的黑框样式。)
整个HomePage部署自动化包含三个阶段,第一阶段(详见上一篇)和第二阶段都已经完成了,最后一个阶段就是配置web part和修改web part信息的过程我也会找时间尝试写成自动配置的脚本。(感谢大神超哥@Leo Jiang巨指点,虽然这次没试上web part的导出导入和API,不过下次写web part的配置过程时就可以派上用途啦。)
HomePage设置步骤:
- Add Solution APPS***HomePage.wsp to Farm
- Deploy solution到homepage所在web application
- 创建Site Collection,作为Home Page使用的Site Collection。
- 进入Site Setting页面,点击Site collection features,激活SharePoint Server Publishing Infrastructure,Custom Page Layout Feature
- 返回Site Setting页面,点击Manage Site features,激活SharePoint Server Publishing
- 返回Site Setting页面,点击Site collection features,激活Home Page Web Part Feature
- 设置Site的***ter page为Seattle
- 点击Site Contents,进入Pages Library,点击Ribbon上的New Documents,创建Article Page,Page Layout选择*** Home Page
- 创建好Home Page对应的publishing page
METHOD: Right click the tool and run it as administrator.
Result: The *** Home Page will be created and open automatically.
Script Code:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue $Time = Get-Date $Today = $Time.year.toString() + "." + $Time.month.toString() + "." + $Time.day.toString() $TodayIs = "Today is " + $Today.toString() $TodayIs $siteURL = "https://teamsite.migration.net/sites/" + $Today + ".HomePage" Write-Host "Today's HomePage is creating..." New-SPSite -URL $siteURL -OwnerAlias "soe\tuser2" -Language 1033 -CompatibilityLevel 15 -Template "STS#0" $HomePageSiteCollection = Get-SPSite -Identity $siteURL Write-Host "The HomePage site collection has been created successfully." #Enable the site collection level publishing feature Write-Host "Enabling the site collection level publishing feature..." Enable-SPFeature -Id F6924D36-2FA8-4f0b-B16D-06B7250180FA -Url $siteURL Write-Host "The site collection level publishing feature has been enabled." #Enable the *** custom page layout feature Write-Host "Enabling the *** custom page layout feature..." Enable-SPFeature -Id AFBAA18A-CD2A-4866-AE01-EB1B35778687 -Url $siteURL Write-Host "The *** custom page layout feature has been enabled." #Enable the web level publishing feature Write-Host "Enabling the web level publishing feature..." Enable-SPFeature -Id 94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb -Url $siteURL Write-Host "The web level publishing feature has been enabled." #Enable the HomePage web part feature Write-Host "Enabling the HomePage feature..." Enable-SPFeature -Id 8efd39bf-e322-41a6-80c8-a82c531f0fa1 -Url $siteURL Write-Host "The HomePage feature has been enabled." #Change the system ***ter page Write-Host "Changing the system ***ter page into seattle..." $HomePageSiteCollection.rootweb.***terUrl = "/sites/" + $Today + ".HomePage/_catalogs/***terpage/seattle.***ter" Write-Host "The system ***ter page has been changed." #Change the site ***ter page Write-Host "Changing the site ***ter page into seattle..." $HomePageSiteCollection.rootweb.Custom***terUrl = "/sites/" + $Today + ".HomePage/_catalogs/***terpage/seattle.***ter" Write-Host "The site ***ter page has been changed." #Save the change Write-Host "Save the changes..." $HomePageSiteCollection.rootweb.update() Write-Host "The changes has been saved to the HomePage's site collection." #Create the HomePage Write-Host "Creating the HomePage automatically..." $spWeb = $HomePageSiteCollection.rootweb $pubWeb =[Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($spWeb) $pageLayout = $pubWeb.GetAvailablePageLayouts()|where{$_.name -like '*DMSHome*'} $HomePage = $pubWeb.AddPublishingPage("***HomePage.aspx",$pageLayout) #filename need end with .aspx extension $HomePage.Update() $HomePage.CheckIn("") $HomePage.ListItem.File.Publish("") $spWeb.Dispose() Write-Host "The HomePage has been created successfully..." $HomePageURL = $siteURL + "/Pages/***HomePage.aspx" $shell = New-Object -ComObject Shell.Application $shell.Open($HomePageURL) Read-Host "Press any key to continue"
PowerShell实现基于SharePoint的网站HomePage Auto-Create Solution的更多相关文章
- PowerShell实现基于SharePoint的网站HomePage Auto-Upgrade Solution
*** Solution Auto-Upgrade Solution Tuesday, January 06, 2015 PS:该项目为公司项目,我还是给他的名字屏蔽掉吧,这是我用PowerShell ...
- PowerShell实现基于SharePoint的网站HomePage Auto-Configure Solution
Home Page Web Parts Auto-Configuration 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 ...
随机推荐
- XML 文档结构必须从头至尾包含在同一个实体内
XML 文档结构必须从头至尾包含在同一个实体内 CreateTime--2018年4月2日16:40:58 Author:Marydon 问题还原: <![CDATA[ <?xml v ...
- HDU 5402 Travelling Salesman Problem(棋盘染色 构造 多校啊)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5402 Problem Description Teacher Mai is in a maze wit ...
- mysql字符集和字符排序
mysql的字符集和字符序: 字符序:字符序(Collation)是指在同一字符集内字符之间的比较规则 一个字符序唯一对应一种字符集,但一个字符集可以对应多种字符序,其中有一个是默认字符序 ...
- 如何让history命令显示最近所执行过的命令的具体执行时间
如何让history命令显示最近所执行过的命令的具体执行时间. 步骤如下: 1.以ROOT用户编辑/etc/profile文件,在里面加入下面内容(我一般习惯在最末尾加): export HISTTI ...
- C#:定义窗口快捷键
事情的关键是要设置Form的KeyPreview属性,然后再在KeyDown事件中检查按键. public class TEST : Form { public TEST() { Initialize ...
- HTML:减少页面加载时间的方法
1. 重复的HTTP请求数量应尽量减少 (1)减少调用其他页面.文件的数量. (2)在使用css格式时,常会采用background载入图形文件,而每个background的图像都会产生1次HTTP ...
- 【LeetCode】137. Single Number II (3 solutions)
Single Number II Given an array of integers, every element appears threetimes except for one. Find t ...
- HighCharts: 设置时间图x轴的宽度
这个x轴宽度的设置整了好久,被老板催的要死 highcharts的api文档很难找,找了半天也没找到,网上资料少,说的试了下,也没有,我用的图里api文档里没有介绍,这个属性不知道的话,根本不好找.为 ...
- 总结PLSQL的快捷键以及使用技巧
http://www.dedecms.com/knowledge/data-base/oracle/2012/0724/3643.html 最近在开发过程中,遇到一些麻烦,就是开发效率问题,有时候其他 ...
- 利用pushState开发无刷页面切换(转)
相关文档:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulatingthebrowser_history 实现目标 ...