Forum Discussion
Converting classic pages to modern
I am migrating SharePoint from on-premises to on-line. The process has copied lots of pages over which are in the classic mode and I want to convert them to modern. I really don't have time to recreate them all so I was hoping I could find some automated method.
I am not a programmer. I don't know how to use .Net and I can't write programs in PowerShell.
All I can see so far is lots of obscure and arcane PowerShell (why have we gone back to the 80s?) but I've been working through it and tried a script which uses ConvertTo-PnPPage but it didn't work, possibly because it's been superseded. I found a suggestion that I should use PnP.PowerShell instead of the old tools (I think - there are a lot of different instructions with little explanation) so I tried that but when I do
Register-PnPManagementShellAccess
I get an error:
Register-PnPManagementShellAccess : The 'Register-PnPManagementShellAccess' command was found in the module 'PnP.PowerShell', but the module could not be loaded. For more information, run 'Import-Module PnP.PowerShell'.
At line:1 char:1
+ Register-PnPManagementShellAccess
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Register-PnPManagementShellAccess:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CouldNotAutoloadMatchingModule
If I do what it says I just get another error message:
Import-Module : Could not load file or assembly 'System.Management.Automation, Version=7.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
At line:1 char:1
+ Import-Module PnP.PowerShell
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Import-Module], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.PowerShell.Commands.ImportModuleCommand
My preference would be to find a way to do this via the admin pages or some other GUI method but if I have to use scripts is there a decent explanation of how to get it to work somewhere?
8 Replies
An_admin_123 Try installing latest version of PnP PowerShell and then use ConvertTo-PnPPage cmdlet.
Follow documentations:
Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.
For SharePoint/Power Platform blogs, visit: Ganesh Sanap Blogs
- An_admin_123Copper ContributorI just get a different error message:
"List 'sitepages' does not exist at site"An_admin_123 Can you show us the complete PowerShell code you are using currently?
Did you check in "Site Contents" of site for "Site Pages" library? Is it available on your SharePoint site?
If yes and you are referring to library using title/display name anywhere in your code, try using "Site Pages" instead of "SitePages".
Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.
For SharePoint/Power Platform blogs, visit: Ganesh Sanap Blogs
- Hi!
Only way to go is through PowerShell or the PnP Transformation Framework: https://practical365.com/introducing-the-new-microsoft-365-pnp-transformation-framework/
https://learn.microsoft.com/en-us/sharepoint/dev/transform/modernize-userinterface-site-pages- An_admin_123Copper Contributor
That's where I find myself getting bogged down. I'm just an admin, I'm not a programmer.
The script from the Microsoft page just gets me a different error message: "List 'sitepages' does not exist at site"