Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
661
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.49 KB | None | 0 0
  1. #Source: https://msdn.microsoft.com/en-us/pnp_articles/modern-experience-customizations-provisioning-sites#provisioning-a-modern-team-site-using-pnp-powershell
  2.  
  3. #region SITE CREATION REGION
  4. # ===========================================================
  5.  
  6.  
  7. # Connect to Azure AD and get back an OAuth 2.0 Access Token
  8. # This command will prompt the sign-in UI to authenticate
  9. Connect-PnPMicrosoftGraph -Scopes "Group.ReadWrite.All","User.Read.All"
  10.  
  11. # Store the Access Token in a local variable
  12. # This is not really needed for next steps, but is available
  13. $accessToken = Get-PnPAccessToken
  14.  
  15. $siteName = "AutomationTestSite"
  16.  
  17. # Create a new Office 365 Unified Group, together with the corresponding Modern Site in SPO
  18. $group = New-PnPUnifiedGroup -DisplayName "Test" -Description "Test" `
  19. -MailNickname $siteName -Members "firstnamelastname@contoso.onmicrosoft.com" `
  20. -IsPrivate -Owners "firstnamelastname@contoso.onmicrosoft.com"
  21.  
  22. #endregion
  23.  
  24. #region APPLY TEMPLATE REGION
  25. # ===========================================================
  26.  
  27.  
  28. $username = "firstnamelastname@contoso.onmicrosoft.com"
  29. $password = "mypassword"
  30. $credentials = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $username, $(convertto-securestring $password -asplaintext -force)
  31.  
  32. Connect-PnPOnline "https://contoso.sharepoint.com/sites/AutomationTestSite" -Credentials $credentials
  33.  
  34. # Now we have access on the SharePoint site for any operations
  35. $context = Get-PnPContext
  36. $web = Get-PnPWeb
  37. $context.Load($web, $web.WebTemplate)
  38. Execute-PnPQuery
  39. $web.WebTemplate + "#" + $web.Configuration
  40.  
  41. $siteTemplateFolder = "C:Usersf.lastnameDesktopTemplates"
  42. $siteTemplateFilename = "Template.xml"
  43.  
  44. Apply-PnPProvisioningTemplate -Path ($siteTemplateFolder + $siteTemplateFilename)
  45.  
  46. #endregion
  47.  
  48. #POSSIBLE THAT THE PAGES SECTION MAKE THE TEMPLATE CRASH. REMOVE THEM AND ADD THEM AGAIN
  49.  
  50. <pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2017/05/ProvisioningSchema">
  51. <pnp:Preferences Author="John White" Version="1.0" Generator="Human being :-)">
  52. <pnp:Parameters>
  53. <pnp:Parameter Key="Title">Automation Test Site</pnp:Parameter>
  54. <pnp:Parameter Key="TenantRelativeURL">AutomationTestSite</pnp:Parameter>
  55. <pnp:Parameter Key="SiteDescription">This will be the first A-Z automatically created site !</pnp:Parameter>
  56. <pnp:Parameter Key="SiteLanguage">1033</pnp:Parameter>
  57. <pnp:Parameter Key="ManagedPath">teams</pnp:Parameter>
  58. <pnp:Parameter Key="Status">Approved</pnp:Parameter>
  59. <pnp:Parameter Key="SiteTemplate">Regular Template</pnp:Parameter>
  60. <pnp:Parameter Key="Division">North America</pnp:Parameter>
  61. <pnp:Parameter Key="Private">True</pnp:Parameter>
  62. <pnp:Parameter Key="OwnerLookupValue">First Name Last Name</pnp:Parameter>
  63. <pnp:Parameter Key="OwnerEmail">firstnamelastname@contoso.onmicrosoft.com</pnp:Parameter>
  64. <pnp:Parameter Key="SecondaryOwnerLookupValue">Test User 2</pnp:Parameter>
  65. <pnp:Parameter Key="SecondaryOwnerEmail">
  66. </pnp:Parameter>
  67. <pnp:Parameter Key="Comments1">Hello. This is a test for the Site Provisioning Script!</pnp:Parameter>
  68. <pnp:Parameter Key="DateTime-TargetDate">2017-08-17 6:00:00 PM</pnp:Parameter>
  69. <pnp:Parameter Key="Error">This is a very generic error message. </pnp:Parameter>
  70. <pnp:Parameter Key="ApproverComments">I, First Name Last Name, approves the creation of this new site.</pnp:Parameter>
  71. <pnp:Parameter Key="Lifespan">Permanent Site</pnp:Parameter>
  72. <pnp:Parameter Key="DateTime-Modified">2017-08-18 3:17:09 PM</pnp:Parameter>
  73. <pnp:Parameter Key="DateTime-Created">2017-08-18 3:17:09 PM</pnp:Parameter>
  74. <pnp:Parameter Key="AuthorLookupValue">First Name Last Name</pnp:Parameter>
  75. <pnp:Parameter Key="AuthorEmail">firstnamelastname@contoso.onmicrosoft.com</pnp:Parameter>
  76. <pnp:Parameter Key="EditorLookupValue">First Name Last Name</pnp:Parameter>
  77. <pnp:Parameter Key="EditorEmail">firstnamelastname@contoso.onmicrosoft.com</pnp:Parameter>
  78. </pnp:Parameters>
  79. </pnp:Preferences>
  80. <pnp:Templates ID="SAMPLE-TEMPLATES">
  81. <pnp:ProvisioningTemplate ID="SPECIALTEAM" Version="1.0" BaseSiteTemplate="GROUP#0" ImagePreviewUrl="https://montreal-mp7static.mlsdigital.net/mp6/stencil-citrouille-imfc-logo.jpg" DisplayName="{parameter:Title}" Description="{parameter:SiteDescription}" Scope="RootSite">
  82. <pnp:Files>
  83. <pnp:File Src="..SiteAssetsTest.txt" Folder="SiteAssets" />
  84. <pnp:File Src="..SiteAssetsImpact.jpg" Folder="SiteAssets" />
  85. </pnp:Files>
  86. <pnp:WebSettings RequestAccessEmail="{parameter:OwnerEmail}" Title="{parameter:Title}" Description="{parameter:SiteDescription}" SiteLogo="{sitecollection}/SiteAssets/Impact.jpg" MasterPageUrl="{sitecollection}/_catalogs/MasterPage/oslo.master" />
  87. <pnp:RegionalSettings CalendarType="Gregorian" FirstDayOfWeek="Sunday" FirstWeekOfYear="1" LocaleId="4105" ShowWeeks="true" Time24="true" TimeZone="10" WorkDayEndHour="5:00PM" WorkDayStartHour="9:00AM" />
  88. <pnp:Security BreakRoleInheritance="true" CopyRoleAssignments="false" ClearSubscopes="true">
  89. <pnp:AdditionalAdministrators>
  90. <pnp:User Name="{parameter:OwnerEmail}" />
  91. <pnp:User Name="{parameter:SecondaryOwnerEmail}" />
  92. </pnp:AdditionalAdministrators>
  93. <pnp:AdditionalOwners>
  94. <pnp:User Name="{parameter:OwnerEmail}" />
  95. <pnp:User Name="{parameter:SecondaryOwnerEmail}" />
  96. </pnp:AdditionalOwners>
  97. </pnp:Security>
  98. <pnp:Pages>
  99. <pnp:Page Layout="TwoColumns" Overwrite="true" Url="{site}/SitePages/SiteRequestParameters.aspx">
  100. <pnp:Fields>
  101. <pnp:Field FieldName="WikiField"><![CDATA[
  102.  
  103. <table style="width:50%">
  104. <tr>
  105. <th><b>Column</b></th>
  106. <th><b>Value</b></th>
  107. </tr>
  108. <tr>
  109. <td>Title</td>
  110. <td>{parameter:Title}</td>
  111. </tr>
  112. <tr>
  113. <td>TenantRelativeURL</td>
  114. <td>{parameter:TenantRelativeURL}</td>
  115. </tr>
  116. <tr>
  117. <td>SiteDescription</td>
  118. <td>{parameter:SiteDescription}</td>
  119. </tr>
  120. <tr>
  121. <td>SiteLanguage</td>
  122. <td>{parameter:SiteLanguage}</td>
  123. </tr>
  124. <tr>
  125. <td>ManagedPath</td>
  126. <td>{parameter:ManagedPath}</td>
  127. </tr>
  128. <tr>
  129. <td>SiteTemplate</td>
  130. <td>{parameter:SiteTemplate}</td>
  131. </tr>
  132. <tr>
  133. <td>Division</td>
  134. <td>{parameter:Division}</td>
  135. </tr>
  136. <tr>
  137. <td>Status</td>
  138. <td>{parameter:Status}</td>
  139. </tr>
  140. <tr>
  141. <td>Private</td>
  142. <td>{parameter:Private}</td>
  143. </tr>
  144. <tr>
  145. <td>OwnerLookupValue</td>
  146. <td>{parameter:OwnerLookupValue}</td>
  147. </tr>
  148. <tr>
  149. <td>OwnerEmail</td>
  150. <td>{parameter:OwnerEmail}</td>
  151. </tr>
  152. <tr>
  153. <td>SecondaryOwnerLookupValue</td>
  154. <td>{parameter:SecondaryOwnerLookupValue}</td>
  155. </tr>
  156. <tr>
  157. <td>SecondaryOwnerEmail</td>
  158. <td>{parameter:SecondaryOwnerEmail}</td>
  159. </tr>
  160. <tr>
  161. <td>Comments1</td>
  162. <td>{parameter:Comments1}</td>
  163. </tr>
  164. <tr>
  165. <td>DateTime-TargetDate</td>
  166. <td>{parameter:DateTime-TargetDate}</td>
  167. </tr>
  168. <tr>
  169. <td>Error</td>
  170. <td>{parameter:Error}</td>
  171. </tr>
  172. <tr>
  173. <td>ApproverComments</td>
  174. <td>{parameter:ApproverComments}</td>
  175. </tr>
  176. <tr>
  177. <td>Lifespan</td>
  178. <td>{parameter:Lifespan}</td>
  179. </tr>
  180. <tr>
  181. <td>DateTime-Modified</td>
  182. <td>{parameter:DateTime-Modified}</td>
  183. </tr>
  184. <tr>
  185. <td>DateTime-Created</td>
  186. <td>{parameter:DateTime-Created}</td>
  187. </tr>
  188. <tr>
  189. <td>AuthorLookupValue</td>
  190. <td>{parameter:AuthorLookupValue}</td>
  191. </tr>
  192. <tr>
  193. <td>AuthorEmail</td>
  194. <td>{parameter:AuthorEmail}</td>
  195. </tr>
  196. <tr>
  197. <td>EditorLookupValue</td>
  198. <td>{parameter:EditorLookupValue}</td>
  199. </tr>
  200. <tr>
  201. <td>EditorEmail</td>
  202. <td>{parameter:EditorEmail}</td>
  203. </tr>
  204. </table>
  205.  
  206. ]]></pnp:Field>
  207. </pnp:Fields>
  208. </pnp:Page>
  209. </pnp:Pages>
  210. </pnp:ProvisioningTemplate>
  211. </pnp:Templates>
  212. </pnp:Provisioning>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement