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 ...
随机推荐
- SQL Server 2012 “阻止保存要求又一次创建表”的更改问题的设置方法
我们在用SQL Server 2012 建完表后,插入或改动随意列时,提示:当用户在在SQL Server 2012企业管理器中更改表结构时.必需要先删除原来的表.然后又一次创建新表,才干完毕表的更改 ...
- 如何让history命令显示最近所执行过的命令的具体执行时间
如何让history命令显示最近所执行过的命令的具体执行时间. 步骤如下: 1.以ROOT用户编辑/etc/profile文件,在里面加入下面内容(我一般习惯在最末尾加): export HISTTI ...
- HTTP头返回码分析
http协议通讯时,在客户端发送请求后(request),服务器端返回的状态码解释(response) http状态码 1**:请求收到,继续处理 2**:操作成功收到,分析.接受 ...
- Mint17 一些安装备忘
1,中文输入法: sudo apt-add-repository ppa:fcitx-team/dailybuild-fcitx-master sudo apt-get update sudo apt ...
- HDUOJ-----2065"红色病毒"问题
"红色病毒"问题 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- VI打开和编辑多个文件的命令
http://www.05112.org/school/xtrm/linux/2013/0625/4280.htmlVI打开和编辑多个文件的命令 可分两种情况: 1.在同一窗口中打开多个文件: v ...
- 让你的APP和你的服务器畅快通讯
做安卓开发有很多时候都是要和web交互的,我们很难制作本地应用,这次把小弟整出来的安卓和服务器通讯贡献出来,希望能帮到需要的朋友,同时也是加深印象. 我们先来搭建安卓客户端,首先写好布局文件: 1.布 ...
- OAF_OAF控件系列4 - HGrid的实现(案列)
2014-06-02 Created By BaoXinjian
- Android静态图片人脸识别的完整demo(附完整源码)
Demo功能:利用android自带的人脸识别进行识别,标记出眼睛和人脸位置.点击按键后进行人脸识别,完毕后显示到imageview上. 第一部分:布局文件activity_main.xml < ...
- jeecg多页签的选择切换
有时候我们的页面需要多页签,多页签又引起一个问题就是只会校验初始加载的页签,所以就有了一个需求,需要把所有的页签都加载一遍,之后所有页签中需要校验的内容都会校验了,切换页签代码如下: $(docume ...