Articles about European Sharepoint Hosting Service
SharePoint Hosting – Move SharePoint List/Library From One Site To Another With Data Or Without Data
Many times, we arrive in a situation when we want to move the SharePoint Online List/Library from one site to another site either with data or without data. This article describes how to move the master list with data and transaction list without data from one site to another site. e.g., Movement from Development to Quality or from Quality to Production.
Maintain the SharePoint List and Library which need to be copied from one site to another site
To keep the thinks configurable and this solution will have two files.
- Lists.csv – which will contain the list details which need to be copied from one site to another site. Edit the
Lists.csv
file and add your list name and a 0 or 1 for if this is a lookup list. - environments.json – Edit this file to maintain environment details.
Sample Lists.cs
Sample Environments.json
1 2 3 4 5 |
<span class="token punctuation">{</span> <span class="token string">"DEV"</span><span class="token operator">:</span> <span class="token string">"https://yoursite.sharepoint.com/sites/POC"</span><span class="token punctuation">,</span> <span class="token string">"QA"</span><span class="token operator">:</span> <span class="token string">"https://yoursite.sharepoint.com/sites/SpaceGame"</span><span class="token punctuation">,</span> <span class="token string">"PROD"</span><span class="token operator">:</span> <span class="token string">"https://yoursite.sharepoint.com/sites/NorthwestSales"</span> <span class="token punctuation">}</span> |
PowerShell Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
<span class="token keyword keyword-class">class</span> <span class="token class-name">CopySpoList</span> <span class="token punctuation">{</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">string</span></span><span class="token punctuation">]</span>$SourceUrl<span class="token punctuation">;</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">string</span></span><span class="token punctuation">]</span>$DestinationUrl<span class="token punctuation">;</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">string</span></span><span class="token punctuation">]</span>$DestinationEnvironment<span class="token punctuation">;</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">string</span></span><span class="token punctuation">]</span>$SourceEnvironment<span class="token punctuation">;</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">Object</span></span><span class="token punctuation">]</span>$Environments<span class="token punctuation">;</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">bool</span></span><span class="token punctuation">]</span>$IsEnvironmentValid <span class="token operator">=</span> $<span class="token boolean">true</span><span class="token punctuation">;</span> <span class="token function">CopySpoList</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> Write<span class="token operator">-</span>Host 'Below <span class="token keyword keyword-is">is</span> <span class="token class-name">the</span> list of valid environments' <span class="token operator">-</span><span class="token class-name">ForegroundColor</span> Green<span class="token punctuation">;</span> Write<span class="token operator">-</span>Host <span class="token punctuation">(</span>'DEV'<span class="token punctuation">,</span> 'QA'<span class="token punctuation">,</span> 'PROD'<span class="token punctuation">)</span> <span class="token operator">-</span>Separator '<span class="token punctuation">,</span> <span class="token operator">-></span> ' <span class="token operator">-</span><span class="token class-name">ForegroundColor</span> DarkGreen<span class="token punctuation">;</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>Environments <span class="token operator">=</span> Get<span class="token operator">-</span>Content <span class="token operator">-</span>Path '<span class="token range operator">..</span>\environments<span class="token punctuation">.</span>json' <span class="token operator">|</span> ConvertFrom<span class="token operator">-</span>Json<span class="token punctuation">;</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>SourceEnvironment <span class="token operator">=</span> Read<span class="token operator">-</span>Host 'Enter the source environment'<span class="token punctuation">;</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token function">ValidateEnvironment</span><span class="token punctuation">(</span>$<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>SourceEnvironment<span class="token punctuation">.</span><span class="token function">ToUpper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> 'Source'<span class="token punctuation">)</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>DestinationEnvironment <span class="token operator">=</span> Read<span class="token operator">-</span>Host 'Enter the destination environment'<span class="token punctuation">;</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token function">ValidateEnvironment</span><span class="token punctuation">(</span>$<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>DestinationEnvironment<span class="token punctuation">.</span><span class="token function">ToUpper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> 'Destination'<span class="token punctuation">)</span> <span class="token punctuation">}</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">void</span></span><span class="token punctuation">]</span> <span class="token function">ValidateEnvironment</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">string</span></span><span class="token punctuation">]</span>$environmentName<span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">string</span></span><span class="token punctuation">]</span>$environmentType<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword keyword-switch">switch</span> <span class="token punctuation">(</span>$environmentName<span class="token punctuation">)</span> <span class="token punctuation">{</span> 'DEV' <span class="token punctuation">{</span> <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span>$environmentType <span class="token operator">-</span>eq 'Source'<span class="token punctuation">)</span> <span class="token punctuation">{</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>SourceUrl <span class="token operator">=</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>Environments<span class="token punctuation">.</span>DEV<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword keyword-else">else</span> <span class="token punctuation">{</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>DestinationUrl <span class="token operator">=</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>Environments<span class="token punctuation">.</span>DEV<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword keyword-break">break</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> 'QA' <span class="token punctuation">{</span> <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span>$environmentType <span class="token operator">-</span>eq 'Source'<span class="token punctuation">)</span> <span class="token punctuation">{</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>SourceUrl <span class="token operator">=</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>Environments<span class="token punctuation">.</span>QA<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword keyword-else">else</span> <span class="token punctuation">{</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>DestinationUrl <span class="token operator">=</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>Environments<span class="token punctuation">.</span>QA<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword keyword-break">break</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> 'PROD' <span class="token punctuation">{</span> <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span>$environmentType <span class="token operator">-</span>eq 'Source'<span class="token punctuation">)</span> <span class="token punctuation">{</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>SourceUrl <span class="token operator">=</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>Environments<span class="token punctuation">.</span>PROD<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword keyword-else">else</span> <span class="token punctuation">{</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>DestinationUrl <span class="token operator">=</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>Environments<span class="token punctuation">.</span>PROD<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword keyword-break">break</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> Default <span class="token punctuation">{</span> $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>IsEnvironmentValid <span class="token operator">=</span> $<span class="token boolean">false</span><span class="token punctuation">;</span> Write<span class="token operator">-</span>Host 'Value does <span class="token keyword keyword-not">not</span> fall <span class="token keyword keyword-in">in</span> valid environment range' <span class="token operator">-</span><span class="token class-name">ForegroundColor</span> Red<span class="token punctuation">;</span> Write<span class="token operator">-</span>Host <span class="token punctuation">(</span>'DEV'<span class="token punctuation">,</span> 'QA'<span class="token punctuation">,</span> 'PROD'<span class="token punctuation">)</span> <span class="token operator">-</span>Separator '<span class="token punctuation">,</span> <span class="token operator">-></span> ' <span class="token operator">-</span>ForegroundColor Red <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">void</span></span><span class="token punctuation">]</span> <span class="token function">MoveSpoList</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token preprocessor property"># looping through the lists</span> $csvInput <span class="token operator">=</span> Import<span class="token operator">-</span>Csv <span class="token operator">-</span>Path '<span class="token punctuation">.</span>\Lists<span class="token punctuation">.</span>csv' <span class="token keyword keyword-foreach">foreach</span> <span class="token punctuation">(</span>$row <span class="token keyword keyword-in">in</span> $csvInput<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword keyword-try">try</span> <span class="token punctuation">{</span> <span class="token preprocessor property"># Connects SharePoint Online</span> Connect<span class="token operator">-</span>PnPOnline <span class="token operator">-</span>Url $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>SourceUrl<span class="token punctuation">.</span><span class="token function">Trim</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">-</span>Interactive Get<span class="token operator">-</span>PnPWeb $ListName <span class="token operator">=</span> $row<span class="token punctuation">.</span>ListName<span class="token punctuation">.</span><span class="token function">Trim</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> $IsLookUpList <span class="token operator">=</span> $row<span class="token punctuation">.</span>IsLookUpList<span class="token punctuation">.</span><span class="token function">Trim</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> Write<span class="token operator">-</span>Host $ListName Write<span class="token operator">-</span>Host $IsLookUpList <span class="token preprocessor property">#Getting List Template Name</span> $timestamp <span class="token operator">=</span> Get<span class="token operator">-</span>Date <span class="token operator">-</span>Format FileDateTimeUniversal $tempFile <span class="token operator">=</span> '<span class="token punctuation">.</span><span class="token operator">/</span>SourceListBackup<span class="token operator">/</span>' <span class="token operator">+</span> $ListName <span class="token operator">+</span> $timestamp <span class="token operator">+</span> '<span class="token punctuation">.</span>xml'<span class="token punctuation">;</span> Get<span class="token operator">-</span>PnPSiteTemplate <span class="token operator">-</span>Handlers Lists <span class="token operator">-</span>ListsToExtract $ListName <span class="token operator">-</span>Out $tempFile <span class="token preprocessor property">#Adding Rows to List Template</span> <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span>$IsLookUpList <span class="token operator">-</span>eq <span class="token number">1</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> Add<span class="token operator">-</span>PnPDataRowsToSiteTemplate <span class="token operator">-</span>Path $tempFile <span class="token operator">-</span>List $ListName <span class="token operator">-</span>Query '<span class="token operator"><</span>View<span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>View<span class="token operator">></span>' <span class="token punctuation">}</span> <span class="token preprocessor property">#Applying Template to Destination Site</span> Connect<span class="token operator">-</span>PnPOnline <span class="token operator">-</span>Url $<span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>DestinationUrl<span class="token punctuation">.</span><span class="token function">Trim</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">-</span>Interactive Get<span class="token operator">-</span>PnPWeb Invoke<span class="token operator">-</span>PnPSiteTemplate <span class="token operator">-</span>Path $tempFile <span class="token punctuation">}</span> <span class="token keyword keyword-catch">catch</span> <span class="token punctuation">{</span> Write<span class="token operator">-</span>Host <span class="token operator">-</span>ForegroundColor Red 'Error '<span class="token punctuation">,</span> <span class="token string character">':'</span><span class="token punctuation">,</span> $Error<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">ToString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> Start<span class="token operator">-</span>Sleep <span class="token number">10</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">CopySpoList</span></span><span class="token punctuation">]</span>$copySpList <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token attribute"><span class="token class-name">CopySpoList</span></span><span class="token punctuation">]</span><span class="token punctuation">::</span><span class="token keyword keyword-new">new</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword keyword-if">if</span> <span class="token punctuation">(</span>$copySpList<span class="token punctuation">.</span>IsEnvironmentValid<span class="token punctuation">)</span> <span class="token punctuation">{</span> $copySpList<span class="token punctuation">.</span><span class="token function">MoveSpoList</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> |
Output
Summary
PnP PowerShell is a preferred way to go with modern SharePoint. It helps to easily move the SharePoint List from one site to another site.
europe sharepoint 2013 hosting, fast SharePoint 2013 Hosting, France Sharepoint 2013 Hosting, free SharePoint 2013 Hosting, Hosting cheap europe sharepoint 2013 hosting, india SharePoint 2013 Hosting, recommended SharePoint 2013 Hosting, SharePoint 2013 Hosting belgium, SharePoint 2013 Hosting germany, SharePoint 2013 Hosting Italy, SharePoint 2013 Hosting netherlands, SharePoint 2013 Hosting poland, SharePoint 2013 Hosting review switzerland, SharePoint 2013 Hosting UK, SharePoint Hosting 2013 Paris Server, Spain Sharepoint 2013 Hosting, tips SharePoint 2013 Hosting, Top Sharepoint 2013 hosting
Print article | This entry was posted by Peter on January 27, 2022 at 4:51 am, and is filed under European SharePoint 2013 Hosting. Follow any responses to this post through RSS 2.0. Both comments and pings are currently closed. |