存在这样一种情况,对应的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的修改的更多相关文章

  1. 用 Python 脚本实现对 Linux 服务器的监控

    目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统 ...

  2. 用 Python 脚本实现对 Linux 服务器的网卡流量监控

    *这篇文章网上已经有相关代码,为了加深印象,我做了相关批注,希望对朋友们有帮助 工作原理:基于/proc文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新 ...

  3. 通过脚本实现对web的健康检查

    前面的文章中(https://www.cnblogs.com/zyxnhr/p/10707932.html),通过nginx的第三方模块实现对web端的一个监控,现在通过一个脚本实现对第三方的监控 脚 ...

  4. Python 脚本实现对 Linux 服务器的监控

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 原文地址 由于原文来自微信公众号,并且脚本都是图片,所以这里 ...

  5. 利用shell脚本实现对mysql数据库的备份

    #!/bin/bash #保存备份个数 number=3 #备份保存路径 backup_dir=/root/mysqlbackup #日期 dd=`date +%Y%m%d` #备份工具 tool=m ...

  6. 用PowerShell脚本删除SharePoint 的 Page中的WebPart

    编写PowerShell脚本可以删除page中所有的webpart,也可以根据webpart的属性信息去删除特定的webpart. 下面的PowerShell脚本便是删除对应page中所有的webpa ...

  7. jmeter通过BeanShell 脚本,实现对http请求参数的加密

    jmeter一直是一款很好的接口和性能测试工具,它是开源的,不需要为此支付任何费用,而且可以下载源码,可以在修改源代码并在此基础上拓展自己的功能或插件,它可以跟ant和jenkins结合起来搭建自己的 ...

  8. 实现对MySQL数据库进行分库/分表备份(shell脚本)

    工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...

  9. zabbix实现对tomcat的监控

    zabbix实现对tomcat的监控 工作原理 比如:当Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix- ...

随机推荐

  1. C# Winfrom 页面传值

    2个窗体 Parent,Children 代码: Parent public partial class Parent : Form { public string parentValue = &qu ...

  2. Enum:Face The Right Way(POJ 3276)

    面朝大海,春暖花开 题目大意:农夫有一群牛,牛排成了一排,现在需要把这些牛都面向正确的方向,农夫买了一个机器,一次可以处理k只牛,现在问你怎么处理这些牛才可以使操作数最小? 这道题很有意思,其实这道题 ...

  3. javascript 操作cookie

    function setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDa ...

  4. WPS文字在表格中打字自动跳动

    可以设置表格的属性来实现. 1.选择表格,点击鼠标右键,选择“表格属性” 2.在出现的对话框中,文字环绕选择“无”,“行”的设置为“允许跨页断行”,就可以了.

  5. You know元音字母吗?

    所谓元音字母,或者母音字母,就是语言里起着发声作用的字母.在英语中,A.E.I.O.U属于元音字母,其中U是半元音开音节和闭音节为数不多的5个元音字母看似简单,他们却能像变戏子一样跟辅音组合拼读成不同 ...

  6. [页面滚动到底部]jquery $(window).height()取值等于$(document).height()的问题

    问题现象:JSP中头部引用了某个head.jsp,在videoList.jsp中生成片段时如下 实际最终生成的HTML如下: <!DOCTYPE html>没有解析到,原因找到了,先想办法 ...

  7. PHP安全编程:过滤用户输入

    如果你能正确可靠地识别和过滤输入,你的工作就基本完成了.最后一步是使用一个命名约定或其它可以帮助你正确和可靠地区分已过滤和被污染数据的方 法.我推荐一个比较简单的命名约定,因为它可以同时用在面向过程和 ...

  8. 51nod1006(lcs)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1006 题意:中文题诶- 思路:最长公共子序列模板题- 我们用d ...

  9. 关于Linux环境变量

    查看全局变量:  printenv 查看单个环境变量的值可以用echo命令,必须在环境变量的名称前放一个$符号 如:

  10. Mac使用入门

    mac常用快捷键 全屏/退出全屏 ctr+command+F 切换到桌面 fn+f11 输入法切换 ctr+空格 亮度 f1.f2 声音 f11.f12 复制.粘贴 command+c.command ...