存在这样一种情况,对应的page已经部署到product的SharePoint环境中,那么在部署下一个版本的时候就不允许把已经创建好的page删除再创建,因此page中修改过的属性就不能再次部署到SharePoint中。

鉴于这种情况,我们可以手动的在SharePoint环境中修改page的属性(例如:title),也可以编写feature或者PowerShell脚本处理这种修改。

如下便是通过PowerShell脚本修改page的title属性:

  1. #webapp url
  2. $webAppUrl = http://url.../
  3.  
  4. #web urls
  5. $rootWebUrl = $webAppUrl + "haha"
  6. $rttaWebUrl = $webAppUrl + "haha/rtta"
  7. $supportWebUrl = $webAppUrl + "haha/support"
  8.  
  9. #web pages arrays
  10. $rootWebPages = @("Pages/rootpage1.aspx", "Pages/rootpage2.aspx", "Pages/rootpage3.aspx", "Pages/rootpage4.aspx")
  11. $rttaWebPages = @("Pages/rttapage1.aspx", "Pages/rttapage2.aspx", "Pages/rttapage3.aspx")
  12. $supportWebPages = @("Pages/supportpage1.aspx", "Pages/supportpage2.aspx", "Pages/supportpage3.aspx")
  13.  
  14. #If you don't want to change any page's title in target web. Define variables as following.
  15. #$rootWebPages = ""
  16. #$rttaWebPages = ""
  17. #$supportWebPages = ""
  18.  
  19. #title arrays
  20. $rootWebPagesTitle = @("My Root Page1", "My Root Page2", "My Root Page3", "My Root Page4")
  21. $rttaWebPagesTitle = @("My Page1", "My Page2", "My Page3")
  22. $supportWebPagesTitle = @("Your Page1", "Your Page2", "Your Page3")
  23.  
  24. #
  25. #change target web pages title
  26. #
  27. function ChangeTargetWebPagesTitle([string]$pageType)
  28. {
  29. Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Start change target web pages title logic ");
  30.  
  31. if($pageType -eq "root")
  32. {
  33. $webUrl = $rootWebUrl
  34. $webPagesArray = $rootWebPages
  35. $webPagesTitleArray = $rootWebPagesTitle
  36. }
  37. if($pageType -eq "rtta")
  38. {
  39. $webUrl = $rttaWebUrl
  40. $webPagesArray = $rttaWebPages
  41. $webPagesTitleArray = $rttaWebPagesTitle
  42. }
  43. if($pageType -eq "support")
  44. {
  45. $webUrl = $supportWebUrl
  46. $webPagesArray = $supportWebPages
  47. $webPagesTitleArray = $supportWebPagesTitle
  48. }
  49.  
  50. if($webPagesArray.Length -gt 0)
  51. {
  52. $spWeb = Get-SPWeb -Identity $webUrl
  53. if ([Microsoft.SharePoint.Publishing.PublishingWeb]::IsPublishingWeb($spWeb))
  54. {
  55. $spPubWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($spWeb)
  56. $pages = $spPubWeb.PagesList
  57. foreach($item in $pages.Items)
  58. {
  59. $pubPage = [Microsoft.SharePoint.Publishing.PublishingPage]::GetPublishingPage($item)
  60. for($i = 0; $i -lt $webPagesArray.Length; $i++)
  61. {
  62. if (($pubPage.Url -eq $webPagesArray[$i]) -and ($pubPage.Title -ne $webPagesTitleArray[$i]))
  63. {
  64. $pubPage.CheckOut()
  65. $pubPage.Title = $webPagesTitleArray[$i]
  66. $pubPage.Update();
  67. $pubPage.CheckIn("")
  68. $pageFile = $pubPage.ListItem.File;
  69. $pageFile.Publish("");
  70. #pageFile.Approve(checkInComment);
  71.  
  72. Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Change title to: " + $webPagesTitleArray[$i]);
  73. break
  74. }
  75. }
  76. }
  77. }
  78. $spWeb.Dispose()
  79. }
  80.  
  81. Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Finish change target web pages title logic ");
  82. }
  83.  
  84. #
  85. #change root web pages title
  86. #
  87. function ChangeRootWebPagesTitle
  88. {
  89. Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Start ChangeRootWebPagesTitle Function");
  90. if($rootWebPages.Length -gt 0)
  91. {
  92. ChangeTargetWebPagesTitle("root")
  93. }
  94. Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Finish ChangeRootWebPagesTitle Function");
  95. }
  96.  
  97. #
  98. #change rtta web pages title
  99. #
  100. function ChangeRTTAWebPagesTitle
  101. {
  102. Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Start ChangeRTTAWebPagesTitle Function");
  103. if($rttaWebPages.Length -gt 0)
  104. {
  105. ChangeTargetWebPagesTitle("rtta")
  106. }
  107. Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Finish ChangeRTTAWebPagesTitle Function");
  108. }
  109.  
  110. #
  111. #change support web pages title
  112. #
  113. function ChangeSupportWebPagesTitle
  114. {
  115. Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Start ChangeSupportWebPagesTitle Function");
  116. if($supportWebPages.Length -gt 0)
  117. {
  118. ChangeTargetWebPagesTitle("support")
  119. }
  120. Write-Host -BackgroundColor DarkGreen -ForegroundColor White ("Finish ChangeSupportWebPagesTitle Function");
  121. }
  122.  
  123. #call function to change root web pages title
  124. ChangeRootWebPagesTitle
  125. #call function to change rtta web pages title
  126. ChangeRTTAWebPagesTitle
  127. #call function to change support web pages title
  128. ChangeSupportWebPagesTitle
  129.  
  130. 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. zju3547

    题意:给出n(1<=n<=10^8),求小于n的,求所有与n互质的数字的四次幂的加和是多少. 分析:容斥原理 首先要知道四次幂求和公式,1^4+2^4+...+n^4=n*(n+1)*(2 ...

  2. ios 引入第三方库 运行时找不到函数实现

    今天引入webtrends 这个库,结果一直运行时找不到函数,纳闷了一下午! 后来发现,是other flag没有设置对,对于那些包含category用来扩展ios原始类型的库,链接的时候需要特别的链 ...

  3. php调用c/c++的一种方式

    php调用c/c++有很多方式,最常用的是通过tcp或者http去调用,通过发送请求去调用c/c++编写的cgi/fastcgi来实现,另外php还有一种直接执行外部应用程序的方式,这种方式会影响到系 ...

  4. 12. javacript高级程序设计-DOM2和DOM3

    1. DOM2和DOM3 DOM2级规范定义了一些模块,用于增强DOM1级.“DOM2级核心”为不同的DOM类型引入了一些与XML命名空间有关的方法,这些变化只在使用XML或者XHTML,对于HTML ...

  5. MySQL(MariaDB)的 SSL 加密复制

    背景: 在默认的主从复制过程或远程连接到MySQL/MariaDB所有的链接通信中的数据都是明文的,在局域网内连接倒问题不大:要是在外网里访问数据或则复制,则安全隐患会被放大很多.由于项目要求需要直接 ...

  6. 插头DP专题

    建议入门的人先看cd琦的<基于连通性状态压缩的动态规划问题>.事半功倍. 插头DP其实是比较久以前听说的一个东西,当初是水了几道水题,最近打算温习一下,顺便看下能否入门之类. 插头DP建议 ...

  7. ClassLoad的加载过程及分析

    -Xbootclasspath:bootclasspath 让jvm从指定路径(可以是分号分隔的目录.jar.或者zip)中加载bootclass,用来替换jdk的rt.jar:若非必要,一般不会用到 ...

  8. win7 ubuntu10.04双系统,重装win7后,修复双启动项

    进入ubuntu的liveCD(即在试用ubuntu里),在终端里操作 首先要找到自己的ubuntu系统挂载在那个sda下面.可以用sudo fdisk -l 这个命令.然后: 1. sudo -i ...

  9. Android Volley入门到精通:初识Volley的基本用法

    1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...

  10. 【编程题目】求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case和条件语句

    看到这个问题,第一个反应是真变态啊. 然后,直觉是不能用循环就只能用递归了.可递归怎么跳出来却遇到了麻烦, 我连goto语句都考虑了也没弄好. 后来想到一个非常NC的方法:查找表. 如果n限定一个比较 ...