添加field部署

Deploy.bat

View Code
1 Powershell.exe -Command Set-ExecutionPolicy "Bypass"
2 Powershell.exe -Command "& {%~dp0InstallMain.ps1}"
3 Pause

 

InstallMain.ps1

View Code
 1 function UpdateContentTypeChild($sitecollectionurl)
 2 {
 3     $sitecol=Get-SPSite $sitecollectionurl
 4     $rootweb=$sitecol.rootweb
 5 
 6     $spfield=$rootweb.availablecontenttypes["News"].fields["PriorityValue"]
 7 
 8 
 9     $targetweb=Get-SPWeb $sitecollectionurl"/en-US/news"
10     
11     
12     $fieldlink=New-object -typename microsoft.sharepoint.SPFieldlink -argumentlist $spfield
13     $splist=$targetweb.lists["Pages"]
14     
15     $splist.contenttypes["News"].readonly=$false
16     
17     $splist.contenttypes["News"].update()
18     $splist.contenttypes["News"].fieldlinks.add($fieldlink)
19     
20     $splist.contenttypes["News"].readonly=$True
21     $splist.contenttypes["News"].update()
22     
23     
24     $targetweb.update()
25     $targetweb.dispose()
26 }
27 
28 
29 Write-Host -foregroundcolor white "Begin update News ContentType for PriorityValue field."
30 Write-Host ""
31 Write-Host ""
32 Write-Host "updating...."
33 Write-Host ""
34 Write-Host ""
35 
36 UpdateContentTypeChild $sitecollectionurl
37 Write-Host -foregroundcolor white "End update News ContentType for PriorityValue field."

 

 

AddContentField.ps1

View Code
 1 function UpdateContentTypeChild($sitecollectionurl)
 2 {
 3     $sitecol=Get-SPSite $sitecollectionurl
 4     $rootweb=$sitecol.rootweb
 5 
 6     $spfield=$rootweb.availablecontenttypes["News"].fields["PriorityValue"]
 7 
 8 
 9     $targetweb=Get-SPWeb $sitecollectionurl"/en-US/news"
10     
11     
12     $fieldlink=New-object -typename microsoft.sharepoint.SPFieldlink -argumentlist $spfield
13     $splist=$targetweb.lists["Pages"]
14     
15     $splist.contenttypes["News"].readonly=$false
16     
17     $splist.contenttypes["News"].update()
18     $splist.contenttypes["News"].fieldlinks.add($fieldlink)
19     
20     $splist.contenttypes["News"].readonly=$True
21     $splist.contenttypes["News"].update()
22     
23     
24     $targetweb.update()
25     $targetweb.dispose()
26 }
27 
28 
29 Write-Host -foregroundcolor white "Begin update News ContentType for PriorityValue field."
30 Write-Host ""
31 Write-Host ""
32 Write-Host "updating...."
33 Write-Host ""
34 Write-Host ""
35 
36 UpdateContentTypeChild $sitecollectionurl
37 Write-Host -foregroundcolor white "End update News ContentType for PriorityValue field."

 

posted @ 2013-04-23 10:45  daishuguang  阅读(213)  评论(0编辑  收藏  举报