用PowerShell脚本实现对SharePoint页面Title的修改
存在这样一种情况,对应的page已经部署到product的SharePoint环境中,那么在部署下一个版本的时候就不允许把已经创建好的page删除再创建,因此page中修改过的属性就不能再次部署到SharePoint中。
鉴于这种情况,我们可以手动的在SharePoint环境中修改page的属性(例如:title),也可以编写feature或者PowerShell脚本处理这种修改。
如下便是通过PowerShell脚本修改page的title属性:
- #webapp url
- $webAppUrl = http://url.../
- #web urls
- $rootWebUrl = $webAppUrl + "haha"
- $rttaWebUrl = $webAppUrl + "haha/rtta"
- $supportWebUrl = $webAppUrl + "haha/support"
- #web pages arrays
- $rootWebPages = @("Pages/rootpage1.aspx", "Pages/rootpage2.aspx", "Pages/rootpage3.aspx", "Pages/rootpage4.aspx")
- $rttaWebPages = @("Pages/rttapage1.aspx", "Pages/rttapage2.aspx", "Pages/rttapage3.aspx")
- $supportWebPages = @("Pages/supportpage1.aspx", "Pages/supportpage2.aspx", "Pages/supportpage3.aspx")
- #If you don't want to change any page's title in target web. Define variables as following.
- #$rootWebPages = ""
- #$rttaWebPages = ""
- #$supportWebPages = ""
- #title arrays
- $rootWebPagesTitle = @("My Root Page1", "My Root Page2", "My Root Page3", "My Root Page4")
- $rttaWebPagesTitle = @("My Page1", "My Page2", "My Page3")
- $supportWebPagesTitle = @("Your Page1", "Your Page2", "Your Page3")
- #
- #change target web pages title
- #
- function ChangeTargetWebPagesTitle([string]$pageType)
- {
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Start change target web pages title logic ");
- if($pageType -eq "root")
- {
- $webUrl = $rootWebUrl
- $webPagesArray = $rootWebPages
- $webPagesTitleArray = $rootWebPagesTitle
- }
- if($pageType -eq "rtta")
- {
- $webUrl = $rttaWebUrl
- $webPagesArray = $rttaWebPages
- $webPagesTitleArray = $rttaWebPagesTitle
- }
- if($pageType -eq "support")
- {
- $webUrl = $supportWebUrl
- $webPagesArray = $supportWebPages
- $webPagesTitleArray = $supportWebPagesTitle
- }
- if($webPagesArray.Length -gt 0)
- {
- $spWeb = Get-SPWeb -Identity $webUrl
- if ([Microsoft.SharePoint.Publishing.PublishingWeb]::IsPublishingWeb($spWeb))
- {
- $spPubWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($spWeb)
- $pages = $spPubWeb.PagesList
- foreach($item in $pages.Items)
- {
- $pubPage = [Microsoft.SharePoint.Publishing.PublishingPage]::GetPublishingPage($item)
- for($i = 0; $i -lt $webPagesArray.Length; $i++)
- {
- if (($pubPage.Url -eq $webPagesArray[$i]) -and ($pubPage.Title -ne $webPagesTitleArray[$i]))
- {
- $pubPage.CheckOut()
- $pubPage.Title = $webPagesTitleArray[$i]
- $pubPage.Update();
- $pubPage.CheckIn("")
- $pageFile = $pubPage.ListItem.File;
- $pageFile.Publish("");
- #pageFile.Approve(checkInComment);
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Change title to: " + $webPagesTitleArray[$i]);
- break
- }
- }
- }
- }
- $spWeb.Dispose()
- }
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Finish change target web pages title logic ");
- }
- #
- #change root web pages title
- #
- function ChangeRootWebPagesTitle
- {
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Start ChangeRootWebPagesTitle Function");
- if($rootWebPages.Length -gt 0)
- {
- ChangeTargetWebPagesTitle("root")
- }
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Finish ChangeRootWebPagesTitle Function");
- }
- #
- #change rtta web pages title
- #
- function ChangeRTTAWebPagesTitle
- {
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Start ChangeRTTAWebPagesTitle Function");
- if($rttaWebPages.Length -gt 0)
- {
- ChangeTargetWebPagesTitle("rtta")
- }
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Finish ChangeRTTAWebPagesTitle Function");
- }
- #
- #change support web pages title
- #
- function ChangeSupportWebPagesTitle
- {
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Start ChangeSupportWebPagesTitle Function");
- if($supportWebPages.Length -gt 0)
- {
- ChangeTargetWebPagesTitle("support")
- }
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Finish ChangeSupportWebPagesTitle Function");
- }
- #call function to change root web pages title
- ChangeRootWebPagesTitle
- #call function to change rtta web pages title
- ChangeRTTAWebPagesTitle
- #call function to change support web pages title
- ChangeSupportWebPagesTitle
- Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("================ Finish change the pages title ==================");
。。。。。。。。。。
用PowerShell脚本实现对SharePoint页面Title的修改的更多相关文章
- 用 Python 脚本实现对 Linux 服务器的监控
目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统 ...
- 用 Python 脚本实现对 Linux 服务器的网卡流量监控
*这篇文章网上已经有相关代码,为了加深印象,我做了相关批注,希望对朋友们有帮助 工作原理:基于/proc文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新 ...
- 通过脚本实现对web的健康检查
前面的文章中(https://www.cnblogs.com/zyxnhr/p/10707932.html),通过nginx的第三方模块实现对web端的一个监控,现在通过一个脚本实现对第三方的监控 脚 ...
- Python 脚本实现对 Linux 服务器的监控
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 原文地址 由于原文来自微信公众号,并且脚本都是图片,所以这里 ...
- 利用shell脚本实现对mysql数据库的备份
#!/bin/bash #保存备份个数 number=3 #备份保存路径 backup_dir=/root/mysqlbackup #日期 dd=`date +%Y%m%d` #备份工具 tool=m ...
- 用PowerShell脚本删除SharePoint 的 Page中的WebPart
编写PowerShell脚本可以删除page中所有的webpart,也可以根据webpart的属性信息去删除特定的webpart. 下面的PowerShell脚本便是删除对应page中所有的webpa ...
- jmeter通过BeanShell 脚本,实现对http请求参数的加密
jmeter一直是一款很好的接口和性能测试工具,它是开源的,不需要为此支付任何费用,而且可以下载源码,可以在修改源代码并在此基础上拓展自己的功能或插件,它可以跟ant和jenkins结合起来搭建自己的 ...
- 实现对MySQL数据库进行分库/分表备份(shell脚本)
工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...
- zabbix实现对tomcat的监控
zabbix实现对tomcat的监控 工作原理 比如:当Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix- ...
随机推荐
- zju3547
题意:给出n(1<=n<=10^8),求小于n的,求所有与n互质的数字的四次幂的加和是多少. 分析:容斥原理 首先要知道四次幂求和公式,1^4+2^4+...+n^4=n*(n+1)*(2 ...
- ios 引入第三方库 运行时找不到函数实现
今天引入webtrends 这个库,结果一直运行时找不到函数,纳闷了一下午! 后来发现,是other flag没有设置对,对于那些包含category用来扩展ios原始类型的库,链接的时候需要特别的链 ...
- php调用c/c++的一种方式
php调用c/c++有很多方式,最常用的是通过tcp或者http去调用,通过发送请求去调用c/c++编写的cgi/fastcgi来实现,另外php还有一种直接执行外部应用程序的方式,这种方式会影响到系 ...
- 12. javacript高级程序设计-DOM2和DOM3
1. DOM2和DOM3 DOM2级规范定义了一些模块,用于增强DOM1级.“DOM2级核心”为不同的DOM类型引入了一些与XML命名空间有关的方法,这些变化只在使用XML或者XHTML,对于HTML ...
- MySQL(MariaDB)的 SSL 加密复制
背景: 在默认的主从复制过程或远程连接到MySQL/MariaDB所有的链接通信中的数据都是明文的,在局域网内连接倒问题不大:要是在外网里访问数据或则复制,则安全隐患会被放大很多.由于项目要求需要直接 ...
- 插头DP专题
建议入门的人先看cd琦的<基于连通性状态压缩的动态规划问题>.事半功倍. 插头DP其实是比较久以前听说的一个东西,当初是水了几道水题,最近打算温习一下,顺便看下能否入门之类. 插头DP建议 ...
- ClassLoad的加载过程及分析
-Xbootclasspath:bootclasspath 让jvm从指定路径(可以是分号分隔的目录.jar.或者zip)中加载bootclass,用来替换jdk的rt.jar:若非必要,一般不会用到 ...
- win7 ubuntu10.04双系统,重装win7后,修复双启动项
进入ubuntu的liveCD(即在试用ubuntu里),在终端里操作 首先要找到自己的ubuntu系统挂载在那个sda下面.可以用sudo fdisk -l 这个命令.然后: 1. sudo -i ...
- Android Volley入门到精通:初识Volley的基本用法
1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...
- 【编程题目】求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case和条件语句
看到这个问题,第一个反应是真变态啊. 然后,直觉是不能用循环就只能用递归了.可递归怎么跳出来却遇到了麻烦, 我连goto语句都考虑了也没弄好. 后来想到一个非常NC的方法:查找表. 如果n限定一个比较 ...