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 ...
随机推荐
- 如何通过from语句调用模块的变量名?
# -*- coding: utf-8 -*- #python 27 #xiaodeng #如何通过from语句调用模块的变量名? #my.py def printer(x): print x #如何 ...
- ELK日志分析平台搭建全过程
一.使用背景 当生产环境有很多服务器.很多业务模块的日志需要每时每刻查看时 二.环境 系统:centos 6.5 JDK:1.8 Elasticsearch-5.0.0 Logstash-5.0.0 ...
- hdoj 2199 Can you solve this equation? 【二分枚举】
题意:给出一个数让你求出等于这个数的x 策略:如题. 由于整个式子是单调递增的.所以能够用二分. 要注意到精度. 代码: #include <stdio.h> #include <s ...
- 【laravel5.4】中jquery的post Ajax提交
1.post的ajax需要提交csrf_token字段,进行安全过滤 <meta name="csrf-token" content="{{ csrf_token( ...
- 【laravel54】详解中间件
1.中间件定义:对http请求进行一层过滤,通过过滤才能继续执行请求 2.中间件方法handle方法参数详解: 其中参数的形式可以有多个,使用[,]进行分割. 3.路由中使用中间件: 3.1 中间件使 ...
- 转载:PHP详解ob_clean,ob_start和ob_get_contents函数
1.这三个函数运用在PHP4和PHP5中.在一些PHP项目中,经常能看到这三个函数的使用. 有的输出,前面本来要显示在页面里的东西全都被清除了,不显示了. 第二个函数:ob_start(); 告诉ph ...
- (一)Linux Shell编程——简介、变量、字符串、数组
1. Shell简介 1.1 Shell出现背景 Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件. 对于图形界面,用户点击某个图标就能启动某个程序:对于命令行,用户输入某个程序的名字( ...
- 用一个URL加一个JAVA壳做成一个安卓应用
若想获得更新版本欢迎加入我们的 “本地应用开发webapp"群,一起协力开发一处编写处处运行的“本地应用”.我们将一直开源,将智慧共享,只有这样我们才能一起将应用体验做好! 特点: 1.程序 ...
- Google官方下拉刷新组件---SwipeRefreshLayout
今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...
- C#异常小知识
C#中异常捕获相信大家都很熟悉,经常使用的异常捕获有: 1. try{.....} catch (Exception ex) {throw ex;} 2. try{.....} catch (Exce ...