{"version":1,"samples":[{"slug":"graph-call-graph","title":"Authenticate with and call the Microsoft Graph","description":"Obtain a new access token for the Microsoft Graph and use it an HTTP request, or connect to the Graph","products":["graph"],"categories":["Configure"],"tags":["bash","Imported CLI Sample","m365 util accesstoken get","Connect-PnPOnline","Get-PnPGraphAccessToken","Invoke-RestMethod","Connect-MgGraph","Get-MgContext","Get-MgUser","Disconnect-MgGraph"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2021-08-23","updated":"2026-11-04","authors":[{"handle":"garrytrinder","name":"Garry Trinder","pictureUrl":"https://github.com/garrytrinder.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-call-graph","url":"https://pnp.github.io/script-samples/samples/graph-call-graph/","legacyUrl":"https://pnp.github.io/script-samples/graph-call-graph/README.html","previews":[{"src":"/script-samples/graph-call-graph/assets/preview.png","alt":"Image of the result of calling the graph"}],"commandReferences":[{"name":"m365 util accesstoken get","url":"https://pnp.github.io/cli-microsoft365/cmd/util/accesstoken/accesstoken-get"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"}],"scriptTabCount":4,"codeBlockCount":4},{"slug":"spo-update-herolink-sharingsetting","title":"Update Hero Link sharing settings","description":"Update Hero Link sharing settings","products":["sharepoint"],"categories":["Configure","Security"],"tags":["Connect-PnPOnline","Invoke-PnPSPRestMethod","Get-PnPList","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.4.1"}],"created":"2026-11-02","updated":"2026-11-02","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-herolink-sharingsetting","url":"https://pnp.github.io/script-samples/samples/spo-update-herolink-sharingsetting/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-herolink-sharingsetting/README.html","previews":[{"src":"/script-samples/spo-update-herolink-sharingsetting/assets/preview.png","alt":"preview image for the sample"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-restrict-groupnesting","title":"Restricting Group Nesting in Microsoft Entra ID Using Graph API","description":"Create a Microsoft Entra security group that does not allow other groups to be added as members, using Microsoft Graph PowerShell.","products":["graph","entra"],"categories":["Configure","Security"],"tags":["Connect-MgGraph","Invoke-MgGraphRequest","Group.ReadWrite.All","Group-NestingSupport.ReadWrite.All","disableNesting","Microsoft Graph beta","security group"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.11.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.1"}],"created":"2026-11-01","updated":"2026-11-01","authors":[{"handle":"nelladath","name":"Sujin Nelladath","pictureUrl":"https://github.com/nelladath.png?size=64"}],"references":[{"name":"Microsoft Graph PowerShell SDK","description":"Get started with the Microsoft Graph PowerShell SDK.","url":"https://learn.microsoft.com/graph/powershell/get-started"},{"name":"Create group (Microsoft Graph beta)","description":"Microsoft Graph beta API reference for creating a group.","url":"https://learn.microsoft.com/graph/api/group-post-groups?view=graph-rest-beta"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-restrict-groupnesting","url":"https://pnp.github.io/script-samples/samples/aad-restrict-groupnesting/","legacyUrl":"https://pnp.github.io/script-samples/aad-restrict-groupnesting/README.html","previews":[{"src":"/script-samples/aad-restrict-groupnesting/assets/preview.png","alt":"Preview of restricting group nesting in a security group"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-reset-herolink","title":"How to reset hero link","description":"How to reset hero link","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Invoke-PnPSPRestMethod","Get-PnPList"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.4.1"}],"created":"2026-10-30","updated":"2026-10-30","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-reset-herolink","url":"https://pnp.github.io/script-samples/samples/spo-reset-herolink/","legacyUrl":"https://pnp.github.io/script-samples/spo-reset-herolink/README.html","previews":[{"src":"/script-samples/spo-reset-herolink/assets/preview.png","alt":"preview image for the sample"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-herolink","title":"Update Hero Link to 'Only people added to the file have access'","description":"Update Hero Link to 'Only people added to the file have access'","products":["sharepoint"],"categories":["Configure","Security"],"tags":["Connect-PnPOnline","Get-PnPList","invoke-pnpsprestmethod"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.4.1"}],"created":"2026-10-30","updated":"2026-10-30","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-herolink","url":"https://pnp.github.io/script-samples/samples/spo-update-herolink/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-herolink/README.html","previews":[{"src":"/script-samples/spo-update-herolink/assets/preview.png","alt":"preview image for the sample"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"invoke-pnpsprestmethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-herolinks","title":"Get Hero sharing links","description":"Get Hero sharing links.","products":["sharepoint"],"categories":["Report","Security"],"tags":["modern","Connect-PnPOnline","Get-PnPListItem","Get-PnPList","invoke-pnpsprestmethod"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.4.1"}],"created":"2026-10-28","updated":"2026-10-28","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-herolinks","url":"https://pnp.github.io/script-samples/samples/spo-get-herolinks/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-herolinks/README.html","previews":[{"src":"/script-samples/spo-get-herolinks/assets/preview.png","alt":"Get Hero sharing links preview image"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"invoke-pnpsprestmethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"github-api-get-latest-prs","title":"Get latest merged PRs with GitHub APIs","description":"Get a report from the last 2 weeks, useful for maintainers who regularly have contributions and want to see a summary of recent activity.","products":["github"],"categories":["Report"],"tags":["Invoke-RestMethod"],"tools":[{"id":"GITHUB","label":"GitHub","version":"0.0.0"}],"created":"2025-09-21","updated":"2026-10-25","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"},{"handle":"ChVeen","name":"Christian Veenhuis","pictureUrl":"https://github.com/ChVeen.png?size=64"}],"references":[{"name":"Want to learn more about GitHub APIs","description":"Check out the GitHub API documentation to get started and for the reference to the endpoints.","url":"https://docs.github.com/en/rest/using-the-rest-api/getting-started-with-the-rest-api?apiVersion=2022-11-28"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/github-api-get-latest-prs","url":"https://pnp.github.io/script-samples/samples/github-api-get-latest-prs/","legacyUrl":"https://pnp.github.io/script-samples/github-api-get-latest-prs/README.html","previews":[{"src":"/script-samples/github-api-get-latest-prs/assets/preview.png","alt":"Preview of the sample Get latest PRs with Github APIs"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"power-platform-solution-deployment-validation","title":"Deploy Power Platform Solutions with Pre-Deployment Validation","description":"Automate Power Platform solution deployment between environments with configurable validation checks before import.","products":["power-platform","power-automate"],"categories":["Deploy","Configure"],"tags":["Power Platform CLI","PowerShell","GitHub Actions","Solution","ALM","Validation"],"tools":[{"id":"POWERAPPS-POWERSHELL","label":"Power Apps PowerShell","version":"2.0.0"}],"created":"2026-10-22","updated":"2026-10-22","authors":[{"handle":"RichaPandit","name":"Richa Pandit","pictureUrl":"https://github.com/RichaPandit.png?size=64"}],"references":[{"name":"Power Apps PowerShell documentation","description":"Microsoft documentation for Power Apps PowerShell.","url":"https://learn.microsoft.com/power-platform/admin/powerapps-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/power-platform-solution-deployment-validation","url":"https://pnp.github.io/script-samples/samples/power-platform-solution-deployment-validation/","legacyUrl":"https://pnp.github.io/script-samples/power-platform-solution-deployment-validation/README.html","previews":[{"src":"/script-samples/power-platform-solution-deployment-validation/assets/preview.png","alt":"Preview of the sample Deploy Power Platform Solutions with Pre-Deployment Validation"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":3},{"slug":"spe-export-container-inventory-to-csv","title":"Export SharePoint Embedded container inventory to CSV","description":"Inventory every SharePoint Embedded container in the tenant (active, archived and deleted) with owning app, storage and sensitivity label, and export it to CSV.","products":["sharepoint"],"categories":["Report","Security"],"tags":["Connect-PnPOnline","Get-PnPContainerType","Get-PnPContainerApplication","Get-PnPContext","Get-PnPContainer","Get-PnPDeletedContainer","Export-Csv","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.4.1"}],"created":"2026-10-20","updated":"2026-10-20","authors":[{"handle":"ari20089","name":"Arindam Choudhury","pictureUrl":"https://github.com/ari20089.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Get-PnPContainer","description":"PnP PowerShell cmdlet reference for listing SharePoint Embedded containers and reading a single container by id.","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContainer.html"},{"name":"Get-PnPContainerType","description":"PnP PowerShell cmdlet reference for listing container types owned by the tenant.","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContainerType.html"},{"name":"Get-PnPDeletedContainer","description":"PnP PowerShell cmdlet reference for listing containers in the deleted container collection.","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPDeletedContainer.html"},{"name":"Manage SharePoint Embedded containers with PowerShell","description":"Microsoft Learn guidance for consuming tenant admins on inventorying and managing SharePoint Embedded applications and containers.","url":"https://learn.microsoft.com/sharepoint/dev/embedded/admin/manage-containers-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spe-export-container-inventory-to-csv","url":"https://pnp.github.io/script-samples/samples/spe-export-container-inventory-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/spe-export-container-inventory-to-csv/README.html","previews":[{"src":"/script-samples/spe-export-container-inventory-to-csv/assets/preview.png","alt":"Preview of the sample Export SharePoint Embedded container inventory to CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPContainerType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContainerType.html"},{"name":"Get-PnPContainerApplication","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContainerApplication.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPContainer","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContainer.html"},{"name":"Get-PnPDeletedContainer","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPDeletedContainer.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-duplicate-list-value-audit","title":"SPO - Duplicate List Value Audit","description":"Identify duplicate values in a SharePoint list column and export them to a CSV report using PnP PowerShell.","products":["sharepoint"],"categories":["Report","Data"],"tags":["Connect-PnPOnline","Get-PnPListItem","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2026-10-18","updated":"2026-10-18","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-duplicate-list-value-audit","url":"https://pnp.github.io/script-samples/samples/spo-duplicate-list-value-audit/","legacyUrl":"https://pnp.github.io/script-samples/spo-duplicate-list-value-audit/README.html","previews":[{"src":"/script-samples/spo-duplicate-list-value-audit/assets/preview.png","alt":"Preview of the sample SPO - Duplicate List Value Audit"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-bulk-file-rename-script","title":"SharePoint Bulk File Rename Script","description":"Bulk rename SharePoint Online files from a CSV and create an audit report.","products":["sharepoint"],"categories":["Configure","Report"],"tags":["SharePoint Online","Bulk Rename","PnP PowerShell","Connect-PnPOnline","Rename-PnPFile","PowerShell 7.4"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.3.0"}],"created":"2026-10-07","updated":"2026-10-14","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"PnP PowerShell documentation","description":"Documentation and cmdlet reference for PnP PowerShell.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-bulk-file-rename-script","url":"https://pnp.github.io/script-samples/samples/spo-bulk-file-rename-script/","legacyUrl":"https://pnp.github.io/script-samples/spo-bulk-file-rename-script/README.html","previews":[{"src":"/script-samples/spo-bulk-file-rename-script/assets/preview.png","alt":"Preview of the SharePoint bulk file rename sample"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Rename-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Rename-PnPFile.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-teams-membership-difference","title":"Permission discrepancies between Teams and SharePoint sites","description":"Permission discrepancies between Teams and SharePoint sites.","products":["sharepoint","teams"],"categories":["Report","Security"],"tags":["modern","Connect-PnPOnline","Get-PnPTeamsChannelUser","Get-PnPTenantSite","Get-PnPGroup","Get-PnPGroupMember","Permissions"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-10-13","updated":"2026-10-13","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-teams-membership-difference","url":"https://pnp.github.io/script-samples/samples/spo-teams-membership-difference/","legacyUrl":"https://pnp.github.io/script-samples/spo-teams-membership-difference/README.html","previews":[{"src":"/script-samples/spo-teams-membership-difference/assets/preview.png","alt":"Preview of the sample Permission discrepancies between Teams and SharePoint sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTeamsChannelUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsChannelUser.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroup.html"},{"name":"Get-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroupMember.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"exo-mailboxes-with-calendar-delegates","title":"Exchange Online Mailboxes with Calendar Delegates","description":"This script inventories calendar permissions across Exchange Online mailboxes and exports delegate identities, access rights, and sharing flags to CSV.","products":["microsoft-365"],"categories":["Report","Security"],"tags":["Connect-ExchangeOnline","Get-EXOMailbox","Get-MailboxFolderStatistics","Get-MailboxFolderPermission","Export-Csv"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-10-11","updated":"2026-10-11","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Exchange Online PowerShell module","description":"Learn how to connect to Exchange Online and use Exchange Online PowerShell cmdlets.","url":"https://learn.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/exo-mailboxes-with-calendar-delegates","url":"https://pnp.github.io/script-samples/samples/exo-mailboxes-with-calendar-delegates/","legacyUrl":"https://pnp.github.io/script-samples/exo-mailboxes-with-calendar-delegates/README.html","previews":[{"src":"/script-samples/exo-mailboxes-with-calendar-delegates/assets/preview.png","alt":"Preview of the sample Exchange Online Mailboxes with Calendar Delegates"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"exo-mailboxes-with-archive-disabled","title":"Exchange Online Mailboxes with Archive Disabled","description":"This script identifies Exchange Online mailboxes without an enabled archive and exports the results to a timestamped CSV report.","products":["microsoft-365"],"categories":["Report","Security"],"tags":["Connect-ExchangeOnline","Get-EXOMailbox","Export-Csv","ArchiveStatus"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-10-10","updated":"2026-10-10","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Exchange Online PowerShell module","description":"Learn how to connect to Exchange Online and use Exchange Online PowerShell cmdlets.","url":"https://learn.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/exo-mailboxes-with-archive-disabled","url":"https://pnp.github.io/script-samples/samples/exo-mailboxes-with-archive-disabled/","legacyUrl":"https://pnp.github.io/script-samples/exo-mailboxes-with-archive-disabled/README.html","previews":[{"src":"/script-samples/exo-mailboxes-with-archive-disabled/assets/preview.png","alt":"Preview of the sample Exchange Online Mailboxes with Archive Disabled"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-bulk-restore-deletedgroups","title":"Restore deleted Microsoft 365 & Entra ID Security Groups","description":"Restore deleted Microsoft 365 Groups and Entra ID Security Groups in bulk using Microsoft Graph PowerShell.","products":["graph","entra","microsoft-365"],"categories":["Configure","Security"],"tags":["Connect-MgGraph","Invoke-MgGraphRequest","User.ReadWrite.All","Group.ReadWrite.All","Directory.ReadWrite.All","AppRoleAssignment.ReadWrite.All","requiredResourceAccess","app registration","delegated permission","application permission"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.5.0"},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.11.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.1"}],"created":"2026-10-10","updated":"2026-10-10","authors":[{"handle":"nelladath","name":"Sujin Nelladath","pictureUrl":"https://github.com/nelladath.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-bulk-restore-deletedgroups","url":"https://pnp.github.io/script-samples/samples/aad-bulk-restore-deletedgroups/","legacyUrl":"https://pnp.github.io/script-samples/aad-bulk-restore-deletedgroups/README.html","previews":[{"src":"/script-samples/aad-bulk-restore-deletedgroups/assets/preview.png","alt":"Preview of the sample Offboard an Entra user"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-hide-list-from-site-contents","title":"Hide SharePoint list from Site Contents","description":"Hide the SharePoint list from the UI this script will hide a specific list from the site contents","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Hide List","Connect-PnPOnline","Set-PnPList","Disconnect-PnPOnline","m365 status","m365 login","m365 spo list set","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0"}],"created":"2020-08-23","updated":"2026-10-08","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-hide-list-from-site-contents","url":"https://pnp.github.io/script-samples/samples/spo-hide-list-from-site-contents/","legacyUrl":"https://pnp.github.io/script-samples/spo-hide-list-from-site-contents/README.html","previews":[{"src":"/script-samples/spo-hide-list-from-site-contents/assets/preview.png","alt":"Preview of the sample Hide SharePoint list from Site Contents"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-report-sensitivity-label-coverage","title":"Report sensitivity label coverage for Copilot readiness","description":"Reports how many documents in a site are unlabeled - the content Microsoft Copilot would surface with no sensitivity classification - and ranks the gaps worst-covered library first.","products":["sharepoint","purview","copilot"],"categories":["Report"],"tags":["Connect-PnPOnline","Submit-PnPSearchQuery","Sensitivity labels","Information Protection","Copilot"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.4.1"}],"created":"2026-10-07","updated":"2026-10-07","authors":[{"handle":"gvijaikumar9","name":"Vijay Kumar G","pictureUrl":"https://github.com/gvijaikumar9.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-report-sensitivity-label-coverage","url":"https://pnp.github.io/script-samples/samples/spo-report-sensitivity-label-coverage/","legacyUrl":"https://pnp.github.io/script-samples/spo-report-sensitivity-label-coverage/README.html","previews":[{"src":"/script-samples/spo-report-sensitivity-label-coverage/assets/example.png","alt":"A sensitivity label coverage report showing per-library labeled and unlabeled document counts and a site coverage percentage"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Submit-PnPSearchQuery","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPSearchQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-compare-list-schema","title":"Compare SharePoint list schema between two sites","description":"A schema diff for SharePoint. Reports exactly what drifted between two sites (or a baseline versus a live site): lists only on one side, and per-column Added, Removed, or Changed.","products":["sharepoint"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPField"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.3.0"}],"created":"2026-10-06","updated":"2026-10-06","authors":[{"handle":"gvijaikumar9","name":"Vijay Kumar G","pictureUrl":"https://github.com/gvijaikumar9.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-compare-list-schema","url":"https://pnp.github.io/script-samples/samples/spo-compare-list-schema/","legacyUrl":"https://pnp.github.io/script-samples/spo-compare-list-schema/README.html","previews":[{"src":"/script-samples/spo-compare-list-schema/assets/preview.png","alt":"A SharePoint schema compare report showing lists and columns that differ between two sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-list-all-app-descriptions","title":"Get All Teams App Descriptions","description":"Get an list of all the app descriptions to determine if your app may clash with others during Copilot development","products":["sharepoint","graph","teams","copilot"],"categories":["Data","Report","Microsoft Copilot"],"tags":["Connect-PnPOnline","Invoke-PnPGraphMethod","m365 login","m365 request"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.8.0"}],"created":"2024-06-24","updated":"2026-10-01","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"},{"handle":"OwnOptic","name":"Elliot Margot","pictureUrl":"https://github.com/OwnOptic.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-list-all-app-descriptions","url":"https://pnp.github.io/script-samples/samples/teams-list-all-app-descriptions/","legacyUrl":"https://pnp.github.io/script-samples/teams-list-all-app-descriptions/README.html","previews":[{"src":"/script-samples/teams-list-all-app-descriptions/assets/preview.png","alt":"Preview of the sample Get All Teams App Descriptions"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPGraphMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPGraphMethod.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 request","url":"https://pnp.github.io/cli-microsoft365/cmd/request/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spfx-install-js","title":"Install SharePoint Framework Development Environment","description":"Node.js script to install SharePoint Framework (SPFx) development environments with correct Node.js versions and build tools using fnm.","products":["sharepoint"],"categories":["Configure","Provision"],"tags":["SPFx","SharePoint Framework","Development Environment","Node.js","fnm","Yeoman"],"tools":[{"id":"JAVASCRIPT","label":"JavaScript","version":"Node.js, fnm"}],"created":"2025-12-20","updated":"2026-10-01","authors":[{"handle":"donkirkham","name":"Don Kirkham","pictureUrl":"https://github.com/donkirkham.png?size=64"}],"references":[{"name":"Fast Node Manager (fnm)","description":"Fast and simple Node.js version manager","url":"https://github.com/Schniz/fnm"},{"name":"SharePoint Framework Overview","description":"Official Microsoft documentation for SharePoint Framework","url":"https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spfx-install-js","url":"https://pnp.github.io/script-samples/samples/spfx-install-js/","legacyUrl":"https://pnp.github.io/script-samples/spfx-install-js/README.html","previews":[{"src":"/script-samples/spfx-install-js/assets/preview.png","alt":"Preview of the Install SharePoint Framework Development Environment script"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":4},{"slug":"spfx-list-js","title":"List SPFx Versions","description":"Node.js script to list SharePoint Framework (SPFx) versions installed via fnm with their Node.js versions and optionally query available versions from npm.","products":["sharepoint"],"categories":["Configure","Report"],"tags":["SPFx","fnm","Node.js","npm","version management"],"tools":[{"id":"JAVASCRIPT","label":"JavaScript","version":"node, fnm, npm"}],"created":"2025-12-14","updated":"2026-09-30","authors":[{"handle":"donkirkham","name":"Don Kirkham","pictureUrl":"https://github.com/donkirkham.png?size=64"}],"references":[{"name":"SharePoint Framework Overview","description":"Overview of the SharePoint Framework","url":"https://docs.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview"},{"name":"fnm - Fast Node Manager","description":"Fast and simple Node.js version manager","url":"https://github.com/Schniz/fnm"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spfx-list-js","url":"https://pnp.github.io/script-samples/samples/spfx-list-js/","legacyUrl":"https://pnp.github.io/script-samples/spfx-list-js/README.html","previews":[{"src":"/script-samples/spfx-list-js/assets/preview.png","alt":"Preview of the List SPFx Versions script"},{"src":"/script-samples/spfx-list-js/assets/example1.png","alt":"Basic usage showing installed SPFx versions"},{"src":"/script-samples/spfx-list-js/assets/example2.png","alt":"Show all available versions from npm"},{"src":"/script-samples/spfx-list-js/assets/example3.png","alt":"Filter by version pattern"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":4},{"slug":"aad-audit-dynamicgroup","title":"Audit Microsoft Entra ID Dynamic Groups using Microsoft Graph API and PowerShell ","description":"Audits an Entra dynamic group by reviewing its membership rule and processing status, along with the current member count.","products":["graph","entra"],"categories":["Report","Security"],"tags":["Connect-MgGraph","Invoke-MgGraphRequest","Group.Read.All","GroupMember.Read.All","membershipRuleProcessingStatus","dynamic group","audit","Entra ID"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.11.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.1"}],"created":"2026-09-27","updated":"2026-09-27","authors":[{"handle":"nelladath","name":"Sujin Nelladath","pictureUrl":"https://github.com/nelladath.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-audit-dynamicgroup","url":"https://pnp.github.io/script-samples/samples/aad-audit-dynamicgroup/","legacyUrl":"https://pnp.github.io/script-samples/aad-audit-dynamicgroup/README.html","previews":[{"src":"/script-samples/aad-audit-dynamicgroup/assets/preview.png","alt":"Preview of the sample Audit an Entra dynamic group"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-agent-list","title":"Get SharePoint Agents","description":"Get a list of SharePoint Agents from SharePoint Online site and export agent metadata and contents to CSV.","products":["sharepoint","copilot"],"categories":["Deploy","Report","Provision","Configure","AI","Microsoft Copilot"],"tags":["Connect-PnPOnline","ConvertFrom-Json","m365 login","m365 spo list list","m365 spo listitem list","m365 spo file get"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.90"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.8.0"}],"created":"2025-03-17","updated":"2026-09-27","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"},{"handle":"OwnOptic","name":"Elliot Margot","pictureUrl":"https://github.com/OwnOptic.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-agent-list","url":"https://pnp.github.io/script-samples/samples/spo-get-agent-list/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-agent-list/README.html","previews":[{"src":"/script-samples/spo-get-agent-list/assets/preview.png","alt":"Get SharePoint Agents"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-list"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"},{"name":"m365 spo file get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-get"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"exo-deleted-recoverable-items-assessment","title":"Exchange Online Deleted & Recoverable Items Assessment","description":"This script assesses Deleted Items and Recoverable Items storage across Exchange Online user mailboxes and exports the highest-consuming mailboxes to CSV.","products":["microsoft-365"],"categories":["Report","Security"],"tags":["Connect-ExchangeOnline","Get-EXOMailbox","Get-EXOMailboxFolderStatistics","Export-Csv"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-09-21","updated":"2026-09-21","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Exchange Online PowerShell module","description":"Learn how to connect to Exchange Online and use Exchange Online PowerShell cmdlets.","url":"https://learn.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/exo-deleted-recoverable-items-assessment","url":"https://pnp.github.io/script-samples/samples/exo-deleted-recoverable-items-assessment/","legacyUrl":"https://pnp.github.io/script-samples/exo-deleted-recoverable-items-assessment/README.html","previews":[{"src":"/script-samples/exo-deleted-recoverable-items-assessment/assets/preview.png","alt":"Preview of the sample Exchange Online Deleted & Recoverable Items Assessment"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"exchange-mailbox-size-assessment","title":"Exchange Online Mailbox Size Assessment","description":"This script connects to Exchange Online, lists user mailboxes, calculates mailbox sizes, and exports the largest mailboxes to a CSV report.","products":["microsoft-365"],"categories":["Report","Security"],"tags":["Connect-ExchangeOnline","Get-EXOMailbox","Get-EXOMailboxStatistics","Export-Csv"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-09-20","updated":"2026-09-20","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Exchange Online PowerShell module","description":"Learn how to connect to Exchange Online and use Exchange Online PowerShell cmdlets.","url":"https://learn.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/exchange-mailbox-size-assessment","url":"https://pnp.github.io/script-samples/samples/exchange-mailbox-size-assessment/","legacyUrl":"https://pnp.github.io/script-samples/exchange-mailbox-size-assessment/README.html","previews":[{"src":"/script-samples/exchange-mailbox-size-assessment/assets/preview.png","alt":"Preview of the sample Exchange Online Mailbox Size Assessment"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-entrauser-offboarding","title":"Offboard an Entra user","description":"Offboards an Entra user by removing their access and permissions.","products":["graph","entra"],"categories":["Configure","Security"],"tags":["Connect-MgGraph","Invoke-MgGraphRequest","User.ReadWrite.All","Group.ReadWrite.All","Directory.ReadWrite.All","AppRoleAssignment.ReadWrite.All","requiredResourceAccess","app registration","delegated permission","application permission"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.5.0"},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.11.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.1"}],"created":"2026-09-10","updated":"2026-09-10","authors":[{"handle":"nelladath","name":"Sujin Nelladath","pictureUrl":"https://github.com/nelladath.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-entrauser-offboarding","url":"https://pnp.github.io/script-samples/samples/aad-entrauser-offboarding/","legacyUrl":"https://pnp.github.io/script-samples/aad-entrauser-offboarding/README.html","previews":[{"src":"/script-samples/aad-entrauser-offboarding/assets/preview.png","alt":"Preview of the sample Offboard an Entra user"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-set-meeting-recording-expiration","title":"Set or extend the expiration date on existing Teams meeting recordings","description":"Bulk-sets the expiration date on Teams meeting recordings already stored in OneDrive or SharePoint using File.SetExpirationDate, the only write path for the read-only _ExpirationDate column.","products":["sharepoint","teams"],"categories":["Configure","Data"],"tags":["Connect-PnPOnline","Get-PnPFolderItem","Get-PnPFile","Invoke-PnPQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.4.1"},{"id":"POWERSHELL","label":"PowerShell","version":"7.6.4"}],"created":"2026-09-10","updated":"2026-09-10","authors":[{"handle":"mistrb01","name":"George Brooks","pictureUrl":"https://github.com/mistrb01.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Manage Teams recording expiration policy","description":"Microsoft Learn article on the meeting policy setting that controls the default expiration for new recordings.","url":"https://learn.microsoft.com/en-us/microsoftteams/manage-teams-recording-expiration-policy"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-set-meeting-recording-expiration","url":"https://pnp.github.io/script-samples/samples/spo-set-meeting-recording-expiration/","legacyUrl":"https://pnp.github.io/script-samples/spo-set-meeting-recording-expiration/README.html","previews":[{"src":"/script-samples/spo-set-meeting-recording-expiration/assets/preview.png","alt":"Preview of the sample Set or extend the expiration date on existing Teams meeting recordings"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFolderItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderItem.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"power-platform-custom-connector-inventory","title":"List Custom Connectors Across All Environments","description":"Lists all custom connectors in a tenant with owner, auth type and endpoint","products":["sharepoint","microsoft-365","graph","power-platform","teams","power-automate","todo","azure","copilot"],"categories":["Modernize","Data","Deploy","Provision","Configure","Report","Security","AI","Microsoft Copilot"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"POWERAPPS-POWERSHELL","label":"Power Apps PowerShell","version":"2.0.0"}],"created":"2026-09-09","updated":"2026-09-09","authors":[{"handle":"MichaelRoth42","name":"Michael Roth","pictureUrl":"https://github.com/MichaelRoth42.png?size=64"}],"references":[{"name":"Want to learn more about Power Apps PowerShell and the cmdlets","description":"Check out the Power Apps PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/power-platform/admin/powerapps-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/power-platform-custom-connector-inventory","url":"https://pnp.github.io/script-samples/samples/power-platform-custom-connector-inventory/","legacyUrl":"https://pnp.github.io/script-samples/power-platform-custom-connector-inventory/README.html","previews":[{"src":"/script-samples/power-platform-custom-connector-inventory/assets/preview.png","alt":"Preview of the sample List Custom Connectors Across All Environments"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-hub-site-governance-report","title":"SharePoint Hub Site Governance Report","description":"Generate a tenant-wide report of SharePoint Hub Sites, associated sites, site collection administrators, and execution audit details using certificate-based PnP PowerShell authentication.","products":["sharepoint"],"categories":["Configure","Report","Security"],"tags":["SharePoint Online","Hub Site","Get-PnPHubSite","Get-PnPHubSiteChild","Get-PnPSiteCollectionAdmin","Connect-PnPOnline","Export-Csv"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.0.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-09-01","updated":"2026-09-09","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-hub-site-governance-report","url":"https://pnp.github.io/script-samples/samples/spo-hub-site-governance-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-hub-site-governance-report/README.html","previews":[{"src":"/script-samples/spo-hub-site-governance-report/assets/preview.png","alt":"Preview of the SharePoint Hub Site Governance Report sample"}],"commandReferences":[{"name":"Get-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSite.html"},{"name":"Get-PnPHubSiteChild","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSiteChild.html"},{"name":"Get-PnPSiteCollectionAdmin","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteCollectionAdmin.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-aspx-page-type-audit","title":"SharePoint Online ASPX Page Type Audit","description":"Audits SharePoint Online page libraries and classifies ASPX pages as Modern or Classic.","products":["sharepoint","microsoft-365"],"categories":["Report","Configure","Security"],"tags":["Modern","Classic","Pages","ASPX","Audit","PnP.PowerShell","Connect-PnPOnline","Get-PnPListItem","Export-Csv"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.7.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.4.0"}],"created":"2026-09-09","updated":"2026-09-09","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about SharePoint Online and page modernization","description":"Review the SharePoint Online page modernization guidance and modern page architecture documentation.","url":"https://learn.microsoft.com/sharepoint/dev/solution-guidance/modern-experience-customizations"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-aspx-page-type-audit","url":"https://pnp.github.io/script-samples/samples/spo-aspx-page-type-audit/","legacyUrl":"https://pnp.github.io/script-samples/spo-aspx-page-type-audit/README.html","previews":[{"src":"/script-samples/spo-aspx-page-type-audit/assets/preview.png","alt":"Preview of the SharePoint Online ASPX Page Type Audit"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"exchange-online-distribution-group-external-sender-audit","title":"Exchange Online Distribution Group External Sender Audit","description":"Audits distribution groups that allow messages from external or unauthenticated senders and exports the results to CSV.","products":["microsoft-365"],"categories":["Report","Security"],"tags":["Connect-ExchangeOnline","Get-DistributionGroup","Export-Csv"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-09-02","updated":"2026-09-02","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Exchange Online PowerShell module","description":"Learn how to connect to Exchange Online and use Exchange Online PowerShell cmdlets.","url":"https://learn.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/exchange-online-distribution-group-external-sender-audit","url":"https://pnp.github.io/script-samples/samples/exchange-online-distribution-group-external-sender-audit/","legacyUrl":"https://pnp.github.io/script-samples/exchange-online-distribution-group-external-sender-audit/README.html","previews":[{"src":"/script-samples/exchange-online-distribution-group-external-sender-audit/assets/preview.png","alt":"Preview of the sample Exchange Online Distribution Group External Sender Audit"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-add-app-permission","title":"Add API permissions to an Entra app registration","description":"Adds delegated or application API permissions to an Entra app registration using Microsoft Graph.","products":["graph","entra"],"categories":["Configure","Security"],"tags":["Connect-MgGraph","Invoke-MgGraphRequest","Application.ReadWrite.All","requiredResourceAccess","app registration","delegated permission","application permission"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.5.0"},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.11.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.1"}],"created":"2026-08-30","updated":"2026-08-30","authors":[{"handle":"nelladath","name":"Sujin Nelladath","pictureUrl":"https://github.com/nelladath.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-add-app-permission","url":"https://pnp.github.io/script-samples/samples/aad-add-app-permission/","legacyUrl":"https://pnp.github.io/script-samples/aad-add-app-permission/README.html","previews":[{"src":"/script-samples/aad-add-app-permission/assets/example.png","alt":"Preview of the sample Add API permissions to an Entra app registration"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-audit-sharing-links","title":"Find and risk-rate SharePoint sharing links (spot oversharing before Copilot)","description":"Finds every sharing link on a SharePoint Online site through the hidden SharingLinks groups, resolves them to files, and risk-rates each one (Anonymous / Organization / Users, View / Edit, expiry, password) so you can spot oversharing before Search and Copilot surface it.","products":["sharepoint"],"categories":["Report","Security"],"tags":["Connect-PnPOnline","Get-PnPGroup","Get-PnPList","Get-PnPListItem","Get-PnPFileSharingLink","Get-PnPFolderSharingLink","Get-PnPWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"}],"created":"2026-08-29","updated":"2026-08-29","authors":[{"handle":"gvijaikumar9","name":"Vijay Kumar G","pictureUrl":"https://github.com/gvijaikumar9.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-audit-sharing-links","url":"https://pnp.github.io/script-samples/samples/spo-audit-sharing-links/","legacyUrl":"https://pnp.github.io/script-samples/spo-audit-sharing-links/README.html","previews":[{"src":"/script-samples/spo-audit-sharing-links/assets/example.png","alt":"Report of SharePoint sharing links risk-rated Low to Critical"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroup.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPFileSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFileSharingLink.html"},{"name":"Get-PnPFolderSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderSharingLink.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-audit-user-and-site-access","title":"Report SharePoint site access and flag oversharing (by site or by user)","description":"Report who can reach a SharePoint Online site and how, or what a given user can reach, classifying every route as Granted or Overshared (Everyone claims and sharing links).","products":["sharepoint"],"categories":["Report","Security"],"tags":["Connect-PnPOnline","Get-PnPWeb","Get-PnPContext","Get-PnPProperty","Get-PnPGroupMember","Get-PnPUser"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"}],"created":"2026-08-29","updated":"2026-08-29","authors":[{"handle":"gvijaikumar9","name":"Vijay Kumar G","pictureUrl":"https://github.com/gvijaikumar9.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-audit-user-and-site-access","url":"https://pnp.github.io/script-samples/samples/spo-audit-user-and-site-access/","legacyUrl":"https://pnp.github.io/script-samples/spo-audit-user-and-site-access/README.html","previews":[{"src":"/script-samples/spo-audit-user-and-site-access/assets/example.png","alt":"Report of who can access a SharePoint site with oversharing routes flagged"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroupMember.html"},{"name":"Get-PnPUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUser.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-inactive-guest-delete","title":"Delete inactive Guest User","description":"The script will report inactive users for x days and provides an option to delete them.","products":["graph"],"categories":["Security"],"tags":["Get-MgUser","Remove-MgUser"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2024-10-02","updated":"2026-08-22","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"petkir","name":"Peter Paul Kirschner","pictureUrl":"https://github.com/petkir.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-inactive-guest-delete","url":"https://pnp.github.io/script-samples/samples/aad-inactive-guest-delete/","legacyUrl":"https://pnp.github.io/script-samples/aad-inactive-guest-delete/README.html","previews":[{"src":"/script-samples/aad-inactive-guest-delete/assets/preview.png","alt":"Preview of the sample Delete inactive Guest User"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"teams-meetings-with-copilot-usage","title":"Teams Meetings with Copilot Usage","description":"Analyze Teams meetings to report on Copilot usage.","products":["teams","copilot"],"categories":["Provision"],"tags":["Connect-ExchangeOnline","Search-UnifiedAuditLog"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.4.0"}],"created":"2026-08-15","updated":"2026-08-15","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=64"}],"references":[{"name":"Want to learn more about PowerShell and the cmdlets","description":"Check out the PowerShell site to get started and for command references.","url":"https://aka.ms/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-meetings-with-copilot-usage","url":"https://pnp.github.io/script-samples/samples/teams-meetings-with-copilot-usage/","legacyUrl":"https://pnp.github.io/script-samples/teams-meetings-with-copilot-usage/README.html","previews":[{"src":"/script-samples/teams-meetings-with-copilot-usage/assets/preview.png","alt":"Preview of the sample Teams Meetings with Copilot Usage"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"export-spo-access-request-settings","title":"Export SharePoint Access Request Settings","description":"Audit SharePoint Online access request settings across site collections and subsites.","products":["sharepoint"],"categories":["Report","Security","Configure"],"tags":["Connect-PnPOnline","Get-PnPSubWeb","Get-PnPTenantSite","Get-PnPGroup","Export-Csv","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.6.0"}],"created":"2026-08-08","updated":"2026-08-08","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/export-spo-access-request-settings","url":"https://pnp.github.io/script-samples/samples/export-spo-access-request-settings/","legacyUrl":"https://pnp.github.io/script-samples/export-spo-access-request-settings/README.html","previews":[{"src":"/script-samples/export-spo-access-request-settings/assets/preview.png","alt":"Preview of the sample Export SharePoint Access Request Settings"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPSubWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSubWeb.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroup.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"disable-the-sharepoint-online-add-shortcut-to-onedrive-feature","title":"Disable the SharePoint Online Add Shortcut to OneDrive Feature","description":"Disable the Add Shortcut to OneDrive feature at the SharePoint Online tenant level using certificate-based authentication.","products":["sharepoint","microsoft-365"],"categories":["Configure","Security"],"tags":["SharePoint Online","Add Shortcut to OneDrive","Connect-PnPOnline","Set-PnPTenant","DisableAddToOneDrive","certificate authentication"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"}],"created":"2026-08-07","updated":"2026-08-07","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/disable-the-sharepoint-online-add-shortcut-to-onedrive-feature","url":"https://pnp.github.io/script-samples/samples/disable-the-sharepoint-online-add-shortcut-to-onedrive-feature/","legacyUrl":"https://pnp.github.io/script-samples/disable-the-sharepoint-online-add-shortcut-to-onedrive-feature/README.html","previews":[{"src":"/script-samples/disable-the-sharepoint-online-add-shortcut-to-onedrive-feature/assets/preview.png","alt":"Preview of the sample Disable the SharePoint Online Add Shortcut to OneDrive Feature"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPTenant.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-m365-users-with-direct-sharepoint-permissions","title":"Get M365 Users with Direct SharePoint Permissions","description":"This script identifies users who have been granted direct permissions on SharePoint Online sites, rather than receiving access through groups.","products":["sharepoint","entra"],"categories":["Report"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2025-12-18","updated":"2026-08-03","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-m365-users-with-direct-sharepoint-permissions","url":"https://pnp.github.io/script-samples/samples/spo-get-m365-users-with-direct-sharepoint-permissions/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-m365-users-with-direct-sharepoint-permissions/README.html","previews":[{"src":"/script-samples/spo-get-m365-users-with-direct-sharepoint-permissions/assets/preview.png","alt":"Preview of the sample Get M365 Users with Direct SharePoint Permissions"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-sites-with-custom-script-enabled","title":"SharePoint Online - Export Sites with Custom Script Enabled","description":"This PowerShell script connects to the SharePoint Online Admin Center using certificate-based authentication and audits all SharePoint Online site collections to identify sites where Custom Script is enabled. The results are exported to a timestamped CSV report for audit purposes.","products":["sharepoint"],"categories":["Report","Security"],"tags":["Get-PnPTenantSite","Custom Script","DenyAddAndCustomizePages","Audit"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2026-08-02","updated":"2026-08-02","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-sites-with-custom-script-enabled","url":"https://pnp.github.io/script-samples/samples/spo-export-sites-with-custom-script-enabled/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-sites-with-custom-script-enabled/README.html","previews":[{"src":"/script-samples/spo-export-sites-with-custom-script-enabled/assets/preview.png","alt":"Preview of SharePoint Online - Export Sites with Custom Script Enabled"}],"commandReferences":[{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-site-inventory-report","title":"Generate SharePoint Site Inventory Report","description":"Generate an inventory report for a SharePoint site including lists, libraries, pages and storage information","products":["sharepoint","microsoft-365","graph","power-platform","teams","power-automate","todo","azure","copilot"],"categories":["Modernize","Data","Deploy","Provision","Configure","Report","Security","AI","Microsoft Copilot"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2026-07-24","updated":"2026-07-24","authors":[{"handle":"a-villarruel","name":"Antonio Villarruel","pictureUrl":"https://github.com/a-villarruel.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-site-inventory-report","url":"https://pnp.github.io/script-samples/samples/spo-site-inventory-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-site-inventory-report/README.html","previews":[{"src":"/script-samples/spo-site-inventory-report/assets/preview.png","alt":"Preview of the sample Generate SharePoint Site Inventory Report"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-build-hierarchical-team-channel-navigation","title":"Create Hub Navigation from Teams and Channels","description":"Create Hub Navigation from Teams and Channels","products":["sharepoint","teams"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPNavigationNode","Add-PnPNavigationNode","Get-PnPProperty","Channels","Navigation"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-07-15","updated":"2026-07-15","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-build-hierarchical-team-channel-navigation","url":"https://pnp.github.io/script-samples/samples/spo-build-hierarchical-team-channel-navigation/","legacyUrl":"https://pnp.github.io/script-samples/spo-build-hierarchical-team-channel-navigation/README.html","previews":[{"src":"/script-samples/spo-build-hierarchical-team-channel-navigation/assets/preview.png","alt":"Preview of the sample Create Hub Navigation from Teams and Channels"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPNavigationNode.html"},{"name":"Add-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPNavigationNode.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"copy-sharepoint-list-columns-between-lists","title":"How to Copy SharePoint List Columns Between Lists Using PowerShell","description":"This script copies selected SharePoint list fields from a source list to a destination list using PnP PowerShell and certificate-based authentication.","products":["sharepoint"],"categories":["Provision","Configure"],"tags":["Connect-PnPOnline","Get-PnPField","Add-PnPFieldFromXml","Export-Csv"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"}],"created":"2026-07-11","updated":"2026-07-11","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/copy-sharepoint-list-columns-between-lists","url":"https://pnp.github.io/script-samples/samples/copy-sharepoint-list-columns-between-lists/","legacyUrl":"https://pnp.github.io/script-samples/copy-sharepoint-list-columns-between-lists/README.html","previews":[{"src":"/script-samples/copy-sharepoint-list-columns-between-lists/assets/preview.png","alt":"Preview of the sample How to Copy SharePoint List Columns Between Lists Using PowerShell"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Add-PnPFieldFromXml","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFieldFromXml.html"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-remove-sitecollection-admins-after-providing-support","title":"Get and Remove Site Admins after providing Support.","description":"Find site collection administrators granted for support cases and remove them once support is complete","products":["sharepoint"],"categories":["Security"],"tags":["Get-PnPTenantSite","Get-PnPSiteCollectionAdmin","Remove-PnPSiteCollectionAdmin"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-07-08","updated":"2026-07-08","authors":[{"handle":"fabianhutzli","name":"Fabian Hutzli","pictureUrl":"https://github.com/fabianhutzli.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-sitecollection-admins-after-providing-support","url":"https://pnp.github.io/script-samples/samples/spo-remove-sitecollection-admins-after-providing-support/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-sitecollection-admins-after-providing-support/README.html","previews":[{"src":"/script-samples/spo-remove-sitecollection-admins-after-providing-support/assets/preview.png","alt":"Preview of the sample Get and Remove Site Admins after providing Support."}],"commandReferences":[{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPSiteCollectionAdmin","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteCollectionAdmin.html"},{"name":"Remove-PnPSiteCollectionAdmin","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPSiteCollectionAdmin.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"exchange-online-shared-mailbox-storage-audit","title":"Exchange Online Shared Mailbox Storage Audit (Threshold-Based Reporting Script)","description":"This script connects to Exchange Online, identifies shared mailboxes over a size threshold, and exports a CSV report for governance and capacity monitoring.","products":["microsoft-365"],"categories":["Report","Security"],"tags":["Connect-ExchangeOnline","Get-EXOMailbox","Get-EXOMailboxStatistics","Export-Csv"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-07-05","updated":"2026-07-05","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Exchange Online PowerShell module","description":"Learn how to connect to Exchange Online and use Exchange Online PowerShell cmdlets.","url":"https://learn.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/exchange-online-shared-mailbox-storage-audit","url":"https://pnp.github.io/script-samples/samples/exchange-online-shared-mailbox-storage-audit/","legacyUrl":"https://pnp.github.io/script-samples/exchange-online-shared-mailbox-storage-audit/README.html","previews":[{"src":"/script-samples/exchange-online-shared-mailbox-storage-audit/assets/preview.png","alt":"Preview of the sample Exchange Online Shared Mailbox Storage Audit"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"get-exo-mailboxes-with-forwarding","title":"Get Exchange Online Mailboxes Configured With Email Forwarding","description":"This script identifies all Exchange Online mailboxes configured with email forwarding and exports the results to a timestamped CSV report.","products":["microsoft-365"],"categories":["Report","Security"],"tags":["Connect-ExchangeOnline","Get-EXOMailbox","Export-Csv","Exchange Online","Mailbox Forwarding"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-07-04","updated":"2026-07-04","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Exchange Online PowerShell module","description":"Learn how to connect to Exchange Online and use Exchange Online PowerShell cmdlets.","url":"https://learn.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/get-exo-mailboxes-with-forwarding","url":"https://pnp.github.io/script-samples/samples/get-exo-mailboxes-with-forwarding/","legacyUrl":"https://pnp.github.io/script-samples/get-exo-mailboxes-with-forwarding/README.html","previews":[{"src":"/script-samples/get-exo-mailboxes-with-forwarding/assets/preview.png","alt":"Preview of the sample Get Exchange Online Mailboxes Configured With Email Forwarding"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-check-and-correct-translation-config","title":"Check the Site Pages translations config and correct.","description":"Validates the multilingual translation metadata (_SPTranslatedLanguages, _SPTranslationLanguage, _SPTranslationSourceItemId, _SPIsTranslation) of every page in the Site Pages library and optionally corrects clear-cut misconfigurations.","products":["sharepoint"],"categories":["Configure","Report"],"tags":["Connect-PnPOnline","Get-PnPListItem","Set-PnPListItem","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-06-24","updated":"2026-06-24","authors":[{"handle":"fabianhutzli","name":"Fabian Hutzli","pictureUrl":"https://github.com/fabianhutzli.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-check-and-correct-translation-config","url":"https://pnp.github.io/script-samples/samples/spo-check-and-correct-translation-config/","legacyUrl":"https://pnp.github.io/script-samples/spo-check-and-correct-translation-config/README.html","previews":[{"src":"/script-samples/spo-check-and-correct-translation-config/assets/preview.png","alt":"Preview of the sample Check the Site Pages translations config and correct."}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-report-version-expiration-and-trim","title":"Generate File version report and trim on specific Teams","description":"Reports on file version history across Microsoft Teams sites and private channels, calculates storage savings, and trims expired versions using SharePoint's automatic versioning policy.","products":["sharepoint"],"categories":["Data","Configure","Report"],"tags":["Get-PnPMicrosoft365Group","Get-PnPMicrosoft365GroupOwner","Get-PnPTeamsTeam","Get-PnPTeamsChannel","Get-PnPTeamsPrimaryChannel","Get-PnPTeamsChannelFilesFolder","Get-PnPTeamsChannelUser","Get-PnPTenantSite","Get-PnPList","New-PnPList","Set-PnPList","Get-PnPFile","Get-PnPSiteFileVersionExpirationReportJobStatus","New-PnPSiteFileVersionExpirationReportJob","Get-PnPSiteFileVersionBatchDeleteJobStatus","New-PnPSiteFileVersionBatchDeleteJob","Set-PnPSiteVersionPolicy"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-06-24","updated":"2026-06-24","authors":[{"handle":"fabianhutzli","name":"Fabian Hutzli","pictureUrl":"https://github.com/fabianhutzli.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-report-version-expiration-and-trim","url":"https://pnp.github.io/script-samples/samples/spo-report-version-expiration-and-trim/","legacyUrl":"https://pnp.github.io/script-samples/spo-report-version-expiration-and-trim/README.html","previews":[{"src":"/script-samples/spo-report-version-expiration-and-trim/assets/preview.png","alt":"Preview of the sample Generate File version report and trim on specific Teams"}],"commandReferences":[{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"},{"name":"Get-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupOwner.html"},{"name":"Get-PnPTeamsTeam","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsTeam.html"},{"name":"Get-PnPTeamsChannel","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsChannel.html"},{"name":"Get-PnPTeamsPrimaryChannel","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsPrimaryChannel.html"},{"name":"Get-PnPTeamsChannelFilesFolder","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsChannelFilesFolder.html"},{"name":"Get-PnPTeamsChannelUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsChannelUser.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Get-PnPSiteFileVersionExpirationReportJobStatus","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteFileVersionExpirationReportJobStatus.html"},{"name":"New-PnPSiteFileVersionExpirationReportJob","url":"https://pnp.github.io/powershell/cmdlets/New-PnPSiteFileVersionExpirationReportJob.html"},{"name":"Get-PnPSiteFileVersionBatchDeleteJobStatus","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteFileVersionBatchDeleteJobStatus.html"},{"name":"New-PnPSiteFileVersionBatchDeleteJob","url":"https://pnp.github.io/powershell/cmdlets/New-PnPSiteFileVersionBatchDeleteJob.html"},{"name":"Set-PnPSiteVersionPolicy","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPSiteVersionPolicy.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"get-disabled-or-inactive-user-accounts","title":"Get disabled or inactive user accounts","description":"Find the user accounts which have been disabled or are inactive, export report to CSV","products":["sharepoint","graph","azure"],"categories":["Data","Report","Security"],"tags":["Invoke-PnPGraphMethod,Invoke-PnPSearchQuery,Invoke-RestMethod","m365 request,m365 spo search"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.6.0"}],"created":"2023-10-15","updated":"2026-06-24","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"},{"handle":"juandresrodca","name":"juandresrodca","pictureUrl":"https://github.com/juandresrodca.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/get-disabled-or-inactive-user-accounts","url":"https://pnp.github.io/script-samples/samples/get-disabled-or-inactive-user-accounts/","legacyUrl":"https://pnp.github.io/script-samples/get-disabled-or-inactive-user-accounts/README.html","previews":[{"src":"/script-samples/get-disabled-or-inactive-user-accounts/assets/preview.png","alt":"Preview of the sample Get disabled or inactive user accounts"}],"commandReferences":[],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-request-pnp-reindex-user-profile","title":"Request Reindex of SharePoint User Profile Properties","description":"This function, Request-PnPReindexUserProfile, triggers a full crawl of each user's profile properties.","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPProperty","Get-PnPUPABulkImportStatus","New-PnPUPABulkImportJob","Submit-PnPSearchQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-07-28","updated":"2026-06-24","authors":[{"handle":"juandresrodca","name":"Juan Andres Rodriguez","pictureUrl":"https://github.com/juandresrodca.png?size=64"},{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"},{"handle":"Lotsamocha01","name":"Lotsamocha01","pictureUrl":"https://github.com/Lotsamocha01.png?size=64"},{"handle":"ToddKlindt","name":"Todd Klindt","pictureUrl":"https://github.com/ToddKlindt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-request-pnp-reindex-user-profile","url":"https://pnp.github.io/script-samples/samples/spo-request-pnp-reindex-user-profile/","legacyUrl":"https://pnp.github.io/script-samples/spo-request-pnp-reindex-user-profile/README.html","previews":[{"src":"/script-samples/spo-request-pnp-reindex-user-profile/assets/preview.png","alt":"Preview of the sample Request Reindex of SharePoint User Profile Properties"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPUPABulkImportStatus","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUPABulkImportStatus.html"},{"name":"New-PnPUPABulkImportJob","url":"https://pnp.github.io/powershell/cmdlets/New-PnPUPABulkImportJob.html"},{"name":"Submit-PnPSearchQuery","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPSearchQuery.html"}],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-export-topnavbar-including-translations","title":"Export TopNavBar Structure and Translations.","description":"Export TopNavBar Nodes with Childrens and Title Translations.","products":["sharepoint"],"categories":["Data","Configure","Report"],"tags":["Get-PnPContext","Get-PnPNavigationNode"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-06-22","updated":"2026-06-22","authors":[{"handle":"fabianhutzli","name":"Fabian Hutzli","pictureUrl":"https://github.com/fabianhutzli.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-topnavbar-including-translations","url":"https://pnp.github.io/script-samples/samples/spo-export-topnavbar-including-translations/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-topnavbar-including-translations/README.html","previews":[{"src":"/script-samples/spo-export-topnavbar-including-translations/assets/preview.png","alt":"Preview of Export TopNavBar Structure and Translations"}],"commandReferences":[{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPNavigationNode.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-team-channel-hub-from-siteurl","title":"Find Teams and Channels associated with a SharePoint URL","description":"Find Teams and Channels associated with a SharePoint URL","products":["sharepoint","teams"],"categories":["Report"],"tags":["modern","Connect-PnPOnline","Get-PnPHubSite","Get-PnPMicrosoft365Group","Get-PnPSite","Channels"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-06-20","updated":"2026-06-20","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-team-channel-hub-from-siteurl","url":"https://pnp.github.io/script-samples/samples/spo-get-team-channel-hub-from-siteurl/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-team-channel-hub-from-siteurl/README.html","previews":[{"src":"/script-samples/spo-get-team-channel-hub-from-siteurl/assets/preview.png","alt":"Preview of the sample Find Teams and Channels associated with a SharePoint URL"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSite.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"group-connected-sharepoint-sites-and-microsoft-teams-relationship-report","title":"Group-Connected SharePoint Sites and Microsoft Teams Relationship Report","description":"Generate a tenant-wide CSV report of Microsoft 365 Group-connected SharePoint sites, ownership, and Microsoft Teams linkage.","products":["sharepoint","teams","graph","microsoft-365"],"categories":["Report"],"tags":["Get-PnPTenantSite","Get-PnPMicrosoft365GroupOwners","Get-PnPTeamsTeam","Export-Csv","SharePoint Online","Microsoft 365 Groups","Microsoft Teams","Governance"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2026-06-20","updated":"2026-06-20","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/group-connected-sharepoint-sites-and-microsoft-teams-relationship-report","url":"https://pnp.github.io/script-samples/samples/group-connected-sharepoint-sites-and-microsoft-teams-relationship-report/","legacyUrl":"https://pnp.github.io/script-samples/group-connected-sharepoint-sites-and-microsoft-teams-relationship-report/README.html","previews":[{"src":"/script-samples/group-connected-sharepoint-sites-and-microsoft-teams-relationship-report/assets/preview.png","alt":"Preview of the sample Group-Connected SharePoint Sites and Microsoft Teams Relationship Report"}],"commandReferences":[{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPTeamsTeam","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsTeam.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-recycle-bin-capacity-and-retention-report","title":"SharePoint Online Recycle Bin Capacity and Retention Report (All Sites)","description":"Generates a tenant-wide report of first and second stage recycle bin usage, retention windows, and upcoming purge dates across SharePoint Online site collections.","products":["sharepoint"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPContext","Get-PnPTenantSite","Get-PnPRecycleBinItem","Set-PnPContext","Export-Csv"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2026-06-17","updated":"2026-06-17","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-recycle-bin-capacity-and-retention-report","url":"https://pnp.github.io/script-samples/samples/spo-recycle-bin-capacity-and-retention-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-recycle-bin-capacity-and-retention-report/README.html","previews":[{"src":"/script-samples/spo-recycle-bin-capacity-and-retention-report/assets/preview.png","alt":"Preview of the sample SharePoint Online Recycle Bin Capacity and Retention Report (All Sites)"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPRecycleBinItem.html"},{"name":"Set-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPContext.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"conditional-access-policy-impact-analysis","title":"Conditional Access Policy Impact Analysis","description":"Analyze Microsoft Entra Conditional Access policies and export an impact assessment report before policy changes are made.","products":["azure","graph"],"categories":["Report","Security"],"tags":["Import-Module","Connect-MgGraph","Get-MgIdentityConditionalAccessPolicy","Get-MgDirectoryRole","Get-MgDirectoryRoleMember","Sort-Object","Export-Csv","Write-Host"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-06-02","updated":"2026-06-02","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"},{"name":"Want to learn more about PowerShell and the cmdlets","description":"Check out the PowerShell site to get started and for command references.","url":"https://aka.ms/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/conditional-access-policy-impact-analysis","url":"https://pnp.github.io/script-samples/samples/conditional-access-policy-impact-analysis/","legacyUrl":"https://pnp.github.io/script-samples/conditional-access-policy-impact-analysis/README.html","previews":[{"src":"/script-samples/conditional-access-policy-impact-analysis/assets/preview.png","alt":"Preview of the sample Conditional Access Policy Impact Analysis"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"onedrive-overquota-report","title":"Identify OneDrive Users Over License-Based Storage Quota","description":"Identifies OneDrive for Business users who are over their expected storage quota based on their assigned license tier, with special handling for EDU A1 enforcement.","products":["graph"],"categories":["Report","Security"],"tags":["Connect-MgGraph","Get-MgUser","Invoke-MgGraphRequest","Microsoft Graph Reports API","OneDrive","CSV"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"2.0.0"},{"id":"POWERSHELL","label":"PowerShell","version":"5.1"}],"created":"2026-05-22","updated":"2026-05-29","authors":[{"handle":"salarson","name":"Sam Larson","pictureUrl":"https://github.com/salarson.png?size=64"},{"handle":"JillTh","name":"Jill McClenahan","pictureUrl":"https://github.com/JillTh.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/onedrive-overquota-report","url":"https://pnp.github.io/script-samples/samples/onedrive-overquota-report/","legacyUrl":"https://pnp.github.io/script-samples/onedrive-overquota-report/README.html","previews":[{"src":"/script-samples/onedrive-overquota-report/assets/example.png","alt":"Preview of the sample Identify OneDrive Users Over License-Based Storage Quota"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-all-term-groups-with-translation-labels","title":"Export all term groups with translation labels","description":"Exports SharePoint Term Store groups, sets, terms, and multilingual labels to CSV, JSON, or both.","products":["sharepoint"],"categories":["Data","Report"],"tags":["Connect-PnPOnline","Get-PnPTermGroup","Get-PnPTermSet","Get-PnPTerm","Get-PnPTermLabel","Term Store","taxonomy","translation labels"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-05-28","updated":"2026-05-28","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-all-term-groups-with-translation-labels","url":"https://pnp.github.io/script-samples/samples/spo-export-all-term-groups-with-translation-labels/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-all-term-groups-with-translation-labels/README.html","previews":[{"src":"/script-samples/spo-export-all-term-groups-with-translation-labels/assets/preview.png","alt":"Preview of the sample Export all term groups with translation labels"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTermGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTermGroup.html"},{"name":"Get-PnPTermSet","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTermSet.html"},{"name":"Get-PnPTerm","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTerm.html"},{"name":"Get-PnPTermLabel","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTermLabel.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-create-from-oob-library-template","title":"Create library using Out-of-the-Box SharePoint Library template","description":"Create library using Out-of-the-Box SharePoint Library template","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Invoke-PnPSPRestMethod","Libraries","Lists","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-05-26","updated":"2026-05-26","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-create-from-oob-library-template","url":"https://pnp.github.io/script-samples/samples/spo-create-from-oob-library-template/","legacyUrl":"https://pnp.github.io/script-samples/spo-create-from-oob-library-template/README.html","previews":[{"src":"/script-samples/spo-create-from-oob-library-template/assets/preview.png","alt":"Preview of the sample Create library using Out-of-the-Box SharePoint Library template"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-set-site-available-languages","title":"Set available languages for a SharePoint site","description":"Updates a SharePoint site's available languages by keeping only the specified languages enabled.","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Get-PnPWeb","Invoke-PnPQuery","sharepoint-online","multilingual"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.2.0"}],"created":"2026-05-21","updated":"2026-05-21","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-set-site-available-languages","url":"https://pnp.github.io/script-samples/samples/spo-set-site-available-languages/","legacyUrl":"https://pnp.github.io/script-samples/spo-set-site-available-languages/README.html","previews":[{"src":"/script-samples/spo-set-site-available-languages/assets/preview.png","alt":"Preview of the sample Set available languages for a SharePoint site"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"dataverse-check-security-role-assignments","title":"Check Dataverse Security Role Direct vs Group Assignments","description":"Identify which users have security roles assigned directly vs via Dataverse Group Teams - useful for compliance reporting","products":["sharepoint","microsoft-365","graph","power-platform","teams","power-automate","todo","azure","copilot"],"categories":["Modernize","Data","Deploy","Provision","Configure","Report","Security","AI","Microsoft Copilot"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2026-05-19","updated":"2026-05-19","authors":[{"handle":"MichaelRoth42","name":"Michael Roth","pictureUrl":"https://github.com/MichaelRoth42.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/dataverse-check-security-role-assignments","url":"https://pnp.github.io/script-samples/samples/dataverse-check-security-role-assignments/","legacyUrl":"https://pnp.github.io/script-samples/dataverse-check-security-role-assignments/README.html","previews":[{"src":"/script-samples/dataverse-check-security-role-assignments/assets/preview.png","alt":"Preview of the sample Check Dataverse Security Role Direct vs Group Assignments"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-enable-ai-skills","title":"Enable AI skills in SharePoint Online","description":"This script enables AI skills in SharePoint Online by activating the Agent Assets site collection feature","products":["sharepoint","copilot"],"categories":["Configure","Microsoft Copilot"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2026-05-05","updated":"2026-05-05","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-enable-ai-skills","url":"https://pnp.github.io/script-samples/samples/spo-enable-ai-skills/","legacyUrl":"https://pnp.github.io/script-samples/spo-enable-ai-skills/README.html","previews":[{"src":"/script-samples/spo-enable-ai-skills/assets/preview.png","alt":"Preview of the sample Enable AI skills in SharePoint Online"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"cowork-skills-upload","title":"Upload Cowork Skills to your OneDrive","description":"Uploads a custom SKILL.md file to the Cowork/skills folder in a user's OneDrive Agent Assets library using PnP PowerShell.","products":["sharepoint","copilot"],"categories":["Configure","AI","Microsoft Copilot"],"tags":["Connect-PnPOnline","Get-PnPUserProfileProperty","Get-PnPList","Resolve-PnPFolder","Add-PnPFile"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2026-05-05","updated":"2026-05-05","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Resolve-PnPFolder cmdlet reference","description":"Official cmdlet documentation for resolving and creating folder paths in SharePoint and OneDrive.","url":"https://pnp.github.io/powershell/cmdlets/Resolve-PnPFolder.html"},{"name":"Add-PnPFile cmdlet reference","description":"Official cmdlet documentation for uploading files to SharePoint and OneDrive libraries.","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/cowork-skills-upload","url":"https://pnp.github.io/script-samples/samples/cowork-skills-upload/","legacyUrl":"https://pnp.github.io/script-samples/cowork-skills-upload/README.html","previews":[{"src":"/script-samples/cowork-skills-upload/assets/preview.png","alt":"Preview of the sample Upload Cowork Skills to OneDrive"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPUserProfileProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUserProfileProperty.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Resolve-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Resolve-PnPFolder.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-ai-skills-upload","title":"Upload SharePoint AI Skills to Agent Assets","description":"Upload a SKILL.md file into the SharePoint Agent Assets > Skills folder for a target site.","products":["sharepoint","copilot"],"categories":["Configure","AI","Microsoft Copilot"],"tags":["Connect-PnPOnline","Get-PnPFeature","Get-PnPList","Resolve-PnPFolder","Add-PnPFile"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2026-05-05","updated":"2026-05-05","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-ai-skills-upload","url":"https://pnp.github.io/script-samples/samples/spo-ai-skills-upload/","legacyUrl":"https://pnp.github.io/script-samples/spo-ai-skills-upload/README.html","previews":[{"src":"/script-samples/spo-ai-skills-upload/assets/preview.png","alt":"Preview of the sample Upload SharePoint AI Skills to Agent Assets"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFeature","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFeature.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Resolve-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Resolve-PnPFolder.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"flow-export-all-flows-in-environment","title":"Export all flows in environment","description":"This script will get all flows in your default environment and export them for importing back into Power Automate","products":["power-automate"],"categories":["Provision"],"tags":["Export-PnPFlow","Get-PnPFlow","Get-PnPPowerPlatformEnvironment"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2021-03-12","updated":"2026-05-04","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"},{"handle":"LuiseFreese","name":"Luise Freese","pictureUrl":"https://github.com/LuiseFreese.png?size=64"},{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Export all Flows using PnP.PowerShell","description":"Added PnP PowerShell version from PnP.PowerShell + Bonus Script: Export all Flows using PnP.PowerShell Blog","url":"https://www.leonarmston.com/2021/01/testing-out-the-new-power-automate-flow-commands-in-pnp-powershell-bonus-script-export-all-flows-using-pnp-powershell/"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/flow-export-all-flows-in-environment","url":"https://pnp.github.io/script-samples/samples/flow-export-all-flows-in-environment/","legacyUrl":"https://pnp.github.io/script-samples/flow-export-all-flows-in-environment/README.html","previews":[{"src":"/script-samples/flow-export-all-flows-in-environment/assets/preview.png","alt":"Preview of the sample Export all flows in environment"}],"commandReferences":[{"name":"Export-PnPFlow","url":"https://pnp.github.io/powershell/cmdlets/Export-PnPFlow.html"},{"name":"Get-PnPFlow","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFlow.html"},{"name":"Get-PnPPowerPlatformEnvironment","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPowerPlatformEnvironment.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-version-expirydate","title":"Set SharePoint File Versions to Never Expire","description":"How to Set SharePoint File Versions to Never Expire Using PowerShell.","products":["teams"],"categories":["Deploy","Provision"],"tags":["Governance","Connect-PnPOnline","Get-PnPListItem","Invoke-PnPSPRestMethod","Set-PnPFileVersion"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.285"}],"created":"2025-08-12","updated":"2026-05-01","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-version-expirydate","url":"https://pnp.github.io/script-samples/samples/spo-update-version-expirydate/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-version-expirydate/README.html","previews":[{"src":"/script-samples/spo-update-version-expirydate/assets/example.png","alt":"Preview of the sample Set SharePoint File Versions to Never Expire"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Set-PnPFileVersion","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPFileVersion.html"}],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-get-list-library-permission-export-to-csv","title":"Get SharePoint List Or Library Permissions And Export It To CSV","description":"This script sample shows how to get permission for list/library and export it to CSV with some required details","products":["sharepoint"],"categories":["Data","Report","Security"],"tags":["Permission","Connect-PnPOnline","Disconnect-PnPOnline","m365 login","m365 spo list get","m365 spo group member list","m365 status","Get-PnPGroup","Get-PnPGroupMember","Get-PnPProperty"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.6.0"}],"created":"2021-10-04","updated":"2026-04-19","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-list-library-permission-export-to-csv","url":"https://pnp.github.io/script-samples/samples/spo-get-list-library-permission-export-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-list-library-permission-export-to-csv/README.html","previews":[{"src":"/script-samples/spo-get-list-library-permission-export-to-csv/assets/example.png","alt":"Preview of the sample Get SharePoint List Or Library Permissions And Export It To CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 spo group member list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/group/group-member-list"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"Get-PnPGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroup.html"},{"name":"Get-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroupMember.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-import-termgroups","title":"Export and Import TermGroups","description":"Export and Import TermGroups between Tenants or save the export as backup.","products":["sharepoint"],"categories":["Data","Deploy","Configure"],"tags":["Get-PnPTermGroup","Export-PnPTermGroupToXml","Import-PnPTermGroupFromXml"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2026-04-13","updated":"2026-04-13","authors":[{"handle":"fabianhutzli","name":"Fabian Hutzli","pictureUrl":"https://github.com/fabianhutzli.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-import-termgroups","url":"https://pnp.github.io/script-samples/samples/spo-export-import-termgroups/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-import-termgroups/README.html","previews":[{"src":"/script-samples/spo-export-import-termgroups/assets/preview.png","alt":"Preview of the sample Export and Import TermGroups"}],"commandReferences":[{"name":"Get-PnPTermGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTermGroup.html"},{"name":"Export-PnPTermGroupToXml","url":"https://pnp.github.io/powershell/cmdlets/Export-PnPTermGroupToXml.html"},{"name":"Import-PnPTermGroupFromXml","url":"https://pnp.github.io/powershell/cmdlets/Import-PnPTermGroupFromXml.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-cleanup-spfx-solution","title":"Cleanup a SPFx Solution from every Site and App Catalog","description":"Remove a SPFx Solution from every Site installed, from Recycle bin and from App Catalog. This is needed if you need a complete cleanup or reinstall.","products":["sharepoint"],"categories":["Deploy"],"tags":["Get-PnPTenantSite","Get-PnPApp","Uninstall-PnPApp","Remove-PnPApp","Get-PnPRecycleBinItem","Clear-PnPRecycleBinItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2026-04-10","updated":"2026-04-10","authors":[{"handle":"fabianhutzli","name":"Fabian Hutzli","pictureUrl":"https://github.com/fabianhutzli.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-cleanup-spfx-solution","url":"https://pnp.github.io/script-samples/samples/spo-cleanup-spfx-solution/","legacyUrl":"https://pnp.github.io/script-samples/spo-cleanup-spfx-solution/README.html","previews":[{"src":"/script-samples/spo-cleanup-spfx-solution/assets/example.png","alt":"Preview of the sample Cleanup a SPFx Solution from every Site and App Catalog"}],"commandReferences":[{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApp.html"},{"name":"Uninstall-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Uninstall-PnPApp.html"},{"name":"Remove-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPApp.html"},{"name":"Get-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPRecycleBinItem.html"},{"name":"Clear-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Clear-PnPRecycleBinItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-crawllog-indexed-searchable","title":"SharePoint Search versus crawl log","description":"SharePoint Search versus crawl log","products":["sharepoint"],"categories":["Configure","Report"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPSearchCrawlLog","Submit-PnPSearchQuery","Search","Crawl Log"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2026-04-10","updated":"2026-04-10","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-crawllog-indexed-searchable","url":"https://pnp.github.io/script-samples/samples/spo-crawllog-indexed-searchable/","legacyUrl":"https://pnp.github.io/script-samples/spo-crawllog-indexed-searchable/README.html","previews":[{"src":"/script-samples/spo-crawllog-indexed-searchable/assets/example.png","alt":"Preview of the issue"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPSearchCrawlLog","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSearchCrawlLog.html"},{"name":"Submit-PnPSearchQuery","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPSearchQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-time-based-file-reports","title":"M365 Consultant's Script Kit","description":"These scripts are part of the Microsoft 365 Consultant's Script kit - OneDrive, SharePoint and Custom Site Scans","products":["sharepoint"],"categories":["Report"],"tags":["Add-PnPFile","Connect-PnPOnline","Get-PnPList","Get-PnPListItem","m365 login","m365 spo site list","m365 spo list list","m365 spo file list"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.3.0"}],"created":"2024-03-25","updated":"2026-03-25","authors":[{"handle":"nbrattoli","name":"Nick Brattoli","pictureUrl":"https://github.com/nbrattoli.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-time-based-file-reports","url":"https://pnp.github.io/script-samples/samples/spo-time-based-file-reports/","legacyUrl":"https://pnp.github.io/script-samples/spo-time-based-file-reports/README.html","previews":[{"src":"/script-samples/spo-time-based-file-reports/assets/preview.png","alt":"Preview of the sample <title>"}],"commandReferences":[{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 spo list list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-list"},{"name":"m365 spo file list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-list"}],"scriptTabCount":4,"codeBlockCount":4},{"slug":"mailbox-delegation-audit","title":"Mailbox Delegation Audit","description":"This script connects to Exchange Online, enumerates mailboxes, and reports FullAccess, SendAs, and SendOnBehalf delegates.","products":["microsoft-365"],"categories":["Report","Security"],"tags":["Connect-ExchangeOnline","Get-ExoMailbox","Get-ExoMailboxPermission","Get-ExoRecipientPermission","Export-Csv"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-03-07","updated":"2026-03-07","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Exchange Online PowerShell module","description":"Learn how to connect to Exchange Online and use Exchange Online PowerShell cmdlets.","url":"https://learn.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/mailbox-delegation-audit","url":"https://pnp.github.io/script-samples/samples/mailbox-delegation-audit/","legacyUrl":"https://pnp.github.io/script-samples/mailbox-delegation-audit/README.html","previews":[{"src":"/script-samples/mailbox-delegation-audit/assets/preview.png","alt":"Preview of the sample Mailbox Delegation Audit"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"entra-remove-user-mfa-methods","title":"Remove MFA Authentication Methods for Users","description":"Removes MFA authentication methods (phone, Microsoft Authenticator, software OATH token) for all or specific users in a Microsoft 365 tenant using Microsoft Graph PowerShell.","products":["entra","microsoft-365"],"categories":["Security"],"tags":["Connect-MgGraph","Get-MgUser","Get-MgUserAuthenticationMethod","Remove-MgUserAuthenticationPhoneMethod","Remove-MgUserAuthenticationMicrosoftAuthenticatorMethod","Remove-MgUserAuthenticationSoftwareOathMethod","MFA","Authentication","Identity"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"2.0.0"}],"created":"2026-02-28","updated":"2026-02-28","authors":[{"handle":"nirav-raval","name":"Nirav Raval","pictureUrl":"https://github.com/nirav-raval.png?size=64"}],"references":[{"name":"Microsoft Graph PowerShell SDK documentation","description":"Get started with the Microsoft Graph PowerShell SDK and explore the available cmdlets.","url":"https://learn.microsoft.com/en-us/powershell/microsoftgraph/overview"},{"name":"Authentication methods API overview","description":"Learn about the Microsoft Graph authentication methods API used in this script.","url":"https://learn.microsoft.com/en-us/graph/api/resources/authenticationmethods-overview"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/entra-remove-user-mfa-methods","url":"https://pnp.github.io/script-samples/samples/entra-remove-user-mfa-methods/","legacyUrl":"https://pnp.github.io/script-samples/entra-remove-user-mfa-methods/README.html","previews":[{"src":"/script-samples/entra-remove-user-mfa-methods/assets/example.png","alt":"Preview of the sample Remove MFA Authentication Methods for Users"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-move-files-library-sites","title":"Copying files between different SharePoint libraries with custom metadata","description":"This sample shows how to copy files between different SharePoint libraries with custom metadata with a matching folder structure.","products":["sharepoint"],"categories":["Configure","Security"],"tags":["Connect-PnPOnline","Get-PnPFolderItem","Get-PnPFolder","Get-PnPFile","Add-PnPFile"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"}],"created":"2023-10-01","updated":"2026-02-08","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-move-files-library-sites","url":"https://pnp.github.io/script-samples/samples/spo-move-files-library-sites/","legacyUrl":"https://pnp.github.io/script-samples/spo-move-files-library-sites/README.html","previews":[{"src":"/script-samples/spo-move-files-library-sites/assets/preview.png","alt":"Preview of the sample Copying files between different SharePoint libraries with custom metadata"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFolderItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderItem.html"},{"name":"Get-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolder.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"}],"scriptTabCount":2,"codeBlockCount":5},{"slug":"mfa-enforcement-gaps","title":"MFA Enforcement Gaps","description":"This script identifies users in a Microsoft 365 tenant who are not effectively protected by Multi-Factor Authentication (MFA).","products":["graph"],"categories":["Report","Security"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2026-01-21","updated":"2026-01-21","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/mfa-enforcement-gaps","url":"https://pnp.github.io/script-samples/samples/mfa-enforcement-gaps/","legacyUrl":"https://pnp.github.io/script-samples/mfa-enforcement-gaps/README.html","previews":[{"src":"/script-samples/mfa-enforcement-gaps/assets/preview.png","alt":"Preview of the sample MFA Enforcement Gaps"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-revoke-app-site-permission","title":"Revoke permissions for a given Entra ID registration","description":"Demonstrates how to audit and revoke Entra ID app permissions across SharePoint site.","products":["sharepoint","entra"],"categories":["Configure","Security"],"tags":["Connect-PnPOnline","Get-PnPAzureADApp","Get-PnPAzureADAppSitePermission","Get-PnPTenantSite","Revoke-PnPAzureADAppSitePermission","m365 login","m365 spo site list","m365 spo site apppermission list","m365 spo site apppermission remove"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.3.0"}],"created":"2025-10-23","updated":"2026-01-17","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-revoke-app-site-permission","url":"https://pnp.github.io/script-samples/samples/spo-revoke-app-site-permission/","legacyUrl":"https://pnp.github.io/script-samples/spo-revoke-app-site-permission/README.html","previews":[{"src":"/script-samples/spo-revoke-app-site-permission/assets/example.png","alt":"Preview of the sample Revoke permissions for a given Entra ID application registration"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 spo site apppermission list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-apppermission-list"},{"name":"m365 spo site apppermission remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-apppermission-remove"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"m365-get-shared-mailboxes-without-owners","title":"Get Shared Mailboxes Without Owners","description":"This script identifies shared mailboxes that have no assigned owners or members by analysing mailbox permissions in Exchange Online.","products":["microsoft-365"],"categories":["Report"],"tags":["Connect-ExchangeOnline"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2026-01-11","updated":"2026-01-11","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/m365-get-shared-mailboxes-without-owners","url":"https://pnp.github.io/script-samples/samples/m365-get-shared-mailboxes-without-owners/","legacyUrl":"https://pnp.github.io/script-samples/m365-get-shared-mailboxes-without-owners/README.html","previews":[{"src":"/script-samples/m365-get-shared-mailboxes-without-owners/assets/preview.png","alt":"Preview of the sample Get Shared Mailboxes Without Owners"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-apply-site-theme","title":"Apply site theme","description":"Apply a theme to a specific SharePoint site without adding a tenant theme that would be available for all sites.","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Get-PnPAccessToken","Invoke-RestMethod","Disconnect-PnPOnline","m365 login","m365 spo theme set","m365 spo theme apply","m365 spo theme remove"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.3.0"}],"created":"2025-10-22","updated":"2026-01-10","authors":[{"handle":"a1mery","name":"Aimery Thomas","pictureUrl":"https://github.com/a1mery.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-apply-site-theme","url":"https://pnp.github.io/script-samples/samples/spo-apply-site-theme/","legacyUrl":"https://pnp.github.io/script-samples/spo-apply-site-theme/README.html","previews":[{"src":"/script-samples/spo-apply-site-theme/assets/preview.png","alt":"Preview of Apply site theme script"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPAccessToken","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPAccessToken.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo theme set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/theme/theme-set"},{"name":"m365 spo theme apply","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/theme/theme-apply"},{"name":"m365 spo theme remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/theme/theme-remove"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-compare-files","title":"Compare files hash from two different SharePoint tenants","description":"This script will compare files hash from two different SharePoint tenants","products":["sharepoint"],"categories":["Report"],"tags":["hash","Connect-PnPOnline","Get-PnPFile","Get-FileHash","m365 login","m365 spo file get","m365 connection use"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.3.0"}],"created":"2023-01-27","updated":"2026-01-10","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-compare-files","url":"https://pnp.github.io/script-samples/samples/spo-compare-files/","legacyUrl":"https://pnp.github.io/script-samples/spo-compare-files/README.html","previews":[{"src":"/script-samples/spo-compare-files/assets/preview.png","alt":"Previe of sample script"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo file get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-get"},{"name":"m365 connection use","url":"https://pnp.github.io/cli-microsoft365/cmd/connection/connection-use"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-all-site-pages-details","title":"Export all site pages details from Site Pages library","description":"This script sample shows how to export all site pages details from Site Pages library.","products":["sharepoint"],"categories":["Data","Configure"],"tags":["Connect-PnPOnline","Get-PnPListItem","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-10-17","updated":"2026-01-10","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-all-site-pages-details","url":"https://pnp.github.io/script-samples/samples/spo-export-all-site-pages-details/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-all-site-pages-details/README.html","previews":[{"src":"/script-samples/spo-export-all-site-pages-details/assets/example.png","alt":"Preview of the sample Export all site pages details from Site Pages library"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"graph-get-mfa-user-number","title":"Export Entra ID User MFA Phone Details (Unmasked) to CSV","description":"This PowerShell script enumerates users in Microsoft Entra ID (formerly Azure AD) and retrieves their **Multi-Factor Authentication (MFA) / phone authentication methods** using Microsoft Graph.","products":["graph"],"categories":["Report"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2026-01-10","updated":"2026-01-10","authors":[{"handle":"divya-akula","name":"Divya Akula","pictureUrl":"https://github.com/divya-akula.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-get-mfa-user-number","url":"https://pnp.github.io/script-samples/samples/graph-get-mfa-user-number/","legacyUrl":"https://pnp.github.io/script-samples/graph-get-mfa-user-number/README.html","previews":[{"src":"/script-samples/graph-get-mfa-user-number/assets/preview.png","alt":"Preview of the sample Export Entra ID User MFA Phone Details (Unmasked) to CSV"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":4},{"slug":"spo-get-inactive-sites-report","title":"Get Inactive SharePoint Sites Report","description":"This script identifies SharePoint Online sites that have had no content activity for a defined period (default: 365 days) and generates a CSV report containing site metadata.","products":["sharepoint"],"categories":["Report"],"tags":["Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2026-01-10","updated":"2026-01-10","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-inactive-sites-report","url":"https://pnp.github.io/script-samples/samples/spo-get-inactive-sites-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-inactive-sites-report/README.html","previews":[{"src":"/script-samples/spo-get-inactive-sites-report/assets/preview.png","alt":"Preview of the sample Get Inactive SharePoint Sites Report"}],"commandReferences":[{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-site-collection-ownership-validation","title":"Site Collection Ownership Validation","description":"This script audits all SharePoint Online site collections in a Microsoft 365 tenant to validate site ownership.","products":["sharepoint"],"categories":["Report"],"tags":["Get-PnPTenantSite","Get-PnPSiteCollectionAdmin"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2026-01-10","updated":"2026-01-10","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-site-collection-ownership-validation","url":"https://pnp.github.io/script-samples/samples/spo-site-collection-ownership-validation/","legacyUrl":"https://pnp.github.io/script-samples/spo-site-collection-ownership-validation/README.html","previews":[{"src":"/script-samples/spo-site-collection-ownership-validation/assets/preview.png","alt":"Preview of the sample Site Collection Ownership Validation"}],"commandReferences":[{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPSiteCollectionAdmin","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteCollectionAdmin.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"teams-migrate-channelmessages","title":"Migrate Teams Channel Messages","description":"This script migrates messages and files from one channel to another.","products":["graph","teams"],"categories":["Modernize","Data","Provision"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2026-01-07","updated":"2026-01-07","authors":[{"handle":"maher256","name":"Matt Maher","pictureUrl":"https://github.com/maher256.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-migrate-channelmessages","url":"https://pnp.github.io/script-samples/samples/teams-migrate-channelmessages/","legacyUrl":"https://pnp.github.io/script-samples/teams-migrate-channelmessages/README.html","previews":[{"src":"/script-samples/teams-migrate-channelmessages/assets/preview.png","alt":"Preview of the sample Migrate Teams Channel Messages"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":4},{"slug":"aad-audit-directory-role-assignments","title":"Audit Azure AD (Entra ID) Role Assignments","description":"This script audits all privileged Entra ID directory role assignments across a Microsoft 365 tenant","products":["graph"],"categories":["Report"],"tags":["Get-MgRoleManagementDirectoryRoleAssignment","Get-MgRoleManagementDirectoryRoleDefinition","Get-MgUser","Get-MgGroup"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2026-01-03","updated":"2026-01-03","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-audit-directory-role-assignments","url":"https://pnp.github.io/script-samples/samples/aad-audit-directory-role-assignments/","legacyUrl":"https://pnp.github.io/script-samples/aad-audit-directory-role-assignments/README.html","previews":[{"src":"/script-samples/aad-audit-directory-role-assignments/assets/preview.png","alt":"Preview of the sample Audit Azure AD (Entra ID) Role Assignments"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"onedrive-export-admins","title":"Export OneDrive Admins","description":"Exports every OneDrive in the tenant, and the site collection admins. Audit which admins have access to user OneDrives.","products":["sharepoint"],"categories":["Report","Security"],"tags":["classic"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2022-04-16","updated":"2025-12-18","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"Maher256","name":"Matt Maher","pictureUrl":"https://github.com/Maher256.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/onedrive-export-admins","url":"https://pnp.github.io/script-samples/samples/onedrive-export-admins/","legacyUrl":"https://pnp.github.io/script-samples/onedrive-export-admins/README.html","previews":[{"src":"/script-samples/onedrive-export-admins/assets/OneDriveAdmins.png","alt":"Preview of the sample Export OneDrive Admins"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-entra-id-guest-users-with-elevated-permissions-m365","title":"Get Azure AD (Entra ID) Guest Users with Elevated Permissions (M365)","description":"Identify guest users within a Microsoft 365 tenant who have elevated permissions across various services such as Entra ID, Microsoft Teams, and SharePoint Online.","products":["sharepoint","entra"],"categories":["Report"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2025-12-18","updated":"2025-12-18","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-entra-id-guest-users-with-elevated-permissions-m365","url":"https://pnp.github.io/script-samples/samples/spo-get-entra-id-guest-users-with-elevated-permissions-m365/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-entra-id-guest-users-with-elevated-permissions-m365/README.html","previews":[{"src":"/script-samples/spo-get-entra-id-guest-users-with-elevated-permissions-m365/assets/preview.png","alt":"Preview of the sample Get Azure AD (Entra ID) Guest Users with Elevated Permissions (M365)"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-tenant-site-inventory","title":"List of active sites in Tenant with Admins and storage used","description":"This script provides you the list of active sites in your tenant with their administrator and usage in MB","products":["sharepoint"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","Get-PnPSiteCollectionAdmin","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2023-07-13","updated":"2025-12-18","authors":[{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"Diksha-Bhura","name":"Diksha Bhura","pictureUrl":"https://github.com/Diksha-Bhura.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-tenant-site-inventory","url":"https://pnp.github.io/script-samples/samples/spo-tenant-site-inventory/","legacyUrl":"https://pnp.github.io/script-samples/spo-tenant-site-inventory/README.html","previews":[{"src":"/script-samples/spo-tenant-site-inventory/assets/preview.png","alt":"Preview of the sample List of active sites in Tenant with Admin and storage used."}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPSiteCollectionAdmin","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteCollectionAdmin.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-crawllog-search-debugging","title":"Debugging SharePoint Search by inspecting crawl log","description":"Debugging SharePoint Search by inspecting crawl log","products":["sharepoint"],"categories":["Configure","Report"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPSearchCrawlLog","Submit-PnPSearchQuery","Search","Crawl Log"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2025-12-14","updated":"2025-12-14","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-crawllog-search-debugging","url":"https://pnp.github.io/script-samples/samples/spo-crawllog-search-debugging/","legacyUrl":"https://pnp.github.io/script-samples/spo-crawllog-search-debugging/README.html","previews":[{"src":"/script-samples/spo-crawllog-search-debugging/assets/example.png","alt":"Preview of the issue"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPSearchCrawlLog","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSearchCrawlLog.html"},{"name":"Submit-PnPSearchQuery","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPSearchQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-change-list-url","title":"Change SharePoint Online List URL","description":"This sample script shows how to change SharePoint online list URL and rename the list after list creation using PnP PowerShell","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPList","Set-PnPList"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2025-12-11","updated":"2025-12-11","authors":[{"handle":"ojopiyo","name":"ojopiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-change-list-url","url":"https://pnp.github.io/script-samples/samples/spo-change-list-url/","legacyUrl":"https://pnp.github.io/script-samples/spo-change-list-url/README.html","previews":[{"src":"/script-samples/spo-change-list-url/assets/preview.png","alt":"Preview of the sample Change SharePoint Online List URL"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"get-spo-invalid-user-accounts","title":"Get Site Collection invalid user accounts","description":"Find the user accounts which no longer is valid, export report to CSV","products":["sharepoint","graph"],"categories":["Data","Report","Security"],"tags":["Invoke-PnPGraphMethod","Get-PnPUser","Submit-PnPSearchQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.3.0"}],"created":"2024-01-10","updated":"2025-12-11","authors":[{"handle":"ojopiyo","name":"ojopiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/get-spo-invalid-user-accounts","url":"https://pnp.github.io/script-samples/samples/get-spo-invalid-user-accounts/","legacyUrl":"https://pnp.github.io/script-samples/get-spo-invalid-user-accounts/README.html","previews":[{"src":"/script-samples/get-spo-invalid-user-accounts/assets/preview.png","alt":"Preview of the sample Get Site Collection invalid user accounts"}],"commandReferences":[{"name":"Invoke-PnPGraphMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPGraphMethod.html"},{"name":"Get-PnPUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUser.html"},{"name":"Submit-PnPSearchQuery","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPSearchQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-change-retention-labels","title":"M365 Consultant's Script Kit - Change Retention Labels","description":"This will scan every SharePoint site (or OneDrive URL) and look at every item. When it does this, it will check the retention label for said item. ","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Get-PnPField","Get-PnPList","Get-PnPListItem","Set-PnPList","Set-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2024-04-09","updated":"2025-12-11","authors":[{"handle":"ojopiyo","name":"ojopiyo","pictureUrl":"https://github.com/ojopiyo.png?size=64"},{"handle":"nbrattoli","name":"Nick Brattoli","pictureUrl":"https://github.com/nbrattoli.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-change-retention-labels","url":"https://pnp.github.io/script-samples/samples/spo-change-retention-labels/","legacyUrl":"https://pnp.github.io/script-samples/spo-change-retention-labels/README.html","previews":[{"src":"/script-samples/spo-change-retention-labels/assets/preview.png","alt":"Preview of the sample M365 Consultant's Script Kit - Change Retention Labels"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-cleanup-site-column-usage","title":"Clean Up Unwanted Site Columns from Content Types and Lists/Libraries","description":"We decide we want to trim away a few of the Site Columns we've created, here is the script that does just that","products":["sharepoint"],"categories":["Configure","Report"],"tags":["Connect-PnPOnline","Get-PnPContentType","Get-PnPProperty","Remove-PnPFieldFromContentType","Get-PnPList","Get-PnPField","Remove-PnPField","m365 login","m365 spo contenttype get","m365 spo contenttype field remove","m365 spo list list","m365 spo field get","m365 spo field remove"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.0.0"}],"created":"2021-10-15","updated":"2025-11-18","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"sympmarc","name":"Marc D Anderson","pictureUrl":"https://github.com/sympmarc.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-cleanup-site-column-usage","url":"https://pnp.github.io/script-samples/samples/spo-cleanup-site-column-usage/","legacyUrl":"https://pnp.github.io/script-samples/spo-cleanup-site-column-usage/README.html","previews":[{"src":"/script-samples/spo-cleanup-site-column-usage/assets/preview.png","alt":"Preview of the sample Clean Up Unwanted Site Columns from Content Types and Lists/Libraries"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Remove-PnPFieldFromContentType","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFieldFromContentType.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Remove-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPField.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo contenttype get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/contenttype/contenttype-get"},{"name":"m365 spo contenttype field remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/contenttype/contenttype-field-remove"},{"name":"m365 spo list list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-list"},{"name":"m365 spo field get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-get"},{"name":"m365 spo field remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-remove"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-add-dummy-folders-and-files","title":"Add dummy folders and files to a SharePoint library","description":"This sample shows how to add dummy folders and files into a SharePoint library, generating files within folders to perform testing.","products":["sharepoint"],"categories":["Configure","Data","Provision"],"tags":["Connect-PnPOnline","Add-PnPFolder","Add-PnPFile","m365 login","m365 spo folder add","m365 spo file add","Get-ChildItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.0.0"}],"created":"2022-11-13","updated":"2025-11-16","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-dummy-folders-and-files","url":"https://pnp.github.io/script-samples/samples/spo-add-dummy-folders-and-files/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-dummy-folders-and-files/README.html","previews":[{"src":"/script-samples/spo-add-dummy-folders-and-files/assets/preview.png","alt":"Preview of the sample Add dummy folders and files to a SharePoint library"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFolder.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo folder add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/folder/folder-add"},{"name":"m365 spo file add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-add-fields-to-contenttypes","title":"Create fields and add to Content Types","description":"Script to create site columns and add them to content types","products":["sharepoint"],"categories":["Provision"],"tags":["Connect-PnPOnline","Get-PnPField","Add-PnPFieldFromXml","Add-PnPFieldToContentType","m365 spo field list","m365 spo field add","m365 spo contenttype get","m365 spo contenttype field set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.0.0"}],"created":"2023-09-06","updated":"2025-11-12","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"ahamedfazil","name":"Ahamed Fazil Buhari","pictureUrl":"https://github.com/ahamedfazil.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-fields-to-contenttypes","url":"https://pnp.github.io/script-samples/samples/spo-add-fields-to-contenttypes/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-fields-to-contenttypes/README.html","previews":[{"src":"/script-samples/spo-add-fields-to-contenttypes/assets/preview.png","alt":"Create fields and add to Content Types"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Add-PnPFieldFromXml","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFieldFromXml.html"},{"name":"Add-PnPFieldToContentType","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFieldToContentType.html"},{"name":"m365 spo field list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-list"},{"name":"m365 spo field add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-add"},{"name":"m365 spo contenttype get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/contenttype/contenttype-get"},{"name":"m365 spo contenttype field set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/contenttype/contenttype-field-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"aad-ensure-ownersaremembers-m365groups","title":"Ensuring m365 group owners are m365 group members","description":"Ensuring m365 group owners are m365 group members","products":["entra","sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Microsoft 365 Groups","Connect-PnPOnline","Get-PnPTenantSite","Get-PnPMicrosoft365GroupOwner","Get-PnPMicrosoft365GroupMember","Add-PnPMicrosoft365GroupMember","m365 login","m365 spo site list","m365 entra m365group user list","m365 entra m365group user add","Governance"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.0.0"}],"created":"2023-10-29","updated":"2025-11-11","authors":[{"handle":"mkm17","name":"Michał Kornet","pictureUrl":"https://github.com/mkm17.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-ensure-ownersaremembers-m365groups","url":"https://pnp.github.io/script-samples/samples/aad-ensure-ownersaremembers-m365groups/","legacyUrl":"https://pnp.github.io/script-samples/aad-ensure-ownersaremembers-m365groups/README.html","previews":[{"src":"/script-samples/aad-ensure-ownersaremembers-m365groups/assets/preview.png","alt":"Preview of the sample Ensuring m365 group owners are m365 group members"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupOwner.html"},{"name":"Get-PnPMicrosoft365GroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupMember.html"},{"name":"Add-PnPMicrosoft365GroupMember","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPMicrosoft365GroupMember.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 entra m365group user list","url":"https://pnp.github.io/cli-microsoft365/cmd/entra/m365group/m365group-user-list"},{"name":"m365 entra m365group user add","url":"https://pnp.github.io/cli-microsoft365/cmd/entra/m365group/m365group-user-add"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"aad-replace-owner-with-a-different-one","title":"Replace an owner in a Microsoft 365 Group or Microsoft Team","description":"Find all the Microsoft 365 Groups that a user is an Owner of and replace them with someone","products":["entra","teams"],"categories":["Configure","Security"],"tags":["Microsoft 365 Groups","Microsoft Teams","Governance","Add-PnPMicrosoft365GroupOwner","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPMicrosoft365Group","Get-PnPMicrosoft365GroupOwner","Remove-PnPMicrosoft365Group","Remove-PnPMicrosoft365GroupOwner","m365 login","m365 entra m365group list","m365 entra m365group user list","m365 entra m365group user add","m365 entra m365group user remove"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"11.0.0"}],"created":"2021-05-04","updated":"2025-11-11","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-replace-owner-with-a-different-one","url":"https://pnp.github.io/script-samples/samples/aad-replace-owner-with-a-different-one/","legacyUrl":"https://pnp.github.io/script-samples/aad-replace-owner-with-a-different-one/README.html","previews":[{"src":"/script-samples/aad-replace-owner-with-a-different-one/assets/preview.png","alt":"preview image for the sample Replace an owner in a Microsoft 365 Group or Microsoft Team"}],"commandReferences":[{"name":"Add-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPMicrosoft365GroupOwner.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"},{"name":"Get-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupOwner.html"},{"name":"Remove-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPMicrosoft365Group.html"},{"name":"Remove-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPMicrosoft365GroupOwner.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 entra m365group list","url":"https://pnp.github.io/cli-microsoft365/cmd/entra/m365group/m365group-list"},{"name":"m365 entra m365group user list","url":"https://pnp.github.io/cli-microsoft365/cmd/entra/m365group/m365group-user-list"},{"name":"m365 entra m365group user add","url":"https://pnp.github.io/cli-microsoft365/cmd/entra/m365group/m365group-user-add"},{"name":"m365 entra m365group user remove","url":"https://pnp.github.io/cli-microsoft365/cmd/entra/m365group/m365group-user-remove"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"graph-get-users-export-to-csv","title":"Export Microsoft 365 Active Users to CSV Using Microsoft Graph (Cross-Platform)","description":"This PowerShell script exports Microsoft 365 users — including properties into a CSV file using the Microsoft Graph API.","products":["graph"],"categories":["Data","Report"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2025-11-02","updated":"2025-11-02","authors":[{"handle":"divya-akula","name":"Divya Akula","pictureUrl":"https://github.com/divya-akula.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-get-users-export-to-csv","url":"https://pnp.github.io/script-samples/samples/graph-get-users-export-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/graph-get-users-export-to-csv/README.html","previews":[{"src":"/script-samples/graph-get-users-export-to-csv/assets/preview.jpg","alt":"Preview of the sample Export Microsoft 365 Active Users to CSV Using Microsoft Graph (Cross-Platform)"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"azure-devops-clone-all-repositories","title":"Clone all repositories from Azure DevOps","description":"A secure, user-friendly PowerShell script to clone all accessible Git repositories from an Azure DevOps organization","products":["azure"],"categories":["Configure"],"tags":["az extension add --name azure-devops","az login","az devops configure","az devops project","Clone-Repo"],"tools":[{"id":"AZURE-CLI","label":"Azure CLI","version":"2.27.0"}],"created":"2025-10-29","updated":"2025-10-29","authors":[{"handle":"HarminderSethi","name":"Harminder Singh","pictureUrl":"https://github.com/HarminderSethi.png?size=64"}],"references":[{"name":"Want to learn more about Azure CLI and the commands","description":"Check out the Azure CLI documentation site to get started and for the reference to the commands.","url":"https://learn.microsoft.com/cli/azure/"},{"name":"Want to learn more about Azure CLI and the commands","description":"Check out the Azure CLI documentation site to get started and for the reference to the commands.","url":"https://learn.microsoft.com/cli/azure/"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/azure-devops-clone-all-repositories","url":"https://pnp.github.io/script-samples/samples/azure-devops-clone-all-repositories/","legacyUrl":"https://pnp.github.io/script-samples/azure-devops-clone-all-repositories/README.html","previews":[{"src":"/script-samples/azure-devops-clone-all-repositories/assets/preview.png","alt":"Preview of the sample Clone all repositories from Azure DevOps"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-webhook-subscription-maintenance","title":"Maintain and Replace SharePoint List Webhook Subscriptions","description":"This script checks SharePoint sites and specific list, removes old webhook URLs, and adds or replaces them with updated Power Automate webhook subscriptions.","products":["sharepoint","graph","power-automate"],"categories":["Data","Deploy","Provision","Configure","Report"],"tags":["Connect-PnPOnline","Get-PnPWebhookSubscription","Remove-PnPWebhookSubscription","New-PnPWebhookSubscription","Webhooks"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2025-10-28","updated":"2025-10-28","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-webhook-subscription-maintenance","url":"https://pnp.github.io/script-samples/samples/spo-webhook-subscription-maintenance/","legacyUrl":"https://pnp.github.io/script-samples/spo-webhook-subscription-maintenance/README.html","previews":[{"src":"/script-samples/spo-webhook-subscription-maintenance/assets/preview.png","alt":"Preview of the sample Maintain and Replace SharePoint List Webhook Subscriptions"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWebhookSubscription","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWebhookSubscription.html"},{"name":"Remove-PnPWebhookSubscription","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPWebhookSubscription.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-clean-comments","title":"SharePoint Clean Comments","description":"Removes or disables all comments in a site collection including by user","products":["sharepoint"],"categories":["Modernize","Data","Deploy","Provision","Configure","Report","Security","AI","Microsoft Copilot"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2025-10-24","updated":"2025-10-24","authors":[{"handle":"GeorgiaGit","name":"Andrew Burns","pictureUrl":"https://github.com/GeorgiaGit.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-clean-comments","url":"https://pnp.github.io/script-samples/samples/spo-clean-comments/","legacyUrl":"https://pnp.github.io/script-samples/spo-clean-comments/README.html","previews":[{"src":"/script-samples/spo-clean-comments/assets/preview.png","alt":"Preview of the sample SharePointCleanComments"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-remote-event-receivers","title":"Find all Remote Event Receivers in a SharePoint Online site","description":"Identify all your Remote Event Receivers in SharePoint Online before they are deprecated.","products":["sharepoint"],"categories":["Modernize"],"tags":["Get-PnPEventReceiver","Get-PnPList","Get-PnPTenantSite","Connect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2025-10-17","updated":"2025-10-17","authors":[{"handle":"tanddant","name":"Dan Toft","pictureUrl":"https://github.com/tanddant.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remote-event-receivers","url":"https://pnp.github.io/script-samples/samples/spo-remote-event-receivers/","legacyUrl":"https://pnp.github.io/script-samples/spo-remote-event-receivers/README.html","previews":[{"src":"/script-samples/spo-remote-event-receivers/assets/preview.png","alt":"Preview of the sample Find all Remote Event Receivers in a SharePoint Online site"}],"commandReferences":[{"name":"Get-PnPEventReceiver","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPEventReceiver.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-lookup-field","title":"Updates a SharePoint Online lookup column to reference a lookup list","description":"Updates a SharePoint Online lookup column to reference a lookup list","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPList","Get-PnPField","Set-PnPField"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2025-09-19","updated":"2025-09-19","authors":[{"handle":"HarminderSethi","name":"Harminder Singh","pictureUrl":"https://github.com/HarminderSethi.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-lookup-field","url":"https://pnp.github.io/script-samples/samples/spo-update-lookup-field/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-lookup-field/README.html","previews":[{"src":"/script-samples/spo-update-lookup-field/assets/LookupField.png","alt":"Preview of the sample Updates a SharePoint Online lookup column to reference a lookup list"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Set-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPField.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"flow-get-https-triggers-flows-callbackurls","title":"Get Flows with Http Request Recieved as Trigger","description":"This script Gets all the flows with Http Request Received as Trigger","products":["power-automate"],"categories":["Report"],"tags":["m365 login","m365 flow get","m365 flow list"],"tools":[{"id":"POWERAPPS-POWERSHELL","label":"Power Apps PowerShell","version":"2.0.0"}],"created":"2025-09-16","updated":"2025-09-16","authors":[{"handle":"siddharth-vaghasia","name":"Siddharth Vaghasia","pictureUrl":"https://github.com/siddharth-vaghasia.png?size=64"}],"references":[{"name":"Want to learn more about Power Apps PowerShell and the cmdlets","description":"Check out the Power Apps PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/power-platform/admin/powerapps-powershell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/flow-get-https-triggers-flows-callbackurls","url":"https://pnp.github.io/script-samples/samples/flow-get-https-triggers-flows-callbackurls/","legacyUrl":"https://pnp.github.io/script-samples/flow-get-https-triggers-flows-callbackurls/README.html","previews":[{"src":"/script-samples/flow-get-https-triggers-flows-callbackurls/assets/preview.png","alt":"Preview of the sample Get Flows with Http Request Recieved as Trigger"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 flow get","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/flow-get"},{"name":"m365 flow list","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/flow-list"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-delete-empty-folders","title":"Delete Empty Folders in SharePoint Document Library with PnP PowerShell","description":"This script identifies and deletes empty folders in a SharePoint document library using PnP PowerShell","products":["sharepoint"],"categories":["Data","Configure"],"tags":["Connect-PnPOnline","Get-PnPFolderItem","Get-PnPFolderStorageMetric","Remove-PnPFolder","Get-PnPList","Get-PnPWeb","Cleanup","Maintenance"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"}],"created":"2025-09-02","updated":"2025-09-02","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the commands","description":"Check out the PnP PowerShell site to get started and for the reference to the commands.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-delete-empty-folders","url":"https://pnp.github.io/script-samples/samples/spo-delete-empty-folders/","legacyUrl":"https://pnp.github.io/script-samples/spo-delete-empty-folders/README.html","previews":[{"src":"/script-samples/spo-delete-empty-folders/assets/preview.png","alt":"Delete Empty Folders in SharePoint Document Library"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFolderItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderItem.html"},{"name":"Get-PnPFolderStorageMetric","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderStorageMetric.html"},{"name":"Remove-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFolder.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-add-sharepointlibrary-as-tab","title":"Add a SharePoint Document Library as a Tab in Microsoft Teams","description":"This script allows you to add a SharePoint Document Library as a Tab in Microsoft Teams.","products":["teams"],"categories":["Deploy","Provision"],"tags":["Microsoft Teams","Governance","Connect-PnPOnline","Add-PnPTeamsTab","m365 login","m365 teams team get","m365 teams channel get","m365 teams tab add","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.106"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"10.10.0"}],"created":"2025-08-12","updated":"2025-08-12","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-add-sharepointlibrary-as-tab","url":"https://pnp.github.io/script-samples/samples/teams-add-sharepointlibrary-as-tab/","legacyUrl":"https://pnp.github.io/script-samples/teams-add-sharepointlibrary-as-tab/README.html","previews":[{"src":"/script-samples/teams-add-sharepointlibrary-as-tab/assets/preview.png","alt":"Preview of the sample Add a SharePoint Document Library as a Tab in Microsoft Teams"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPTeamsTab","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPTeamsTab.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 teams team get","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-get"},{"name":"m365 teams channel get","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/channel/channel-get"},{"name":"m365 teams tab add","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/tab/tab-add"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-apply-OOB-sitedesign","title":"Apply Out-of-the-Box SharePoint Site Designs to Existing Sites","description":"Apply Out-of-the-Box SharePoint Site Designs to Existing Sites","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Invoke-PnPSPRestMethod","Sites","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.91"}],"created":"2025-08-01","updated":"2025-08-01","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-apply-OOB-sitedesign","url":"https://pnp.github.io/script-samples/samples/spo-apply-OOB-sitedesign/","legacyUrl":"https://pnp.github.io/script-samples/spo-apply-OOB-sitedesign/README.html","previews":[{"src":"/script-samples/spo-apply-OOB-sitedesign/assets/preview.png","alt":"Preview of the sample Apply Out-of-the-Box SharePoint Site Designs to Existing Sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-list-contenttype-migration","title":"SharePoint List Content Type Migration with Data Preservation","description":"Migrate SharePoint list to new content type while preserving all existing data","products":["sharepoint"],"categories":["Modernize","Data"],"tags":["Connect-PnPOnline","Set-PnPList","Get-PnPListItem","Remove-PnPField","Invoke-PnPSiteTemplate","Get-PnPContentType","Add-PnPContentTypeToList","Set-PnPListItem","Disconnect-PnPOnline","Migration"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2025-07-29","updated":"2025-07-29","authors":[{"handle":"jeppesc11","name":"Jeppe Spanggaard","pictureUrl":"https://github.com/jeppesc11.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-contenttype-migration","url":"https://pnp.github.io/script-samples/samples/spo-list-contenttype-migration/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-contenttype-migration/README.html","previews":[{"src":"/script-samples/spo-list-contenttype-migration/assets/preview.png","alt":"Preview of SharePoint List Content Type Migration with Data Preservation"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Remove-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPField.html"},{"name":"Invoke-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSiteTemplate.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Add-PnPContentTypeToList","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentTypeToList.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":0,"codeBlockCount":1},{"slug":"spo-create-sharepoint-faq-page","title":"Create a basic SharePoint FAQ page","description":"This script creates a basic FAQ page in SharePoint using a CSV file as the source.","products":["sharepoint"],"categories":["Report"],"tags":["m365 login","m365 status","m365 spo page section add","m365 logout"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"10.9.0"}],"created":"2025-07-27","updated":"2025-07-27","authors":[{"handle":"mkm17","name":"Michał Kornet","pictureUrl":"https://github.com/mkm17.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-create-sharepoint-faq-page","url":"https://pnp.github.io/script-samples/samples/spo-create-sharepoint-faq-page/","legacyUrl":"https://pnp.github.io/script-samples/spo-create-sharepoint-faq-page/README.html","previews":[{"src":"/script-samples/spo-create-sharepoint-faq-page/assets/preview.png","alt":"Preview of the sample spo-create-sharepoint-faq-page"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo page section add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-section-add"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-provision-folders-libraries","title":"Exporting and Migrating SharePoint Libraries with Folders","description":"Exporting and Migrating SharePoint Libraries with Folders.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPList","Add-PnPListFoldersToSiteTemplate","Libraries","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.91"}],"created":"2025-07-18","updated":"2025-07-18","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-provision-folders-libraries","url":"https://pnp.github.io/script-samples/samples/spo-provision-folders-libraries/","legacyUrl":"https://pnp.github.io/script-samples/spo-provision-folders-libraries/README.html","previews":[{"src":"/script-samples/spo-provision-folders-libraries/assets/preview.png","alt":"Preview of the sample Exporting and Migrating SharePoint Libraries with Folders"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Add-PnPListFoldersToSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListFoldersToSiteTemplate.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-canonical-url-from-sharinglink","title":"Converting SharePoint Sharing Links to Canonical URLs","description":"Converting SharePoint Sharing Links to Canonical URLs","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPFolderSharingLink","Get-PnPFileSharingLink","Sites","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.41"}],"created":"2025-07-16","updated":"2025-07-16","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-canonical-url-from-sharinglink","url":"https://pnp.github.io/script-samples/samples/spo-get-canonical-url-from-sharinglink/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-canonical-url-from-sharinglink/README.html","previews":[{"src":"/script-samples/spo-get-canonical-url-from-sharinglink/assets/preview.png","alt":"Preview of the sample Converting SharePoint Sharing Links to Canonical URLs"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPFolderSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderSharingLink.html"},{"name":"Get-PnPFileSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFileSharingLink.html"}],"scriptTabCount":1,"codeBlockCount":3},{"slug":"copilot-studio-assets-automation","title":"Copilot Studio assets automation","description":"Script prompt/import/export of embeddings, actions, prompt libraries.","products":["graph","azure","copilot"],"categories":["Modernize","Data","Deploy","Provision","Configure","Report","Security","AI","Microsoft Copilot"],"tags":["Copilot Studio","Automation","Embeddings","Actions","Prompt Libraries","Graph PowerShell","CLI for Microsoft 365"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.6.0"}],"created":"2025-07-16","updated":"2025-07-16","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/copilot-studio-assets-automation","url":"https://pnp.github.io/script-samples/samples/copilot-studio-assets-automation/","legacyUrl":"https://pnp.github.io/script-samples/copilot-studio-assets-automation/README.html","previews":[{"src":"/script-samples/copilot-studio-assets-automation/assets/preview.png","alt":"Preview of the sample Copilot Studio assets automation"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":5},{"slug":"tenant-governance-compliance-report","title":"Tenant Governance Compliance Report","description":"Auto-collect stale Teams/sites, label stats, Purview scans using CLI for M365, Graph PowerShell, and Azure CLI","products":["sharepoint","graph","teams","azure","copilot"],"categories":["Report","Security","Data","Configure"],"tags":["m365 spo site list","m365 teams team list","Get-MgInformationProtectionPolicyLabel","Get-MgSecurityAlert","az purview account list","az purview scan list","az group list","Connect-MgGraph","Disconnect-MgGraph","governance","compliance","purview","sensitivity labels","stale content"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.6.0"},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"2.0.0"},{"id":"AZURE-CLI","label":"Azure CLI","version":"2.50.0"}],"created":"2025-07-16","updated":"2025-07-16","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/tenant-governance-compliance-report","url":"https://pnp.github.io/script-samples/samples/tenant-governance-compliance-report/","legacyUrl":"https://pnp.github.io/script-samples/tenant-governance-compliance-report/README.html","previews":[{"src":"/script-samples/tenant-governance-compliance-report/assets/preview.png","alt":"Preview of the sample Tenant Governance Compliance Report"}],"commandReferences":[{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 teams team list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-list"}],"scriptTabCount":1,"codeBlockCount":9},{"slug":"spo-restore-multiple-items","title":"SPO Restore Multiple Items","description":"Sometimes, there's a need to restore files that were accidentally deleted by users. ","products":["sharepoint"],"categories":["Data"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2025-06-20","updated":"2025-06-20","authors":[{"handle":"pbadoni","name":"Pankaj Badoni","pictureUrl":"https://github.com/pbadoni.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-restore-multiple-items","url":"https://pnp.github.io/script-samples/samples/spo-restore-multiple-items/","legacyUrl":"https://pnp.github.io/script-samples/spo-restore-multiple-items/README.html","previews":[{"src":"/script-samples/spo-restore-multiple-items/assets/preview.png","alt":"Preview of the sample spo-restore-multiple-items"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-list-spfx-field-customizer","title":"List all SPFx field customizer","description":"List all SPFx field customizers","products":["sharepoint"],"categories":["Modernize","Data","Report"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPField"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2025-06-18","updated":"2025-06-18","authors":[{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"},{"name":"Want to learn more about Power Apps PowerShell and the cmdlets","description":"Check out the Power Apps PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/power-platform/admin/powerapps-powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about Microsoft Teams PowerShell and the cmdlets","description":"Check out the Microsoft Teams PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/microsoftteams/teams-powershell-overview"},{"name":"Want to learn more about Azure CLI and the commands","description":"Check out the Azure CLI documentation site to get started and for the reference to the commands.","url":"https://learn.microsoft.com/cli/azure/"},{"name":"Want to learn more about Whiteboard Admin cmdlets","description":"Check out the Whiteboard Admin cmdlets documentation site to get started and for the reference to the commands.","url":"https://learn.microsoft.com/powershell/module/whiteboard"},{"name":"Want to learn more about Teams Toolkit CLI","description":"Check out the documentation site to get started and for the reference on performing operations on agents","url":"https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/teams-toolkit-cli?pivots=version-three"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-spfx-field-customizer","url":"https://pnp.github.io/script-samples/samples/spo-list-spfx-field-customizer/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-spfx-field-customizer/README.html","previews":[{"src":"/script-samples/spo-list-spfx-field-customizer/assets/preview.png","alt":"Preview of the sample List all SPFx field customizer"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-document-sets-modern-new-form","title":"Enable modern creation forms for Document sets","description":"This sample script shows how to enable modern creation forms for Document sets in SharePoint online site.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","SharePoint Online","Connect-PnPOnline","Get-PnPList","Get-PnPContentType","Invoke-PnPQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-05-07","updated":"2025-06-12","authors":[{"handle":"sympmarc","name":"Marc D Anderson","pictureUrl":"https://github.com/sympmarc.png?size=64"},{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-document-sets-modern-new-form","url":"https://pnp.github.io/script-samples/samples/spo-document-sets-modern-new-form/","legacyUrl":"https://pnp.github.io/script-samples/spo-document-sets-modern-new-form/README.html","previews":[{"src":"/script-samples/spo-document-sets-modern-new-form/assets/output.png","alt":"Preview of the sample Enable modern creation forms for Document sets"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-delete-hub-and-sites","title":"Delete entire Hub site structure","description":"This script deletes all site in a Hub and finally the Hub site itself","products":["sharepoint"],"categories":["Provision","Configure"],"tags":["Remove-PnPTenantSite","Get-pnpHubSiteChild","Unregister-PnPHubSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2025-06-09","updated":"2025-06-09","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-delete-hub-and-sites","url":"https://pnp.github.io/script-samples/samples/spo-delete-hub-and-sites/","legacyUrl":"https://pnp.github.io/script-samples/spo-delete-hub-and-sites/README.html","previews":[{"src":"/script-samples/spo-delete-hub-and-sites/assets/preview.png","alt":"Preview of the sample Delete entire Hub site structure"}],"commandReferences":[{"name":"Remove-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPTenantSite.html"},{"name":"Get-pnpHubSiteChild","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSiteChild.html"},{"name":"Unregister-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Unregister-PnPHubSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-sharepoint-alerts-audit","title":"SharePoint Online - Export SharePoint Alerts","description":"This PowerShell script scans your SharePoint Online environment and exports a list of all classic SharePoint Alerts configured by users across all site collections.","products":["sharepoint"],"categories":["Report"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"}],"created":"2025-06-08","updated":"2025-06-08","authors":[{"handle":"tvahk","name":"Tanel Vahk","pictureUrl":"https://github.com/tvahk.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-sharepoint-alerts-audit","url":"https://pnp.github.io/script-samples/samples/spo-sharepoint-alerts-audit/","legacyUrl":"https://pnp.github.io/script-samples/spo-sharepoint-alerts-audit/README.html","previews":[{"src":"/script-samples/spo-sharepoint-alerts-audit/assets/preview.png","alt":"Preview of the sample SharePoint Online - Export SharePoint Alerts"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-rename-hub-siteurl","title":"Renaming a SharePoint Hub Site URL","description":"How to Safely Rename a SharePoint Hub Site URL","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPTenantSite","Get-PnPHubSite","Get-PnPHubSiteChild","Unregister-PnPHubSite","Rename-PnPTenantSite","Remove-PnPTenantSite","Register-PnPHubSite","Sites","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.41"}],"created":"2025-05-28","updated":"2025-05-28","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-rename-hub-siteurl","url":"https://pnp.github.io/script-samples/samples/spo-rename-hub-siteurl/","legacyUrl":"https://pnp.github.io/script-samples/spo-rename-hub-siteurl/README.html","previews":[{"src":"/script-samples/spo-rename-hub-siteurl/assets/preview.png","alt":"Preview of the sample Renaming a SharePoint Hub Site URL"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSite.html"},{"name":"Get-PnPHubSiteChild","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSiteChild.html"},{"name":"Unregister-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Unregister-PnPHubSite.html"},{"name":"Rename-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Rename-PnPTenantSite.html"},{"name":"Remove-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPTenantSite.html"},{"name":"Register-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Register-PnPHubSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-list-shared-channels","title":"Teams List Shared Channels & External-Tenant Detector","description":"This script lists all shared channels across Teams, identifies external tenant connections, and generates a detailed report.","products":["sharepoint","graph","teams","azure"],"categories":["Modernize","Data","Deploy","Provision","Configure","Report","Security"],"tags":["Get-Team","Get-TeamChannel","Get-TeamChannelUser","Get-TeamUser","Get-MgTeam","Get-MgTeamChannel","Get-MgTeamChannelMember"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2025-05-27","updated":"2025-05-27","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-list-shared-channels","url":"https://pnp.github.io/script-samples/samples/teams-list-shared-channels/","legacyUrl":"https://pnp.github.io/script-samples/teams-list-shared-channels/README.html","previews":[{"src":"/script-samples/teams-list-shared-channels/assets/preview.png","alt":"Preview of the sample Shared-Channels inventory & external-tenant detector"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-update-contentype-from-hub","title":"Update Content type from Hub on sites","description":"This script will update a specific Content type from the Hub on the sites where it is used","products":["sharepoint"],"categories":["Deploy","Provision","Configure","Report"],"tags":["Get-PnPContentType","Add-PnPContentTypesFromContentTypeHub"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"}],"created":"2025-05-22","updated":"2025-05-27","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-contentype-from-hub","url":"https://pnp.github.io/script-samples/samples/spo-update-contentype-from-hub/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-contentype-from-hub/README.html","previews":[{"src":"/script-samples/spo-update-contentype-from-hub/assets/preview.png","alt":"Preview of the sample Update Content type from Hub on sites"}],"commandReferences":[{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Add-PnPContentTypesFromContentTypeHub","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentTypesFromContentTypeHub.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-documentset-configuration","title":"Configure SharePoint Document Set","description":"This script streamlines the setup of Document Sets across multiple libraries by enabling the feature, customisting and integrating into document libraries.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPField","Set-PnPField","Invoke-PnPQuery","Get-PnPView","Add-PnPDocumentSet","Get-PnPListItem","Set-PnPListItem","Set-PnPDefaultContentTypeToList","Add-PnPContentTypeToList","Set-PnPList","Get-PnPList","Add-PnPFieldToContentType","Add-PnPContentType","Enable-PnPFeature","Libraries","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.0"}],"created":"2025-05-18","updated":"2025-05-25","authors":[{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-documentset-configuration","url":"https://pnp.github.io/script-samples/samples/spo-documentset-configuration/","legacyUrl":"https://pnp.github.io/script-samples/spo-documentset-configuration/README.html","previews":[{"src":"/script-samples/spo-documentset-configuration/assets/preview.png","alt":"Preview of the sample Configure SharePoint Document Set"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Set-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPField.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"},{"name":"Get-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPView.html"},{"name":"Add-PnPDocumentSet","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPDocumentSet.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"},{"name":"Set-PnPDefaultContentTypeToList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPDefaultContentTypeToList.html"},{"name":"Add-PnPContentTypeToList","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentTypeToList.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Add-PnPFieldToContentType","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFieldToContentType.html"},{"name":"Add-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentType.html"},{"name":"Enable-PnPFeature","url":"https://pnp.github.io/powershell/cmdlets/Enable-PnPFeature.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-export-compare-conditional-access-policies","title":"Export & Compare Conditional-Access Policies (drift-detect)","description":"This script exports Conditional Access Policies to JSON, stores them for version control, and detects changes between runs.","products":["graph","azure","microsoft-365","entra"],"categories":["Security","Report","Configure"],"tags":["Microsoft Graph","Conditional Access","Security","Configuration drift","Policy management","Connect-MgGraph","Invoke-MgGraphRequest","Compare-Object","Monitor"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2025-05-25","updated":"2025-05-25","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-export-compare-conditional-access-policies","url":"https://pnp.github.io/script-samples/samples/aad-export-compare-conditional-access-policies/","legacyUrl":"https://pnp.github.io/script-samples/aad-export-compare-conditional-access-policies/README.html","previews":[{"src":"/script-samples/aad-export-compare-conditional-access-policies/assets/preview.png","alt":"Preview of the sample Export & Compare Conditional-Access Policies (drift-detect)"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-duplicate-files","title":"Export duplicate files from SharePoint Online","description":"Export duplicate files from SharePoint Online document libraries.","products":["sharepoint","graph"],"categories":["Data","Report"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.1.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.4.6"}],"created":"2025-05-25","updated":"2025-05-25","authors":[{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-duplicate-files","url":"https://pnp.github.io/script-samples/samples/spo-export-duplicate-files/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-duplicate-files/README.html","previews":[{"src":"/script-samples/spo-export-duplicate-files/assets/preview.png","alt":"Preview of the sample Export duplicate files from SharePoint Online"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-access-review-manager","title":"Kick-off & download Access-Review results across all groups","description":"This script enumerates all access-review definitions, triggers overdue reviews, polls for completion, and exports decisions to CSV for audit.","products":["sharepoint","microsoft-365","graph","power-platform","teams","power-automate","todo","azure","copilot"],"categories":["Modernize","Data","Deploy","Provision","Configure","Report","Security","AI","Microsoft Copilot"],"tags":["Get-MgIdentityGovernanceAccessReview","Start-MgIdentityGovernanceAccessReview","Get-MgIdentityGovernanceAccessReviewDecision","Export-Csv"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2025-05-25","updated":"2025-05-25","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-access-review-manager","url":"https://pnp.github.io/script-samples/samples/aad-access-review-manager/","legacyUrl":"https://pnp.github.io/script-samples/aad-access-review-manager/README.html","previews":[{"src":"/script-samples/aad-access-review-manager/assets/preview.png","alt":"Preview of the sample Kick-off & download Access-Review results across all groups"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-deploy-microsoft-clarity-from-csv","title":"Deploy Microsoft Clarity Application Customizer for Site Collections","description":"Deploy and activate the Microsoft Clarity SPFx application customizer to a specific set of sites listed in a csv for a Microsoft Clarity project. ","products":["sharepoint"],"categories":["Deploy"],"tags":["Add-PnPApp","Add-PnPCustomAction","Add-PnPSiteCollectionAppCatalog","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPApp","Get-PnPApplicationCustomizer","Get-PnPSite","Get-PnPSiteCollectionAppCatalog","Install-PnPApp"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2025-05-02","updated":"2025-05-20","authors":[{"handle":"GeorgiaGit","name":"Andrew Burns","pictureUrl":"https://github.com/GeorgiaGit.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-deploy-microsoft-clarity-from-csv","url":"https://pnp.github.io/script-samples/samples/spo-deploy-microsoft-clarity-from-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-deploy-microsoft-clarity-from-csv/README.html","previews":[{"src":"/script-samples/spo-deploy-microsoft-clarity-from-csv/assets/preview.png","alt":"Preview of the sample Deploy Microsoft Clarity Application Customizer for Site Collections"}],"commandReferences":[{"name":"Add-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPApp.html"},{"name":"Add-PnPCustomAction","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPCustomAction.html"},{"name":"Add-PnPSiteCollectionAppCatalog","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPSiteCollectionAppCatalog.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApp.html"},{"name":"Get-PnPApplicationCustomizer","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApplicationCustomizer.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPSiteCollectionAppCatalog","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteCollectionAppCatalog.html"},{"name":"Install-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Install-PnPApp.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"copilot-bulk-deploy-declarative-agents","title":"Bulk Deployment of Teams Toolkit Declarative Agents","description":"This sample deploys multiple Copilot Teams Toolkit declarative agents in bulk using PowerShell and Teams Toolkit CLI.","products":["copilot"],"categories":["Deploy","Microsoft Copilot"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.5.1"}],"created":"2025-05-17","updated":"2025-05-17","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about Teams Toolkit CLI","description":"Check out the documentation site to get started and for the reference on performing operations on agents","url":"https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/teams-toolkit-cli?pivots=version-three"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/copilot-bulk-deploy-declarative-agents","url":"https://pnp.github.io/script-samples/samples/copilot-bulk-deploy-declarative-agents/","legacyUrl":"https://pnp.github.io/script-samples/copilot-bulk-deploy-declarative-agents/README.html","previews":[{"src":"/script-samples/copilot-bulk-deploy-declarative-agents/assets/preview.png","alt":"Preview of the sample Bulk Deployment of Teams Toolkit Agents"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"copilot-teams-toolkit-da-apply-template","title":"Create and apply template to Teams Toolkit Declarative Agent","description":"This script generates a Teams Copilot Declarative Agent and overlaps a template with value replacement","products":["sharepoint","microsoft-365","graph","power-platform","teams","power-automate","todo","azure","copilot"],"categories":["Modernize","Data","Deploy","Provision","Configure","Report","Security","AI","Microsoft Copilot"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.5.1"}],"created":"2025-05-12","updated":"2025-05-12","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about Teams Toolkit CLI","description":"Check out the documentation site to get started and for the reference on performing operations on agents","url":"https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/teams-toolkit-cli?pivots=version-three"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/copilot-teams-toolkit-da-apply-template","url":"https://pnp.github.io/script-samples/samples/copilot-teams-toolkit-da-apply-template/","legacyUrl":"https://pnp.github.io/script-samples/copilot-teams-toolkit-da-apply-template/README.html","previews":[{"src":"/script-samples/copilot-teams-toolkit-da-apply-template/assets/preview.png","alt":"Preview of the sample Create and apply template to Teams Toolkit Declarative Agent"}],"commandReferences":[],"scriptTabCount":5,"codeBlockCount":5},{"slug":"spo-multiline-field-properties","title":"Updating Multiline Text Field Properties in SharePoint","description":"Updating Multiline Text Field Properties in SharePoint","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPField","Set-PnPField","Libraries","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"3.0"}],"created":"2025-05-07","updated":"2025-05-07","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-multiline-field-properties","url":"https://pnp.github.io/script-samples/samples/spo-multiline-field-properties/","legacyUrl":"https://pnp.github.io/script-samples/spo-multiline-field-properties/README.html","previews":[{"src":"/script-samples/spo-multiline-field-properties/assets/preview.png","alt":"Preview of the sample Updating Multiline Text Field Properties in SharePoint"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Set-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPField.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spfx-install-sh","title":"spfx-install.sh","description":"Bash script to install custom version of NodeJs (using nvm) and dependencies for any version of SPFx.","products":["sharepoint","microsoft-365","graph","power-platform","teams","power-automate","todo","azure","copilot"],"categories":["Modernize","Data","Deploy","Provision","Configure","Report","Security","AI","Microsoft Copilot"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"BASH","label":"Bash","version":"NA"}],"created":"2025-04-24","updated":"2025-04-24","authors":[{"handle":"donkirkham","name":"Don Kirkham","pictureUrl":"https://github.com/donkirkham.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spfx-install-sh","url":"https://pnp.github.io/script-samples/samples/spfx-install-sh/","legacyUrl":"https://pnp.github.io/script-samples/spfx-install-sh/README.html","previews":[{"src":"/script-samples/spfx-install-sh/assets/Results1.png","alt":"Preview of the sample spfx-install.sh"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":7},{"slug":"spo-retrieve-effectivepermissions-user","title":"Retrieve Effective Permissions of an user within SharePoint Sites","description":"Retrieve Effective Permissions of an user within SharePoint Sites","products":["sharepoint"],"categories":["Security"],"tags":["modern","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPProperty","Get-PnPGroupMember","Get-PnPMicrosoft365GroupOwners","Get-PnPMicrosoft365GroupMembers","Get-PnPTenantSite","Get-PnPWeb","Get-PnPContext","Get-PnPList","Get-PnPListItem","Permissions","Effective Permissions"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.181"}],"created":"2025-04-19","updated":"2025-04-19","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-retrieve-effectivepermissions-user","url":"https://pnp.github.io/script-samples/samples/spo-retrieve-effectivepermissions-user/","legacyUrl":"https://pnp.github.io/script-samples/spo-retrieve-effectivepermissions-user/README.html","previews":[{"src":"/script-samples/spo-retrieve-effectivepermissions-user/assets/preview.png","alt":"Preview of the sample Retrieve Effective Permissions of an user within SharePoint Sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroupMember.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-configure-documentid-feature","title":"Enabling and Configuring Document ID in SharePoint","description":"The script enables and configures Document ID within a SharePoint site","products":["sharepoint"],"categories":["Configure"],"tags":["Get-PnPTenantSite","Set-PnPSiteDocumentIdPrefix","Enable-PnPFeature","Get-PnPList","Invoke-PnPQuery","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.181"}],"created":"2025-04-08","updated":"2025-04-08","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-configure-documentid-feature","url":"https://pnp.github.io/script-samples/samples/spo-configure-documentid-feature/","legacyUrl":"https://pnp.github.io/script-samples/spo-configure-documentid-feature/README.html","previews":[{"src":"/script-samples/spo-configure-documentid-feature/assets/preview.png","alt":"Preview of the sample Enabling and Configuring Document ID in SharePoint"}],"commandReferences":[{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Set-PnPSiteDocumentIdPrefix","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPSiteDocumentIdPrefix.html"},{"name":"Enable-PnPFeature","url":"https://pnp.github.io/powershell/cmdlets/Enable-PnPFeature.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-pin-field-filterpane","title":"Pins Fields to the Filter Pane in SharePoint Libraries","description":"Pinning Fields to the Filter Pane in SharePoint Libraries.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPField","Set-PnPField","Libraries","SharePoint"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.181"}],"created":"2025-04-08","updated":"2025-04-08","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-pin-field-filterpane","url":"https://pnp.github.io/script-samples/samples/spo-pin-field-filterpane/","legacyUrl":"https://pnp.github.io/script-samples/spo-pin-field-filterpane/README.html","previews":[{"src":"/script-samples/spo-pin-field-filterpane/assets/preview.png","alt":"Preview of the sample Pins Fields to the Filter Pane in SharePoint Libraries"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Set-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPField.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-find-site-creationsource","title":"Identifying SharePoint Site Creation Sources","description":"Understanding how a SharePoint site was created is crucial for governance, compliance, and troubleshooting. In Microsoft 365, SharePoint sites can be created through various methods, such as Microsoft Teams, Viva Engage, the SharePoint Admin Center, and more. However, identifying the exact creation source can sometimes be challenging.","products":["sharepoint"],"categories":["Report"],"tags":["modern","Connect-PnPOnline","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.101"}],"created":"2025-04-01","updated":"2025-04-01","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-find-site-creationsource","url":"https://pnp.github.io/script-samples/samples/spo-find-site-creationsource/","legacyUrl":"https://pnp.github.io/script-samples/spo-find-site-creationsource/README.html","previews":[{"src":"/script-samples/spo-find-site-creationsource/assets/preview.png","alt":"Preview of the sample Identifying SharePoint Site Creation Sources"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-hide-people-who-have-lists-open","title":"Hide people who have lists open","description":"This sample script demonstrates how to hide real-time viewing information in Microsoft Lists.","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-SPOService","Set-SPOSite","Disconnect-SPOService"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.25814.12000"}],"created":"2025-03-12","updated":"2025-03-12","authors":[{"handle":"tecchan1107","name":"Tetsuya Kawahara","pictureUrl":"https://github.com/tecchan1107.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-hide-people-who-have-lists-open","url":"https://pnp.github.io/script-samples/samples/spo-hide-people-who-have-lists-open/","legacyUrl":"https://pnp.github.io/script-samples/spo-hide-people-who-have-lists-open/README.html","previews":[{"src":"/script-samples/spo-hide-people-who-have-lists-open/assets/example.png","alt":"Screenshot of the example"}],"commandReferences":[{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Set-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Set-SPOSite"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-libraries-with-webhooks","title":"Scan libraries for webhook and export to csv","description":"Scanning document libraries and reporting on those that contains 1 or more webhooks","products":["sharepoint","azure"],"categories":["Deploy","Provision","Configure","Report","Security"],"tags":["Get-PnPWebhookSubscription"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"}],"created":"2025-03-06","updated":"2025-03-06","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-libraries-with-webhooks","url":"https://pnp.github.io/script-samples/samples/spo-get-libraries-with-webhooks/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-libraries-with-webhooks/README.html","previews":[{"src":"/script-samples/spo-get-libraries-with-webhooks/assets/preview.png","alt":"Preview of the sample Scan libraries for webhook and export to csv"}],"commandReferences":[{"name":"Get-PnPWebhookSubscription","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWebhookSubscription.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-mailchimp-integration","title":"Integrate MailChimp Campaigns API with SPO to create wiki pages based on email sent from MailChimp","description":"Demonstrates how to retrieve sent email campaigns from MailChimp, and save them as wiki pages on SPO. The script retrieves the HTML content of the email, downloads all images into a local folder and uploads to a SPO document library, replaces all mccontent image tags to point to SPO, and create and publish a wiki page","products":["sharepoint"],"categories":["Modernize","Data"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2025-02-17","updated":"2025-02-17","authors":[{"handle":"ralisp","name":"R. Ali","pictureUrl":"https://github.com/ralisp.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-mailchimp-integration","url":"https://pnp.github.io/script-samples/samples/spo-mailchimp-integration/","legacyUrl":"https://pnp.github.io/script-samples/spo-mailchimp-integration/README.html","previews":[{"src":"/script-samples/spo-mailchimp-integration/assets/preview.png","alt":"Preview of the sample Integrate MailChimp Campaigns API with SPO to create wiki pages based on email sent from MailChimp"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"azure-ocr-openai-json-invoice-extractor","title":"Get data from OpenAI deployment/model","description":"This sample shows how to use both OpenAI and document intelligene studio to process and extract data in a json format","products":["openai","azure"],"categories":["Report","AI"],"tags":["Invoke-WebRequest","Status","Summary"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2025-01-26","updated":"2025-01-26","authors":[{"handle":"divya-akula","name":"Divya Akula","pictureUrl":"https://github.com/divya-akula.png?size=64"}],"references":[{"name":"Want to learn more about Azure OpenAI AI Deployments","description":"If you're interested in learning more about OpenAI API and its capabilities, this link provides a list of resources and tools to help you get started. Whether you're a developer looking to integrate Open AI into your applications or a researcher exploring the latest advances in artificial intelligence, this guide offers a range of helpful resources, including documentation, tutorials, and community forums.","url":"https://learn.microsoft.com/en-us/azure/ai-studio/what-is-ai-studio"},{"name":"Create and Configure an Azure OpenAI Resource","description":"Learn to create and configure an Azure OpenAI resource using the Azure portal for seamless AI integration.","url":"https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource?pivots=web-portal"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/azure-ocr-openai-json-invoice-extractor","url":"https://pnp.github.io/script-samples/samples/azure-ocr-openai-json-invoice-extractor/","legacyUrl":"https://pnp.github.io/script-samples/azure-ocr-openai-json-invoice-extractor/README.html","previews":[{"src":"/script-samples/azure-ocr-openai-json-invoice-extractor/assets/preview.png","alt":"Preview of the sample Get data from OpenAI deployment/model"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-delete-expired-sharing-link-folder-file-item","title":"Deletes expired and older sharing links for folder, file and item in SharePoint","description":"Deletes expired and older sharing links for folder, file, and item. Currently expired or older sharing links are not automatically deleted","products":["sharepoint","copilot"],"categories":["Report","Microsoft Copilot"],"tags":["modern","Connect-PnPOnline","Get-PnPProperty","Remove-PnPgroup","Get-PnPList","Get-PnPListItem","Sharing Links"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.0"}],"created":"2025-01-13","updated":"2025-01-13","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-delete-expired-sharing-link-folder-file-item","url":"https://pnp.github.io/script-samples/samples/spo-delete-expired-sharing-link-folder-file-item/","legacyUrl":"https://pnp.github.io/script-samples/spo-delete-expired-sharing-link-folder-file-item/README.html","previews":[{"src":"/script-samples/spo-delete-expired-sharing-link-folder-file-item/assets/preview.png","alt":"Preview of the sample Deletes expired and older sharing links for folder, file and item in SharePoint"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Remove-PnPgroup","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPGroup.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-dev-agent-config-creation","title":"Creating SharePoint Agents (.agent Files) with PowerShell","description":"Dyanmic creation of SharePoint Agents (.agent files) using PowerShell. Specify instructions, sample prompts and ground on files, folder, libraries or sites.","products":["sharepoint","copilot"],"categories":["Deploy","Provision","Configure","AI","Microsoft Copilot"],"tags":["Connect-PnPOnline","Submit-PnPSearchQuery","ConvertTo-Json"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.90"}],"created":"2025-01-10","updated":"2025-01-10","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-dev-agent-config-creation","url":"https://pnp.github.io/script-samples/samples/spo-dev-agent-config-creation/","legacyUrl":"https://pnp.github.io/script-samples/spo-dev-agent-config-creation/README.html","previews":[{"src":"/script-samples/spo-dev-agent-config-creation/assets/preview.png","alt":"Preview of the sample Creating SharePoint Agents (.agent Files) with PowerShell"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Submit-PnPSearchQuery","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPSearchQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-delete-companywide-anonymous-sharinglink","title":"Deletes company-wide and anonymous sharing links","description":"Deletes company-wide and anonymous sharing links for folder, file, and item. This can address oversharing issues during the M365 Copilot rollout.","products":["sharepoint","copilot"],"categories":["Report","Microsoft Copilot"],"tags":["modern","Connect-PnPOnline","Get-PnPFileSharingLink","Get-PnPFolderSharingLink","Get-PnPList","Remove-PnPFileSharingLink","Remove-PnPFolderSharingLink","invoke-pnpsprestmethod","Sharing Links"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.90"}],"created":"2025-01-03","updated":"2025-01-03","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-delete-companywide-anonymous-sharinglink","url":"https://pnp.github.io/script-samples/samples/spo-delete-companywide-anonymous-sharinglink/","legacyUrl":"https://pnp.github.io/script-samples/spo-delete-companywide-anonymous-sharinglink/README.html","previews":[{"src":"/script-samples/spo-delete-companywide-anonymous-sharinglink/assets/preview.png","alt":"Preview of the sample Deletes company-wide and anonymous sharing links"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFileSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFileSharingLink.html"},{"name":"Get-PnPFolderSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderSharingLink.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Remove-PnPFileSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFileSharingLink.html"},{"name":"Remove-PnPFolderSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFolderSharingLink.html"},{"name":"invoke-pnpsprestmethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-sp-site-page-viewers-details","title":"Retrieve & Store SharePoint Site Pages Viewers","description":"This script retrieves and stores SharePoint site pages viewers' details.","products":["sharepoint","exchange"],"categories":["Report"],"tags":["SharePoint Online","Exchange Online","Search-UnifiedAuditLog","Connect-PnPOnline","Add-PnPListItem","Audit","Reports"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2025-01-01","updated":"2025-01-01","authors":[{"handle":"Sandeep-FED","name":"Sandeep P S","pictureUrl":"https://github.com/Sandeep-FED.png?size=64"}],"references":[{"name":"More about PnP PowerShell","description":"Learn more about PnP PowerShell and its cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-sp-site-page-viewers-details","url":"https://pnp.github.io/script-samples/samples/spo-get-sp-site-page-viewers-details/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-sp-site-page-viewers-details/README.html","previews":[{"src":"/script-samples/spo-get-sp-site-page-viewers-details/assets/example.png","alt":"Preview of the sample"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-download-all-doclibs","title":"Download all documents from all document libraries in a site, including version history","description":"This PowerShell function will download all documents from all document libraries in a site, including version history. The documents will be saved in a folder structure that matches the library structure.","products":["sharepoint"],"categories":["Data"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"}],"created":"2024-12-11","updated":"2024-12-11","authors":[{"handle":"ToddKlindt","name":"Todd Klindt","pictureUrl":"https://github.com/ToddKlindt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-download-all-doclibs","url":"https://pnp.github.io/script-samples/samples/spo-download-all-doclibs/","legacyUrl":"https://pnp.github.io/script-samples/spo-download-all-doclibs/README.html","previews":[{"src":"/script-samples/spo-download-all-doclibs/assets/preview.png","alt":"Preview of the sample Download all documents from all document libraries in a site, including version history"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-copy-library-across-tenants","title":"Copying a document library between different tenants with resume functionality","description":"This sample shows how to copy a document library including files and folder structure from one tenant to another one. It includes a resume functionality which comes handy for large libraries. Additionally you can specify custom properties which shall also copied to the target.","products":["sharepoint"],"categories":["Configure","Security"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Resolve-PnPFolder","Get-PnPFile","Add-PnPFile"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.4.6"}],"created":"2024-12-10","updated":"2024-12-10","authors":[{"handle":"timtatam","name":"Timo Vomstein","pictureUrl":"https://github.com/timtatam.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-copy-library-across-tenants","url":"https://pnp.github.io/script-samples/samples/spo-copy-library-across-tenants/","legacyUrl":"https://pnp.github.io/script-samples/spo-copy-library-across-tenants/README.html","previews":[{"src":"/script-samples/spo-copy-library-across-tenants/assets/preview.png","alt":"Preview of the sample Copying a document library between different tenants with resume functionality"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Resolve-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Resolve-PnPFolder.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-get-channel-spo-urls","title":"Retrieving SharePoint Site URL for Teams Channels","description":"This script can help to identify the SharePoint Urls associated to private and shared channels. For example, eDiscovery when running against 'Specific Locations' or just for reporting purposes","products":["teams"],"categories":["Report","Configure"],"tags":["Connect-PnPOnline","Get-PnPTeamsTeam","Get-PnPTenantSite","Governance"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.63"},{"id":"POWERSHELL","label":"PowerShell","version":"7.4.5"}],"created":"2024-12-10","updated":"2024-12-10","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-get-channel-spo-urls","url":"https://pnp.github.io/script-samples/samples/teams-get-channel-spo-urls/","legacyUrl":"https://pnp.github.io/script-samples/teams-get-channel-spo-urls/README.html","previews":[{"src":"/script-samples/teams-get-channel-spo-urls/assets/preview.png","alt":"Retrieving SharePoint Site URL for Teams Channels"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTeamsTeam","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsTeam.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-get-duplicate-m365group","title":"Identifying Duplicate Microsoft 365 Group Names","description":"Identifying duplicate M365 Group to ensure each group has a unique name can help to reduce confusion for end users.","products":["microsoft-365"],"categories":["Report","Security","Configure"],"tags":["modern","Connect-PnPOnline","get-PnPMicrosoft365Group","Governance","Microsoft 365 Group"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.63"}],"created":"2024-12-07","updated":"2024-12-07","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-get-duplicate-m365group","url":"https://pnp.github.io/script-samples/samples/aad-get-duplicate-m365group/","legacyUrl":"https://pnp.github.io/script-samples/aad-get-duplicate-m365group/README.html","previews":[{"src":"/script-samples/aad-get-duplicate-m365group/assets/preview.png","alt":"Preview of the sample Identifying Duplicate Microsoft 365 Group Names"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-sites-membership-as-admin","title":"Get sites membership as an admin","description":"The script retrieves information about a site's default group memberships and administrators for SharePoint admins, without requiring permissions for specific SharePoint sites","products":["sharepoint"],"categories":["Data","Report"],"tags":["m365 status","m365 login","m365 spo site admin list","spo tenant site membership list","m365 logout"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"10.2.0"}],"created":"2024-12-06","updated":"2024-12-06","authors":[{"handle":"mkm17","name":"Michał Kornet","pictureUrl":"https://github.com/mkm17.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-sites-membership-as-admin","url":"https://pnp.github.io/script-samples/samples/spo-get-sites-membership-as-admin/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-sites-membership-as-admin/README.html","previews":[{"src":"/script-samples/spo-get-sites-membership-as-admin/assets/preview.png","alt":"Preview of the sample Get sites membership as an admin"}],"commandReferences":[{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site admin list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-admin-list"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-find-links-in-canvas","title":"Find Links in Modern Page","description":"This script iterates through a list of site URLs provided in 'sites-test.csv'. For each site, it then scans these page contents for embedded href tags using regular expressions.","products":["sharepoint"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPListItem","Get-PnPWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"}],"created":"2024-12-03","updated":"2024-12-03","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-find-links-in-canvas","url":"https://pnp.github.io/script-samples/samples/spo-find-links-in-canvas/","legacyUrl":"https://pnp.github.io/script-samples/spo-find-links-in-canvas/README.html","previews":[{"src":"/script-samples/spo-find-links-in-canvas/assets/preview.png","alt":"Preview of the sample Find Links in Modern Page"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-site-list-ids","title":"Get Site Ids to URL","description":"This script takes an input file containing one or more SharePoint Online Site Collection Object IDs and converts them into the full URLs","products":["sharepoint"],"categories":["Report"],"tags":["Connect-PnPOnline","Submit-PnPSearchQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.0"}],"created":"2024-12-01","updated":"2024-12-01","authors":[{"handle":"salarson","name":"Sam Larson","pictureUrl":"https://github.com/salarson.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-site-list-ids","url":"https://pnp.github.io/script-samples/samples/spo-get-site-list-ids/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-site-list-ids/README.html","previews":[{"src":"/script-samples/spo-get-site-list-ids/assets/preview.png","alt":"Preview of the sample Get Site Ids to URL"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Submit-PnPSearchQuery","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPSearchQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-update-m365-global-unified-settings","title":"Update Global Microsoft 365 Group Settings","description":"Configuring Microsoft 365 Group settings is essential for ensuring a secure and compliant environment. This script can be utilized to set up different group settings, such as naming policies and guest access.","products":["microsoft-365"],"categories":["Report","Security","Configure"],"tags":["modern","Connect-PnPOnline","Invoke-PnPGraphMethod","Get-PnPMicrosoft365GroupSettings","Unified Settings","Microsoft 365 Group"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.53"}],"created":"2024-11-24","updated":"2024-11-24","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-update-m365-global-unified-settings","url":"https://pnp.github.io/script-samples/samples/aad-update-m365-global-unified-settings/","legacyUrl":"https://pnp.github.io/script-samples/aad-update-m365-global-unified-settings/README.html","previews":[{"src":"/script-samples/aad-update-m365-global-unified-settings/assets/preview.png","alt":"Preview of the sample Update Global Microsoft 365 Group Settings"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPGraphMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPGraphMethod.html"},{"name":"Get-PnPMicrosoft365GroupSettings","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupSettings.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-everyone-everyoneexceptexternalusers","title":"Audit 'Everyone' and  'Everyone except external users' claim within a SharePoint site","description":"Audit 'Everyone' and  'Everyone except external users' claim within a SharePoint site","products":["sharepoint"],"categories":["Report","Security","Microsoft Copilot"],"tags":["modern","Connect-PnPOnline","Get-PnPListItem","Get-PnPProperty","Get-PnPList","Get-PnPWeb","Get-PnPContext","Get-PnPGroupMember","Permissions","Unique Permissions","SharePoint Groups"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.11.3"}],"created":"2024-10-01","updated":"2024-11-13","authors":[{"handle":"TiloGit","name":"TiloGit","pictureUrl":"https://github.com/TiloGit.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-everyone-everyoneexceptexternalusers","url":"https://pnp.github.io/script-samples/samples/spo-get-everyone-everyoneexceptexternalusers/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-everyone-everyoneexceptexternalusers/README.html","previews":[{"src":"/script-samples/spo-get-everyone-everyoneexceptexternalusers/assets/preview.png","alt":"Preview of the sample Audit 'Everyone' and  'Everyone except external users' claim within a SharePoint site"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroupMember.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"export-data-from-microsoft-search","title":"Export data from MS Search","description":"Shows how to export data from MS Search, in this case the entityType externalItem ","products":["graph","search"],"categories":["Data","Report"],"tags":["Invoke-PnPGraphMethod"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"}],"created":"2024-11-11","updated":"2024-11-11","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/export-data-from-microsoft-search","url":"https://pnp.github.io/script-samples/samples/export-data-from-microsoft-search/","legacyUrl":"https://pnp.github.io/script-samples/export-data-from-microsoft-search/README.html","previews":[{"src":"/script-samples/export-data-from-microsoft-search/assets/preview.png","alt":"Preview of the sample Export data from MS Search"}],"commandReferences":[{"name":"Invoke-PnPGraphMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPGraphMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-siteid-from-microsoftgraph","title":"Retrieves site id from Microsoft Graph","description":"Retrieves a SiteId from Microsoft Graph using PnP PowerShell. This can be particularly useful when making further API calls that require the SiteId.","products":["sharepoint"],"categories":["Report"],"tags":["modern","Connect-PnPOnline","Invoke-PnPGraphMethod","SiteId"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-06-15","updated":"2024-11-10","authors":[{"handle":"IoannisGianko","name":"Ioannis Gianko","pictureUrl":"https://github.com/IoannisGianko.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-siteid-from-microsoftgraph","url":"https://pnp.github.io/script-samples/samples/spo-get-siteid-from-microsoftgraph/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-siteid-from-microsoftgraph/README.html","previews":[{"src":"/script-samples/spo-get-siteid-from-microsoftgraph/assets/preview.png","alt":"Preview of retrieves site id from Microsoft Graph"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPGraphMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPGraphMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-record-lock-unlock-file","title":"Lock and Unlock a file leveraging Microsoft Graph API","description":"lock and unlock a file which is a record in SharePoint Online using the Microsoft Graph API through PnP PowerShell. The script retrieves the drive id and drive item id before calling the endpoint to lock or unlock a file.","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPList","Invoke-PnPGraphMethod","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.0"}],"created":"2024-11-09","updated":"2024-11-09","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-record-lock-unlock-file","url":"https://pnp.github.io/script-samples/samples/spo-record-lock-unlock-file/","legacyUrl":"https://pnp.github.io/script-samples/spo-record-lock-unlock-file/README.html","previews":[{"src":"/script-samples/spo-record-lock-unlock-file/assets/preview.png","alt":"Preview of the sample Lock and Unlock a file leveraging Microsoft Graph API"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Invoke-PnPGraphMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPGraphMethod.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-get-tenantid","title":"Get Tenant ID","description":"These are 2 practical scripts to get Tenant ID from either a domain name or from a Subscription ID.","products":["azure"],"categories":["Report","Security"],"tags":["Invoke-WebRequest","Connect-PnPOnline","Get-PnPTenantId"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2024-10-14","updated":"2024-11-07","authors":[{"handle":"erwinvanhunen","name":"Erwin van Hunen","pictureUrl":"https://github.com/erwinvanhunen.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"dkaaven","name":"Daniel Kåven","pictureUrl":"https://github.com/dkaaven.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-get-tenantid","url":"https://pnp.github.io/script-samples/samples/aad-get-tenantid/","legacyUrl":"https://pnp.github.io/script-samples/aad-get-tenantid/README.html","previews":[{"src":"/script-samples/aad-get-tenantid/assets/preview.png","alt":"Preview of the sample AAD-Get-TenantID"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantId","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantId.html"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"aad-renew-m365-group","title":"Automate Renewal of Expiring M365 Groups or or Microsoft Teams teams","description":"Automate Renewal of Expiring M365 Groups or or Microsoft Teams teams","products":["sharepoint","teams","microsoft-365"],"categories":["Configure","Deploy","Provision"],"tags":["modern","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPMicrosoft365ExpiringGroup","Reset-PnPMicrosoft365GroupExpiration","Get-PnPMicrosoft365Group","Governance"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.0"}],"created":"2024-10-27","updated":"2024-10-27","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-renew-m365-group","url":"https://pnp.github.io/script-samples/samples/aad-renew-m365-group/","legacyUrl":"https://pnp.github.io/script-samples/aad-renew-m365-group/README.html","previews":[{"src":"/script-samples/aad-renew-m365-group/assets/example.png","alt":"Preview of the sample Automate Renewal of Expiring M365 Groups or or Microsoft Teams teams"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPMicrosoft365ExpiringGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365ExpiringGroup.html"},{"name":"Reset-PnPMicrosoft365GroupExpiration","url":"https://pnp.github.io/powershell/cmdlets/Reset-PnPMicrosoft365GroupExpiration.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-site-sharing-settings","title":"Get SharePoint site sharing Settings","description":"Get SharePoint site sharing settings including some SharePoint Advanced Management(SAM) settings","products":["sharepoint"],"categories":["Report","Security","Microsoft Copilot"],"tags":["modern","Connect-PnPOnline","Invoke-PnPSPRestMethod","Get-PnPConnection","Get-PnPTenantSite","Sharing settings","Permissions"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.5.26"}],"created":"2024-08-28","updated":"2024-10-27","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-site-sharing-settings","url":"https://pnp.github.io/script-samples/samples/spo-get-site-sharing-settings/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-site-sharing-settings/README.html","previews":[{"src":"/script-samples/spo-get-site-sharing-settings/assets/preview.png","alt":"Preview of the sample Get SharePoint site sharing Settings"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Get-PnPConnection","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPConnection.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-control-guestaccount-m365-groups-teams","title":"Prevent Guests from Being Added to a Specific Microsoft 365 Group or Microsoft Teams team","description":"Prevent Guests from Being Added to a Specific Microsoft 365 Group or Microsoft Teams team","products":["sharepoint","teams","microsoft-365"],"categories":["Configure","Deploy","Provision"],"tags":["modern","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPMicrosoft365GroupSettings","New-PnPMicrosoft365GroupSettings","Set-PnPMicrosoft365GroupSettings","Get-PnPMicrosoft365Group","Governance"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.99.0"}],"created":"2024-10-27","updated":"2024-10-27","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-control-guestaccount-m365-groups-teams","url":"https://pnp.github.io/script-samples/samples/aad-control-guestaccount-m365-groups-teams/","legacyUrl":"https://pnp.github.io/script-samples/aad-control-guestaccount-m365-groups-teams/README.html","previews":[{"src":"/script-samples/aad-control-guestaccount-m365-groups-teams/assets/example.png","alt":"Preview of the sample Prevent Guests from Being Added to a Specific Microsoft 365 Group or Microsoft Teams team"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPMicrosoft365GroupSettings","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupSettings.html"},{"name":"New-PnPMicrosoft365GroupSettings","url":"https://pnp.github.io/powershell/cmdlets/New-PnPMicrosoft365GroupSettings.html"},{"name":"Set-PnPMicrosoft365GroupSettings","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPMicrosoft365GroupSettings.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"powerapps-get-all-bootstrap-icons","title":"Get all Bootstrap Icons to use in your powerapps","description":"This PowerShell script downloads the latest [Bootstrap icons](https://icons.getbootstrap.com/) from [twbs@github](https://github.com/twbs/icons/releases/latest), creates a JSON file with the complete list of SVG icons you can use.","products":["power-platform"],"categories":["Deploy","Provision"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2024-10-14","updated":"2024-10-14","authors":[{"handle":"dkaaven","name":"Daniel Kåven","pictureUrl":"https://github.com/dkaaven.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/powerapps-get-all-bootstrap-icons","url":"https://pnp.github.io/script-samples/samples/powerapps-get-all-bootstrap-icons/","legacyUrl":"https://pnp.github.io/script-samples/powerapps-get-all-bootstrap-icons/README.html","previews":[{"src":"/script-samples/powerapps-get-all-bootstrap-icons/assets/preview.png","alt":"Preview of the sample Get all Bootstrap Icons to use in your powerapps"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-generate-sp-file-count-report","title":"Generate file count report","description":"Get a full report of the number of files in your environment","products":["sharepoint"],"categories":["Data","Report"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.51"},{"id":"POWERSHELL","label":"PowerShell","version":"7.4.5"}],"created":"2024-10-12","updated":"2024-10-12","authors":[{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-generate-sp-file-count-report","url":"https://pnp.github.io/script-samples/samples/spo-generate-sp-file-count-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-generate-sp-file-count-report/README.html","previews":[{"src":"/script-samples/spo-generate-sp-file-count-report/assets/preview.png","alt":"Preview of the sample Generate file count report"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-list-ownerless-teams","title":"List ownerless teams","description":"Easily identify ownerless teams in your tenant","products":["teams"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPMicrosoft365Group"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.51"},{"id":"POWERSHELL","label":"PowerShell","version":"7.4.5"}],"created":"2024-10-10","updated":"2024-10-10","authors":[{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-list-ownerless-teams","url":"https://pnp.github.io/script-samples/samples/teams-list-ownerless-teams/","legacyUrl":"https://pnp.github.io/script-samples/teams-list-ownerless-teams/README.html","previews":[{"src":"/script-samples/teams-list-ownerless-teams/assets/preview.png","alt":"List ownerless teams"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-list-icons-and-color","title":"Update list icons & color","description":"A sample showing you how to change the color or the icon of a list in SharePoint","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPList","Invoke-PnPQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.51"}],"created":"2024-10-08","updated":"2024-10-08","authors":[{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-list-icons-and-color","url":"https://pnp.github.io/script-samples/samples/spo-update-list-icons-and-color/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-list-icons-and-color/README.html","previews":[{"src":"/script-samples/spo-update-list-icons-and-color/assets/preview.png","alt":"Preview of the sample Update list icons & color"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-document-library-templates","title":"Add document templates to the New dropdown in a document library","description":"Showing how you can add your own document templates to the the New dropdown in a document library","products":["sharepoint","microsoft-365","teams"],"categories":["Deploy","Provision","Configure"],"tags":["Get-PnPList","New-PnPList","Get-PnPFile","Copy-PnPFile","Get-PnPView","Get-PnPContentType","Invoke-PnPQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"}],"created":"2024-10-02","updated":"2024-10-02","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-document-library-templates","url":"https://pnp.github.io/script-samples/samples/spo-update-document-library-templates/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-document-library-templates/README.html","previews":[{"src":"/script-samples/spo-update-document-library-templates/assets/preview.png","alt":"Preview of the sample Add document templates to the New dropdown in a document library"}],"commandReferences":[{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Copy-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Copy-PnPFile.html"},{"name":"Get-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPView.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-download-files-from-doclib","title":"Download all files from Document Libarary/Folder","description":"The script will download all files from an SharePoint Document Libraray or Folder","products":["sharepoint"],"categories":["Data"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.12.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"9.1.0"}],"created":"2024-09-21","updated":"2024-10-01","authors":[{"handle":"petkir","name":"Peter Paul Kirschner","pictureUrl":"https://github.com/petkir.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-download-files-from-doclib","url":"https://pnp.github.io/script-samples/samples/spo-download-files-from-doclib/","legacyUrl":"https://pnp.github.io/script-samples/spo-download-files-from-doclib/README.html","previews":[{"src":"/script-samples/spo-download-files-from-doclib/assets/preview.png","alt":"Preview of the sample Download all files from Document Libarary/Folder"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-files-retentionlabel-sensitivitylabel","title":"Get Files with Retention or Sensitivity Labels in SharePoint Online","description":"Get Files with Retention or Sensitivity Labels in SharePoint Online","products":["sharepoint"],"categories":["Report","Security","Microsoft Copilot"],"tags":["modern","Connect-PnPOnline","Get-PnPConnection","Get-PnPTenantSite","Get-PnPListItem","Get-PnPList"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.11.3"}],"created":"2024-10-01","updated":"2024-10-01","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-files-retentionlabel-sensitivitylabel","url":"https://pnp.github.io/script-samples/samples/spo-get-files-retentionlabel-sensitivitylabel/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-files-retentionlabel-sensitivitylabel/README.html","previews":[{"src":"/script-samples/spo-get-files-retentionlabel-sensitivitylabel/assets/preview.png","alt":"preview image showing there is no preview"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPConnection","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPConnection.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-permission-audit","title":"Get permissions including unique permissions up to item level including sharing links","description":"Get M365 Groups, SharePoint Groups, direct permissions and sharing links including unique permissions up to item level","products":["sharepoint","microsoft-365"],"categories":["Report","Security","Microsoft Copilot"],"tags":["modern","Connect-PnPOnline","Get-PnPListItem","Get-PnPProperty","Get-PnPList","Get-PnPWeb","Get-PnPContext","Get-PnPGroupMember","Get-PnPMicrosoft365GroupOwners","Get-PnPMicrosoft365GroupMembers","Get-PnPSiteSensitivityLabel","SharingLinks","Permissions","Unique Permissions","SharePoint Groups"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-05-27","updated":"2024-10-01","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-permission-audit","url":"https://pnp.github.io/script-samples/samples/spo-get-permission-audit/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-permission-audit/README.html","previews":[{"src":"/script-samples/spo-get-permission-audit/assets/preview.png","alt":"Preview of the sample Get permissions including unique permissions up to item level including sharing links"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroupMember.html"},{"name":"Get-PnPSiteSensitivityLabel","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteSensitivityLabel.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-generate-sp-storage-savings-report","title":"Report of SharePoint Storage Savings by trimming document versions","description":"This script creates an overview for The total amount of SharePoint Storage, and how much could be saved by trimming the versions.","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPListItem","Get-PnPList","Get-PnPProperty","Get-PnPFile","Get-PnPTenantSite","Get-PnPWeb","Get-PnPSubWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"}],"created":"2022-02-01","updated":"2024-09-26","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-generate-sp-storage-savings-report","url":"https://pnp.github.io/script-samples/samples/spo-generate-sp-storage-savings-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-generate-sp-storage-savings-report/README.html","previews":[{"src":"/script-samples/spo-generate-sp-storage-savings-report/assets/preview.png","alt":"Preview of the sample Report of SharePoint Storage Savings by trimming document versions"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPSubWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSubWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-serviceprincipals-sites.selected-permission-sites","title":"Audit Service Principal Access to SharePoint Sites with Sites.Selected Permissions","description":"This script identifies the SharePoint sites that a Service Principal can access when the sites.selected API permission is granted.","products":["sharepoint","entra"],"categories":["Report","Security"],"tags":["<Cmdlets-Used>","Audit","Service Principal"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.11.0"}],"created":"2024-09-21","updated":"2024-09-21","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-serviceprincipals-sites.selected-permission-sites","url":"https://pnp.github.io/script-samples/samples/spo-serviceprincipals-sites.selected-permission-sites/","legacyUrl":"https://pnp.github.io/script-samples/spo-serviceprincipals-sites.selected-permission-sites/README.html","previews":[{"src":"/script-samples/spo-serviceprincipals-sites.selected-permission-sites/assets/preview.png","alt":"Preview of the output report"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-register-app-login-using-app","title":"Register and login to SharePoint using an app","description":"This script sample shows how to register an app in SharePoint and login to SharePoint using the app.","products":["sharepoint"],"categories":["Data","Provision"],"tags":["Connect-PnPOnline","Register-PnPEntraIDApp","Migration"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.10.0"}],"created":"2024-09-13","updated":"2024-09-13","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-register-app-login-using-app","url":"https://pnp.github.io/script-samples/samples/spo-register-app-login-using-app/","legacyUrl":"https://pnp.github.io/script-samples/spo-register-app-login-using-app/README.html","previews":[{"src":"/script-samples/spo-register-app-login-using-app/assets/preview.png","alt":"Preview of the sample Register and login to SharePoint using an app"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Register-PnPEntraIDApp","url":"https://pnp.github.io/powershell/cmdlets/Register-PnPEntraIDApp.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-get-licenses-by-sku-email-if-low","title":"Microsoft 365 License Monitoring and Alert Script","description":"This script is designed to help administrators monitor the availability of Microsoft 365 licenses for specific SKUs","products":["graph"],"categories":["Configure","Report"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2024-09-11","updated":"2024-09-11","authors":[{"handle":"EilafBarmare","name":"Eilaf Barmare","pictureUrl":"https://github.com/EilafBarmare.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-get-licenses-by-sku-email-if-low","url":"https://pnp.github.io/script-samples/samples/graph-get-licenses-by-sku-email-if-low/","legacyUrl":"https://pnp.github.io/script-samples/graph-get-licenses-by-sku-email-if-low/README.html","previews":[{"src":"/script-samples/graph-get-licenses-by-sku-email-if-low/assets/preview.png","alt":"Preview of the sample Microsoft 365 License Monitoring and Alert Script"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-file-version-trimmer","title":"File Version Trimmer","description":"This sample shows how to delete a number of file versions to reduce SharePoint Storage","products":["sharepoint","graph","azure"],"categories":["Data","Configure","Report"],"tags":["Get-PnPFileVersion","Remove-PnPFileVersion","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPFile","Get-PnPList","Get-PnPListItem","Get-PnPTenant","Get-PnPTenantSite","Remove-PnPFile","m365 login","m365 status","m365 spo file list","m365 spo file version list","m365 spo file version remove","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.9.0"}],"created":"2023-05-12","updated":"2024-09-01","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-file-version-trimmer","url":"https://pnp.github.io/script-samples/samples/spo-file-version-trimmer/","legacyUrl":"https://pnp.github.io/script-samples/spo-file-version-trimmer/README.html","previews":[{"src":"/script-samples/spo-file-version-trimmer/assets/preview.png","alt":"Preview of the sample File Version Trimmer"}],"commandReferences":[{"name":"Get-PnPFileVersion","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFileVersion.html"},{"name":"Remove-PnPFileVersion","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFileVersion.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Remove-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFile.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo file list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-list"},{"name":"m365 spo file version list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-version-list"},{"name":"m365 spo file version remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-version-remove"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"aad-grant-serviceprincipal-api-permissions","title":"Grant Managed Identity permissions to audit and cleanup SPFx App Principal permissions","description":"This script can be used to grant System-Managed Identity used by automation (Azure Runbook, Azure Functions) API permissions and access to SPO sites","products":["sharepoint","entra"],"categories":["Deploy","Provision","Configure","Security"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.10.0"}],"created":"2024-08-26","updated":"2024-08-26","authors":[{"handle":"kkazala","name":"Kinga Kazala","pictureUrl":"https://github.com/kkazala.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-grant-serviceprincipal-api-permissions","url":"https://pnp.github.io/script-samples/samples/aad-grant-serviceprincipal-api-permissions/","legacyUrl":"https://pnp.github.io/script-samples/aad-grant-serviceprincipal-api-permissions/README.html","previews":[{"src":"/script-samples/aad-grant-serviceprincipal-api-permissions/assets/preview.png","alt":"Preview of the sample Grant Managed Identity permissions to audit and cleanup 'SharePoint Online Client Extensibility Web Application Principal' API permissions"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":3},{"slug":"spo-delete-unused-spfx-apipermissions","title":"Remove unused API Permissions assigned to SPFx App Principal","description":"This script removes unused API permissions assigned to the 'SharePoint Online Client Extensibility Web Application Principal'.","products":["sharepoint","entra"],"categories":["Deploy","Provision","Configure","Security"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.10.0"}],"created":"2024-08-26","updated":"2024-08-26","authors":[{"handle":"kkazala","name":"Kinga Kazala","pictureUrl":"https://github.com/kkazala.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-delete-unused-spfx-apipermissions","url":"https://pnp.github.io/script-samples/samples/spo-delete-unused-spfx-apipermissions/","legacyUrl":"https://pnp.github.io/script-samples/spo-delete-unused-spfx-apipermissions/README.html","previews":[{"src":"/script-samples/spo-delete-unused-spfx-apipermissions/assets/preview.png","alt":"Preview of the sample Remove unused API Permissions assigned to 'SharePoint Online Client Extensibility Web Application Principal'"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-find-script-editor-webpart-using-search","title":"Find every page that contains a Modern Script Editor web part","description":"Locate use of Modern Script Editor","products":["sharepoint","azure"],"categories":["Modernize","Report","Security"],"tags":["Invoke-PnPSearchQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.9.0"}],"created":"2024-08-25","updated":"2024-08-25","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-find-script-editor-webpart-using-search","url":"https://pnp.github.io/script-samples/samples/spo-find-script-editor-webpart-using-search/","legacyUrl":"https://pnp.github.io/script-samples/spo-find-script-editor-webpart-using-search/README.html","previews":[{"src":"/script-samples/spo-find-script-editor-webpart-using-search/assets/preview.png","alt":"Preview of the sample Find every page that contains a Modern Script Editor web part"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-ensure-cts-before-template","title":"Ensure all required Content Types are available before Get-PnPSiteTemplate ","description":"This is a Content type pre-burner before extracting a PnP Template","products":["sharepoint"],"categories":["Deploy","Provision","Configure"],"tags":["Get-PnPContentType","Add-PnPContentTypesFromContentTypeHub","Get-PnPSiteTemplate"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.7.0"}],"created":"2024-08-22","updated":"2024-08-22","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-ensure-cts-before-template","url":"https://pnp.github.io/script-samples/samples/spo-ensure-cts-before-template/","legacyUrl":"https://pnp.github.io/script-samples/spo-ensure-cts-before-template/README.html","previews":[{"src":"/script-samples/spo-ensure-cts-before-template/assets/preview.png","alt":"Preview of the sample Ensure all required Content Types are available before Get-PnPContentType "}],"commandReferences":[{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Add-PnPContentTypesFromContentTypeHub","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentTypesFromContentTypeHub.html"},{"name":"Get-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteTemplate.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-spfx-apipermissions","title":"GET API Permissions for SPFx solutions","description":"To enhance your tenant's security posture, it's crucial to regularly review the API permissions requested by SPFx solutions","products":["sharepoint"],"categories":["Report","Security"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.5.0"}],"created":"2024-08-12","updated":"2024-08-12","authors":[{"handle":"kkazala","name":"Kinga Kazala","pictureUrl":"https://github.com/kkazala.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-spfx-apipermissions","url":"https://pnp.github.io/script-samples/samples/spo-get-spfx-apipermissions/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-spfx-apipermissions/README.html","previews":[{"src":"/script-samples/spo-get-spfx-apipermissions/assets/preview.png","alt":"Preview of the sample to GET API Permissions for SPFx solutions"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-details-spfx-packages-tenant-sitecollection-appcatalog","title":"Retrieve SPFx Details from Tenant and Site Collection App Catalogs","description":"Retrieve detailed information about SPFx solutions installed in SharePoint environment, such as API permissions from both the tenant-level and site collection app catalogs.","products":["sharepoint"],"categories":["Report"],"tags":["modern","Connect-PnPOnline","Get-PnPTenantSite","Get-PnPTenantAppCatalogUrl","Get-PnPSiteCollectionAppCatalog","Invoke-PnPSPRestMethod","Get-PnPWeb","Get-PnPApp","SPFx"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.5.0"}],"created":"2024-08-09","updated":"2024-08-09","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-details-spfx-packages-tenant-sitecollection-appcatalog","url":"https://pnp.github.io/script-samples/samples/spo-get-details-spfx-packages-tenant-sitecollection-appcatalog/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-details-spfx-packages-tenant-sitecollection-appcatalog/README.html","previews":[{"src":"/script-samples/spo-get-details-spfx-packages-tenant-sitecollection-appcatalog/assets/preview.png","alt":"Preview of the sample Retrieve SPFx Details from Tenant and Site Collection App Catalogs"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPTenantAppCatalogUrl","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantAppCatalogUrl.html"},{"name":"Get-PnPSiteCollectionAppCatalog","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteCollectionAppCatalog.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApp.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-sharepoint-storage-currentquota","title":"Get SharePoint Storage Usage Against Allocated Quota","description":"Understand and sharing links activities within your M365 environment is crucial for maintaining security and compliance.","products":["sharepoint"],"categories":["Report"],"tags":["modern","Connect-PnPOnline","Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.5.2"}],"created":"2024-07-28","updated":"2024-07-28","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-sharepoint-storage-currentquota","url":"https://pnp.github.io/script-samples/samples/spo-get-sharepoint-storage-currentquota/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-sharepoint-storage-currentquota/README.html","previews":[{"src":"/script-samples/spo-get-sharepoint-storage-currentquota/assets/preview.png","alt":"Preview of the sample Get SharePoint Storage Usage Against Allocated Quota"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-sharinglinks","title":"Get sharing links within the tenant","description":"Understand and sharing links activities within your M365 environment is crucial for maintaining security and compliance.","products":["sharepoint"],"categories":["Report","Security","Microsoft Copilot"],"tags":["modern","Connect-PnPOnline","Get-PnPListItem","Get-PnPProperty","Get-PnPList","Get-PnPWeb","Get-PnPContext","Get-PnPFileSharingLink","Get-PnPFolderSharingLink","SharingLinks"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.5.2"}],"created":"2024-04-27","updated":"2024-07-25","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-sharinglinks","url":"https://pnp.github.io/script-samples/samples/spo-get-sharinglinks/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-sharinglinks/README.html","previews":[{"src":"/script-samples/spo-get-sharinglinks/assets/preview.png","alt":"Preview of the sample Get sharing links within the tenant"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPFileSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFileSharingLink.html"},{"name":"Get-PnPFolderSharingLink","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderSharingLink.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-remove-teamify-link","title":"Remove the Teamify link on Group sites","description":"Remove the link in the left hand side suggesting to convert a Group Site to a Teams site","products":["sharepoint","teams"],"categories":["Configure"],"tags":["Set-PnPSite","Set-PnPPropertyBagValue","Set-PnPTeamifyPromptHidden"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.8.0"}],"created":"2024-07-16","updated":"2024-07-22","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-teamify-link","url":"https://pnp.github.io/script-samples/samples/spo-remove-teamify-link/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-teamify-link/README.html","previews":[{"src":"/script-samples/spo-remove-teamify-link/assets/preview.png","alt":"Preview of the sample Remove the Teamify link on Group sites"}],"commandReferences":[{"name":"Set-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPSite.html"},{"name":"Set-PnPPropertyBagValue","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPPropertyBagValue.html"},{"name":"Set-PnPTeamifyPromptHidden","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPTeamifyPromptHidden.html"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-update-branding-sitelogo-thumbnail","title":"Update SharePoint Site Logo and Thumbnail","description":"Update SharePoint Site Logo and Thumbnail.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Add-PnPFile","Get-PnPFile","Set-PnPWebHeader","Get-PnPHubSiteChild","Branding"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-07-13","updated":"2024-07-13","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-branding-sitelogo-thumbnail","url":"https://pnp.github.io/script-samples/samples/spo-update-branding-sitelogo-thumbnail/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-branding-sitelogo-thumbnail/README.html","previews":[{"src":"/script-samples/spo-update-branding-sitelogo-thumbnail/assets/preview.png","alt":"Preview of the sample Update SharePoint Site Logo and Thumbnail"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Set-PnPWebHeader","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPWebHeader.html"},{"name":"Get-PnPHubSiteChild","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSiteChild.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-find-spfx-packages-installed-tenant-sitecollection-appcatalog","title":"Find SharePoint Framework (SPFx) Packages in Tenant and Site Collection App Catalogs","description":"Find SharePoint Framework (SPFx) Packages in Tenant and Site Collection App Catalogs which will help maintain oversight of SPFx package installation, ensuring they are up-to-date and compliant.","products":["sharepoint"],"categories":["Report"],"tags":["modern","Connect-PnPOnline","Get-PnPTenantSite","Get-PnPSiteCollectionAppCatalog","Invoke-PnPSPRestMethod","Get-PnPWeb","Get-PnPApp","SPFx"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-07-05","updated":"2024-07-05","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-find-spfx-packages-installed-tenant-sitecollection-appcatalog","url":"https://pnp.github.io/script-samples/samples/spo-find-spfx-packages-installed-tenant-sitecollection-appcatalog/","legacyUrl":"https://pnp.github.io/script-samples/spo-find-spfx-packages-installed-tenant-sitecollection-appcatalog/README.html","previews":[{"src":"/script-samples/spo-find-spfx-packages-installed-tenant-sitecollection-appcatalog/assets/preview.png","alt":"Preview of the sample Find SharePoint Framework (SPFx) Packages in Tenant and Site Collection App Catalogs"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPSiteCollectionAppCatalog","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteCollectionAppCatalog.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApp.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-list-item-as-system","title":"Update a SharePoint list item without changing the Modified By and Modified fields","description":"Demonstrates how to update a SharePoint list item without changing the Modified By and Modified fields using PnP PowerShell.","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Disconnect-PnPOnline","Set-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"}],"created":"2024-07-05","updated":"2024-07-05","authors":[{"handle":"GuidoZam","name":"Guido Zambarda","pictureUrl":"https://github.com/GuidoZam.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-list-item-as-system","url":"https://pnp.github.io/script-samples/samples/spo-update-list-item-as-system/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-list-item-as-system/README.html","previews":[{"src":"/script-samples/spo-update-list-item-as-system/assets/preview.png","alt":"Preview of the sample Update a SharePoint list item without changing the Modified By and Modified fields"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-delete-sharinglink-folder-file-item","title":"Deletes sharing links for folder, file and item in SharePoint","description":"Deletes sharing links for folder, file, and item. This can address oversharing issues during the Copilot for M365 rollout.","products":["sharepoint","copilot"],"categories":["Report","Microsoft Copilot"],"tags":["modern","Connect-PnPOnline","Get-PnPProperty","Remove-PnPgroup","Get-PnPList","Get-PnPListItem","Sharing Links"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-06-28","updated":"2024-06-28","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-delete-sharinglink-folder-file-item","url":"https://pnp.github.io/script-samples/samples/spo-delete-sharinglink-folder-file-item/","legacyUrl":"https://pnp.github.io/script-samples/spo-delete-sharinglink-folder-file-item/README.html","previews":[{"src":"/script-samples/spo-delete-sharinglink-folder-file-item/assets/preview.png","alt":"Preview of the sample Deletes sharing links for folder, file and item in SharePoint"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Remove-PnPgroup","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPGroup.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-remove-access-requests","title":"Remove site access requests","description":"As a site owner, delete in bulk all the access requests from a SharePoint site.","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","New-PnPBatch","Get-PnPList","Get-PnPListItem","Remove-PnPListItem","Invoke-PnPBatch","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-06-28","updated":"2024-06-28","authors":[{"handle":"a1mery","name":"Aimery Thomas","pictureUrl":"https://github.com/a1mery.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-access-requests","url":"https://pnp.github.io/script-samples/samples/spo-remove-access-requests/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-access-requests/README.html","previews":[{"src":"/script-samples/spo-remove-access-requests/assets/preview.png","alt":"Preview of the sample Remove site access requests"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"New-PnPBatch","url":"https://pnp.github.io/powershell/cmdlets/New-PnPBatch.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Remove-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPListItem.html"},{"name":"Invoke-PnPBatch","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPBatch.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"power-automate-replace-owner","title":"Replace owner in all Power Automate flows","description":"Script to replace all the Power Automate flows where someone is owner of","products":["power-automate"],"categories":["Configure","Security"],"tags":["m365 login","m365 entra user get","m365 pp environment get","m365 flow list","m365 flow owner list","m365 flow owner remove","m365 flow owner ensure","Connect-PnPOnline","Get-PnPPowerPlatformEnvironment","Get-PnPEntraiduser","Get-PnPflow","Get-PnPFlowOwner","Remove-PnPFlowOwner","Add-PnPFlowOwner"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.11.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2023-08-11","updated":"2024-05-30","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"nicodecleyre","name":"Nico De Cleyre","pictureUrl":"https://github.com/nicodecleyre.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/power-automate-replace-owner","url":"https://pnp.github.io/script-samples/samples/power-automate-replace-owner/","legacyUrl":"https://pnp.github.io/script-samples/power-automate-replace-owner/README.html","previews":[{"src":"/script-samples/power-automate-replace-owner/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 entra user get","url":"https://pnp.github.io/cli-microsoft365/cmd/entra/user/user-get"},{"name":"m365 pp environment get","url":"https://pnp.github.io/cli-microsoft365/cmd/pp/environment/environment-get"},{"name":"m365 flow list","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/flow-list"},{"name":"m365 flow owner list","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/owner/owner-list"},{"name":"m365 flow owner remove","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/owner/owner-remove"},{"name":"m365 flow owner ensure","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/owner/owner-ensure"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPPowerPlatformEnvironment","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPowerPlatformEnvironment.html"},{"name":"Get-PnPEntraiduser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPEntraIDUser.html"},{"name":"Get-PnPflow","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFlow.html"},{"name":"Get-PnPFlowOwner","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFlowOwner.html"},{"name":"Remove-PnPFlowOwner","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFlowOwner.html"},{"name":"Add-PnPFlowOwner","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFlowOwner.html"}],"scriptTabCount":2,"codeBlockCount":3},{"slug":"spo-reindex-list-where-term-is-used","title":"Reindex Search index for lists where a specific term is used (when you have renamed the term)","description":"Locate all lists where a Term is being used and force a reindex","products":["sharepoint"],"categories":["Data","Configure"],"tags":["Invoke-PnPSearchQuery","Get-PnPList","PSCustomObject","Request-PnPReIndexList","Export-Csv","termstore","Search"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-05-29","updated":"2024-05-29","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-reindex-list-where-term-is-used","url":"https://pnp.github.io/script-samples/samples/spo-reindex-list-where-term-is-used/","legacyUrl":"https://pnp.github.io/script-samples/spo-reindex-list-where-term-is-used/README.html","previews":[{"src":"/script-samples/spo-reindex-list-where-term-is-used/assets/preview.png","alt":"Preview of the sample Reindex Search index for lists where a specific term is used (when you have renamed the term)"}],"commandReferences":[{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Request-PnPReIndexList","url":"https://pnp.github.io/powershell/cmdlets/Request-PnPReIndexList.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-delete-site-with-retention-policy","title":"Delete SharePoint Online sites that have retention policies","description":"This sample script deletes specified SharePoint Online sites that have a retention policy applied by excluding them from the retention policy, deleting the site and then cleaning up the retention policy exclusions.","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Remove-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2024-05-19","updated":"2024-05-19","authors":[{"handle":"jackpoz","name":"Giacomo Pozzoni","pictureUrl":"https://github.com/jackpoz.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-delete-site-with-retention-policy","url":"https://pnp.github.io/script-samples/samples/spo-delete-site-with-retention-policy/","legacyUrl":"https://pnp.github.io/script-samples/spo-delete-site-with-retention-policy/README.html","previews":[{"src":"/script-samples/spo-delete-site-with-retention-policy/assets/preview.png","alt":"Preview of the sample Delete SharePoint Online sites that have retention policies"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Remove-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-repair-user-idmismatch","title":"Repair IdMismatch for user cross all Sites","description":"This script will fix the IdMismatch of a user across all sites.","products":["sharepoint"],"categories":["Data","Report"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","Get-PnPUserProfileProperty","Set-PnPTenantSite","Get-PnPUser","Remove-PnPSiteCollectionAdmin","Remove-PnPUser"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2024-05-15","updated":"2024-05-15","authors":[{"handle":"Barbarur","name":"Alvaro Avila Ruiz","pictureUrl":"https://github.com/Barbarur.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-repair-user-idmismatch","url":"https://pnp.github.io/script-samples/samples/spo-repair-user-idmismatch/","legacyUrl":"https://pnp.github.io/script-samples/spo-repair-user-idmismatch/README.html","previews":[{"src":"/script-samples/spo-repair-user-idmismatch/assets/ScriptPreview.png","alt":"Preview of the sample logs while reparing IdMismatch issue for an user"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPUserProfileProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUserProfileProperty.html"},{"name":"Set-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPTenantSite.html"},{"name":"Get-PnPUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUser.html"},{"name":"Remove-PnPSiteCollectionAdmin","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPSiteCollectionAdmin.html"},{"name":"Remove-PnPUser","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPUser.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-existing-site-structure","title":"Get (or export) an existing site structure in a SharePoint Online tenant","description":"Retrieve an existing structure of a SharePoint Online (SPO) tenant","products":["sharepoint"],"categories":["Data","Report","Provision"],"tags":["Connect-PnPOnline","Get-PnPConnection","Get-PnPTenantInfo","Get-PnPTenantSite","Get-PnPHomeSite","Get-PnPHubSite","Get-PnPHubSiteChild","Get-PnPList","Site Structure","Information Architecture"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.4.2"}],"created":"2024-05-05","updated":"2024-05-05","authors":[{"handle":"tmaestrini","name":"Tobias Maestrini","pictureUrl":"https://github.com/tmaestrini.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-existing-site-structure","url":"https://pnp.github.io/script-samples/samples/spo-get-existing-site-structure/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-existing-site-structure/README.html","previews":[{"src":"/script-samples/spo-get-existing-site-structure/assets/preview.png","alt":"Preview of the sample <title>"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPConnection","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPConnection.html"},{"name":"Get-PnPTenantInfo","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantInfo.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPHomeSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHomeSite.html"},{"name":"Get-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSite.html"},{"name":"Get-PnPHubSiteChild","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSiteChild.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"}],"scriptTabCount":1,"codeBlockCount":4},{"slug":"spo-get-folder-item","title":"Retrieves all files properties within a specified folder.","description":"Retrieves all files properties within a specified folder.","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.3.0"}],"created":"2024-04-27","updated":"2024-04-27","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-folder-item","url":"https://pnp.github.io/script-samples/samples/spo-get-folder-item/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-folder-item/README.html","previews":[{"src":"/script-samples/spo-get-folder-item/assets/preview.png","alt":"Preview of the sample Retrieves all files properties within a specified folder."}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-locate-orphaned-termstore-terms","title":"Locate orphaned Termstore Terms","description":"Locate all instances of Managed Metadata where the connected Termstore Term has been deleted","products":["sharepoint"],"categories":["Modernize","Data","Report"],"tags":["Get-PnPTerm","Invoke-PnPSearchQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-04-08","updated":"2024-04-08","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-locate-orphaned-termstore-terms","url":"https://pnp.github.io/script-samples/samples/spo-locate-orphaned-termstore-terms/","legacyUrl":"https://pnp.github.io/script-samples/spo-locate-orphaned-termstore-terms/README.html","previews":[{"src":"/script-samples/spo-locate-orphaned-termstore-terms/assets/preview.png","alt":"Preview of the sample Locate orphaned Termstore Terms"}],"commandReferences":[{"name":"Get-PnPTerm","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTerm.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-csom-properties","title":"Query advanced CSOM properties with PnP PowerShell","description":"This sample shows how to query CSOM properties with PnP PowerShell by writing C# code, importing it in PowerShell and sending a single Invoke-PnPQuery request","products":["sharepoint"],"categories":["Data"],"tags":["Invoke-PnPQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-04-07","updated":"2024-04-07","authors":[{"handle":"jackpoz","name":"Giacomo Pozzoni","pictureUrl":"https://github.com/jackpoz.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-csom-properties","url":"https://pnp.github.io/script-samples/samples/spo-csom-properties/","legacyUrl":"https://pnp.github.io/script-samples/spo-csom-properties/README.html","previews":[{"src":"/script-samples/spo-csom-properties/assets/preview.png","alt":"Preview of the sample Query advanced CSOM properties with PnP PowerShell"}],"commandReferences":[{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-trim-and-m365-archive-sitecollection","title":"Trim file versions and archive Site Collection using Microsoft365 Archive","description":"Trim the file versions and archive the site using Microsoft 365 Archive","products":["sharepoint"],"categories":["Provision","Configure"],"tags":["Set-PnPSiteArchiveState","Remove-PnPFileVersion","Get-PnPFileVersion","Governance","SharePoint Premium"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-03-23","updated":"2024-03-23","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-trim-and-m365-archive-sitecollection","url":"https://pnp.github.io/script-samples/samples/spo-trim-and-m365-archive-sitecollection/","legacyUrl":"https://pnp.github.io/script-samples/spo-trim-and-m365-archive-sitecollection/README.html","previews":[{"src":"/script-samples/spo-trim-and-m365-archive-sitecollection/assets/preview.png","alt":"Preview of the sample Trim file versions and archive Site Collection using Microsoft365 Archive"}],"commandReferences":[{"name":"Set-PnPSiteArchiveState","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPSiteArchiveState.html"},{"name":"Remove-PnPFileVersion","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFileVersion.html"},{"name":"Get-PnPFileVersion","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFileVersion.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-deploy-install-update-spfx-hubsiteassociatedsites-tenantappcatalog","title":"Deploying SPFx Packages from Tenant App Catalog to Hub Site and Associated Sites","description":"Deploying SPFx Packages from Tenant App Catalog to Hub Site and Associated Sites","products":["sharepoint"],"categories":["Modernize","Deploy","Provision","Configure"],"tags":["modern","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPTenantSite","Add-PnPApp","Get-PnPApp","Install-PnPApp","Update-PnPApp","Get-PnPHubSiteChild","Get-PnPWeb","Invoke-PnPSPRestMethod","Get-PnPTenantServicePrincipalPermissionRequests","Approve-PnPTenantServicePrincipalPermissionRequest","SPFx","Hub Site"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-01-08","updated":"2024-03-20","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-deploy-install-update-spfx-hubsiteassociatedsites-tenantappcatalog","url":"https://pnp.github.io/script-samples/samples/spo-deploy-install-update-spfx-hubsiteassociatedsites-tenantappcatalog/","legacyUrl":"https://pnp.github.io/script-samples/spo-deploy-install-update-spfx-hubsiteassociatedsites-tenantappcatalog/README.html","previews":[{"src":"/script-samples/spo-deploy-install-update-spfx-hubsiteassociatedsites-tenantappcatalog/assets/preview.png","alt":"Preview of the sample Deploying SPFx Packages from Tenant App Catalog to Hub Site and Associated Sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Add-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPApp.html"},{"name":"Get-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApp.html"},{"name":"Install-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Install-PnPApp.html"},{"name":"Update-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Update-PnPApp.html"},{"name":"Get-PnPHubSiteChild","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSiteChild.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Get-PnPTenantServicePrincipalPermissionRequests","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantServicePrincipalPermissionRequests.html"},{"name":"Approve-PnPTenantServicePrincipalPermissionRequest","url":"https://pnp.github.io/powershell/cmdlets/Approve-PnPTenantServicePrincipalPermissionRequest.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-uninstall-spfx-hubsiteassociatedsites-tenantappcatalog","title":"Retracting SPFx Solutions from Hub Site and associated sites","description":"Retracting SPFx Solutions from Hub Site and associated sites ","products":["sharepoint"],"categories":["Modernize","Deploy","Data","Configure"],"tags":["modern","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPHubSiteChild","Invoke-PnPSPRestMethod","Get-PnPApp","Uninstall-PnPApp","Remove-PnPApp","Get-PnPWeb","Get-PnPTenantSite","Remove","SPFx","Hub Site"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"}],"created":"2024-03-20","updated":"2024-03-20","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-uninstall-spfx-hubsiteassociatedsites-tenantappcatalog","url":"https://pnp.github.io/script-samples/samples/spo-uninstall-spfx-hubsiteassociatedsites-tenantappcatalog/","legacyUrl":"https://pnp.github.io/script-samples/spo-uninstall-spfx-hubsiteassociatedsites-tenantappcatalog/README.html","previews":[{"src":"/script-samples/spo-uninstall-spfx-hubsiteassociatedsites-tenantappcatalog/assets/preview.png","alt":"Preview of the sample Retracting SPFx Solutions from Hub Site and associated sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPHubSiteChild","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSiteChild.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Get-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApp.html"},{"name":"Uninstall-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Uninstall-PnPApp.html"},{"name":"Remove-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPApp.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-customfields-lists","title":"Get custom fields within lists and libraries within a site","description":"Get custom Fields within lists and libraries within a site.","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPField","Disconnect-PnPOnline","m365 login","m365 status","m365 spo list list","m365 spo field list","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.5.0"}],"created":"2023-06-30","updated":"2024-03-17","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-customfields-lists","url":"https://pnp.github.io/script-samples/samples/spo-get-customfields-lists/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-customfields-lists/README.html","previews":[{"src":"/script-samples/spo-get-customfields-lists/assets/Preview.png","alt":"Preview image for script sample Get custom fields within lists and libraries within a site"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo list list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-list"},{"name":"m365 spo field list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-list"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"aad-delete-m365-groups-and-sharepoint-sites","title":"Delete all Microsoft 365 groups and SharePoint sites","description":"Sample shows how you can delete Microsoft 365 Groups and associated SharePoint Online sites in your development environment","products":["entra","sharepoint"],"categories":["Provision"],"tags":["SharePoint Online","Microsoft 365 Groups","Connect-PnPOnline","Get-PnPTenantSite","Remove-PnPDeletedMicrosoft365Group","Remove-PnPMicrosoft365Group","Remove-PnPTenantDeletedSite","Remove-PnPTenantSite","Disconnect-PnPOnline","m365 login","m365 status","m365 entra m365group list","m365 entra m365group remove","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.5.0"}],"created":"2021-03-15","updated":"2024-03-10","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-delete-m365-groups-and-sharepoint-sites","url":"https://pnp.github.io/script-samples/samples/aad-delete-m365-groups-and-sharepoint-sites/","legacyUrl":"https://pnp.github.io/script-samples/aad-delete-m365-groups-and-sharepoint-sites/README.html","previews":[{"src":"/script-samples/aad-delete-m365-groups-and-sharepoint-sites/assets/preview.png","alt":"preview image for the sample Delete all Microsoft 365 groups and SharePoint sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Remove-PnPDeletedMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPDeletedMicrosoft365Group.html"},{"name":"Remove-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPMicrosoft365Group.html"},{"name":"Remove-PnPTenantDeletedSite","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPTenantDeletedSite.html"},{"name":"Remove-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPTenantSite.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 entra m365group list","url":"https://pnp.github.io/cli-microsoft365/cmd/entra/m365group/m365group-list"},{"name":"m365 entra m365group remove","url":"https://pnp.github.io/cli-microsoft365/cmd/entra/m365group/m365group-remove"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-check-unaccessable-homepages","title":"Scan for potential inaccessible site collection homepages","description":"Looks for site collections where the home page has custom permissions and outputs to a CSV file.","products":["sharepoint"],"categories":["Report","Security"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","Get-PnPList","Get-PnPHomePage","Get-PnPListItem","Get-PnPListItemPermission","Disconnect-PnPOnline","m365 login","m365 status","m365 spo site list","m365 spo web get","m365 spo listitem list","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.4.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.5.0"}],"created":"2024-03-04","updated":"2024-03-10","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-check-unaccessable-homepages","url":"https://pnp.github.io/script-samples/samples/spo-check-unaccessable-homepages/","legacyUrl":"https://pnp.github.io/script-samples/spo-check-unaccessable-homepages/README.html","previews":[{"src":"/script-samples/spo-check-unaccessable-homepages/assets/preview.png","alt":"Preview of the sample Scan for potential inaccessible site collection homepages"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPHomePage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHomePage.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPListItemPermission","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItemPermission.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 spo web get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/web/web-get"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-content-type-details-to-csv","title":"Export Content Type Details To CSV","description":"This script exports all content types available on a SharePoint site to CSV.","products":["sharepoint"],"categories":["Report","Data"],"tags":["SharePoint Online","Connect-PnPOnline","Get-PnPContentType","Get-PnPProperty","Export-Csv","Disconnect-PnPOnline","m365 status","m365 login","m365 spo contenttype list","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.3.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.5.0"}],"created":"2024-03-05","updated":"2024-03-09","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-content-type-details-to-csv","url":"https://pnp.github.io/script-samples/samples/spo-export-content-type-details-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-content-type-details-to-csv/README.html","previews":[{"src":"/script-samples/spo-export-content-type-details-to-csv/assets/preview.png","alt":"Preview of the sample Export Content Type Details To CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo contenttype list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/contenttype/contenttype-list"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-hub-site-hierarchy","title":"Export of the Hierarchy of Hub Sites","description":"This script exports the SharePoint site hierarchy into a Markdown file to visualize the hub sites and its associated sites.","products":["sharepoint"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","Get-PnPHubSite","Disconnect-PnPOnline","m365 login","m365 status","m365 spo site list","m365 spo hubsite list","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.5.0"}],"created":"2023-11-03","updated":"2024-03-04","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"tecchan1107","name":"Tetsuya Kawahara","pictureUrl":"https://github.com/tecchan1107.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-hub-site-hierarchy","url":"https://pnp.github.io/script-samples/samples/spo-export-hub-site-hierarchy/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-hub-site-hierarchy/README.html","previews":[{"src":"/script-samples/spo-export-hub-site-hierarchy/assets/example.png","alt":"Screenshot of the example"},{"src":"/script-samples/spo-export-hub-site-hierarchy/assets/execution-screen.png","alt":"Screenshot of the execution screen"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSite.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 spo hubsite list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/hubsite/hubsite-list"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":3},{"slug":"spo-get-termstores-hierarchy-using-csom","title":"How to retrieve the hierarchy of all term stores for all levels?","description":"How to access complete term store hierarchies across all levels?","products":["sharepoint"],"categories":["Data"],"tags":["Microsoft.SharePoint.Client.ClientContext","Microsoft.SharePoint.Client.SharePointOnlineCredentials","GetTaxonomySession","Termstores"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2024-03-04","updated":"2024-03-04","authors":[{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about CSOM PowerShell and the cmdlets","description":"Check out the CSOM PowerShell site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/complete-basic-operations-using-sharepoint-client-library-code"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-termstores-hierarchy-using-csom","url":"https://pnp.github.io/script-samples/samples/spo-get-termstores-hierarchy-using-csom/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-termstores-hierarchy-using-csom/README.html","previews":[{"src":"/script-samples/spo-get-termstores-hierarchy-using-csom/assets/preview.png","alt":"Preview of the sample How to retrieve the hierarchy of all term stores for all levels?"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-reindex-sites","title":"Reindex SharePoint sites","description":"Keeping your SharePoint environment up-to-date is crucial, especially after making schema changes - this script streamlines the process of reindexing sites, libraries, or lists.","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","Request-PnPReIndexWeb","Disconnect-PnPOnline","m365 status","m365 login","m365 spo site list","m365 spo web reindex","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.3.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.5.0"}],"created":"2024-02-19","updated":"2024-03-03","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"wobba","name":"Mikael Svenson","pictureUrl":"https://github.com/wobba.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-reindex-sites","url":"https://pnp.github.io/script-samples/samples/spo-reindex-sites/","legacyUrl":"https://pnp.github.io/script-samples/spo-reindex-sites/README.html","previews":[{"src":"/script-samples/spo-reindex-sites/assets/preview.png","alt":"Preview of the sample Reindex SharePoint sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Request-PnPReIndexWeb","url":"https://pnp.github.io/powershell/cmdlets/Request-PnPReIndexWeb.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 spo web reindex","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/web/web-reindex"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-copy-hubsite-navigation","title":"Copy a hub navigation from a source site to any desired target hub site","description":"This script copies a hub navigation from any hub site (source) to another hub site (target)","products":["sharepoint"],"categories":["Data","Provision","Configure"],"tags":["Connect-PnPOnline","Get-PnPConnection","Add-PnPNavigationNode","Get-PnPNavigationNode","Remove-PnPNavigationNode"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.3.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.4.0"}],"created":"2024-02-29","updated":"2024-02-29","authors":[{"handle":"tmaestrini","name":"Tobias Maestrini","pictureUrl":"https://github.com/tmaestrini.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-copy-hubsite-navigation","url":"https://pnp.github.io/script-samples/samples/spo-copy-hubsite-navigation/","legacyUrl":"https://pnp.github.io/script-samples/spo-copy-hubsite-navigation/README.html","previews":[{"src":"/script-samples/spo-copy-hubsite-navigation/assets/preview.png","alt":"Preview of the sample <title>"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPConnection","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPConnection.html"},{"name":"Add-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPNavigationNode.html"},{"name":"Get-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPNavigationNode.html"},{"name":"Remove-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPNavigationNode.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-dev-tenant-report-export","title":"Report and Export Solutions from M365 Developer Tenant","description":"Expiring tenant or need to understand what you have created in the past, report and optionally export your projects and solutions","products":["sharepoint","microsoft-365","graph","power-platform","teams","power-automate","azure"],"categories":["Deploy","Report"],"tags":["Connect-PnPOnline","Export-PnPFlow","Export-PnPPowerApp","Get-PnPApp","Get-PnPAzureADApp","Get-PnPAzureADAppPermission","Get-PnPFile","Get-PnPFlow","Get-PnPList","Get-PnPListItem","Get-PnPPowerApp","Get-PnPPowerPlatformEnvironment","Get-PnPSite","Get-PnPSiteTemplate","Get-PnPTeamsApp","Get-PnPTenant","Get-PnPTenantAppCatalogUrl","Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2024-02-25","updated":"2024-02-28","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-dev-tenant-report-export","url":"https://pnp.github.io/script-samples/samples/spo-dev-tenant-report-export/","legacyUrl":"https://pnp.github.io/script-samples/spo-dev-tenant-report-export/README.html","previews":[{"src":"/script-samples/spo-dev-tenant-report-export/assets/preview.png","alt":"Preview of the sample Report and Export Solutions from M365 Developer Tenant"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Export-PnPFlow","url":"https://pnp.github.io/powershell/cmdlets/Export-PnPFlow.html"},{"name":"Export-PnPPowerApp","url":"https://pnp.github.io/powershell/cmdlets/Export-PnPPowerApp.html"},{"name":"Get-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApp.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Get-PnPFlow","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFlow.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPPowerApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPowerApp.html"},{"name":"Get-PnPPowerPlatformEnvironment","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPowerPlatformEnvironment.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteTemplate.html"},{"name":"Get-PnPTeamsApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsApp.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantAppCatalogUrl","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantAppCatalogUrl.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"m365-get-unifiedlog-spo-dlp-exchange-entra","title":"Get Unified log for SharePoint DLP Exchange and Entra","description":"Understand and track activities within your M365 environment is crucial for maintaining security and compliance.","products":["sharepoint","purview","exchange","entra"],"categories":["Report","Security"],"tags":["modern","Connect-PnPOnline","Get-PnPTenantSite","Get-PnPUnifiedAuditLog","m365 purview auditlog list","m365 login"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.4.0"}],"created":"2024-01-27","updated":"2024-02-18","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/m365-get-unifiedlog-spo-dlp-exchange-entra","url":"https://pnp.github.io/script-samples/samples/m365-get-unifiedlog-spo-dlp-exchange-entra/","legacyUrl":"https://pnp.github.io/script-samples/m365-get-unifiedlog-spo-dlp-exchange-entra/README.html","previews":[{"src":"/script-samples/m365-get-unifiedlog-spo-dlp-exchange-entra/assets/preview.png","alt":"Preview of the sample Get Unified log for SharePoint DLP Exchange and Entra"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPUnifiedAuditLog","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUnifiedAuditLog.html"},{"name":"m365 purview auditlog list","url":"https://pnp.github.io/cli-microsoft365/cmd/purview/auditlog/auditlog-list"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-register-org-assets-library","title":"Register SharePoint Organization Assets Library","description":"This sample script shows how to register a SharePoint document library as an organization assets library.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","SharePoint Online","Connect-SPOService","Add-SPOOrgAssetsLibrary","Disconnect-SPOService","m365 login","m365 status","m365 spo orgassetslibrary add","m365 logout","Connect-PnPOnline","Add-PnPOrgAssetsLibrary","Disconnect-PnPOnline"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23508.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.3.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.3.0"}],"created":"2024-02-03","updated":"2024-02-03","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-register-org-assets-library","url":"https://pnp.github.io/script-samples/samples/spo-register-org-assets-library/","legacyUrl":"https://pnp.github.io/script-samples/spo-register-org-assets-library/README.html","previews":[{"src":"/script-samples/spo-register-org-assets-library/assets/preview.png","alt":"Preview image for script sample"}],"commandReferences":[{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Add-SPOOrgAssetsLibrary","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Add-SPOOrgAssetsLibrary"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo orgassetslibrary add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/orgassetslibrary/orgassetslibrary-add"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPOrgAssetsLibrary","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPOrgAssetsLibrary.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-remove-org-assets-library","title":"Remove SharePoint Organization Assets Library","description":"This sample script shows how to remove a SharePoint document library from organization assets libraries.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","SharePoint Online","Connect-SPOService","Remove-SPOOrgAssetsLibrary","Disconnect-SPOService","m365 login","m365 status","m365 spo orgassetslibrary remove","m365 logout","Connect-PnPOnline","Remove-PnPOrgAssetsLibrary","Disconnect-PnPOnline"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23508.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.3.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.3.0"}],"created":"2024-02-03","updated":"2024-02-03","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-org-assets-library","url":"https://pnp.github.io/script-samples/samples/spo-remove-org-assets-library/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-org-assets-library/README.html","previews":[{"src":"/script-samples/spo-remove-org-assets-library/assets/preview.png","alt":"Preview image for script sample"}],"commandReferences":[{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Remove-SPOOrgAssetsLibrary","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Remove-SPOOrgAssetsLibrary"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo orgassetslibrary remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/orgassetslibrary/orgassetslibrary-remove"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Remove-PnPOrgAssetsLibrary","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPOrgAssetsLibrary.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-download-files-and-archive","title":"Download all files from array of documents urls and archive them","description":"The script downloads all files from array of documents urls and archive them to a zip file","products":["sharepoint"],"categories":["Data"],"tags":["Modern","Files","Documents","Connect-PnPOnline","Get-PnPList","Get-PnPFile","Disconnect-PnPOnline","m365 status","m365 login","m365 spo file get","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.1"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.8.0"}],"created":"2024-02-01","updated":"2024-02-01","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-download-files-and-archive","url":"https://pnp.github.io/script-samples/samples/spo-download-files-and-archive/","legacyUrl":"https://pnp.github.io/script-samples/spo-download-files-and-archive/README.html","previews":[{"src":"/script-samples/spo-download-files-and-archive/assets/preview.png","alt":"preview image showing there is no preview"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo file get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-get"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-add-multiple-folders-in-libraries-using-csv-file","title":"Add multiple folders in libraries using a CSV file","description":"This script will create the folders (not nested) into the libraries provided in the CSV file.","products":["sharepoint"],"categories":["Data","Provision"],"tags":["SharePoint Online","Connect-PnPOnline","Get-PnPWeb","Get-PnPList","Resolve-PnPFolder","m365 status","m365 login","m365 spo list get","m365 spo folder add","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.3.0"}],"created":"2021-05-10","updated":"2024-01-25","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"Jitenparmar","name":"Jiten Parmar","pictureUrl":"https://github.com/Jitenparmar.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-multiple-folders-in-libraries-using-csv-file","url":"https://pnp.github.io/script-samples/samples/spo-add-multiple-folders-in-libraries-using-csv-file/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-multiple-folders-in-libraries-using-csv-file/README.html","previews":[{"src":"/script-samples/spo-add-multiple-folders-in-libraries-using-csv-file/assets/preview.png","alt":"Preview of the sample Add multiple folders in libraries using a CSV file"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Resolve-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Resolve-PnPFolder.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 spo folder add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/folder/folder-add"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":4,"codeBlockCount":4},{"slug":"spo-add-bulk-users-to-groups","title":"Add bulk users to SharePoint site groups from CSV.","description":"Add bulk users to SharePoint site groups from CSV.","products":["sharepoint"],"categories":["Configure","Security"],"tags":["Connect-PnPOnline","Add-PnPGroupMember","Get-PnPGroup","Get-PnPGroupMember","Connect-SPOService","Get-SPOSite","Get-SPOUser","Add-SPOUser","m365 status","m365 login","m365 spo group get","m365 spo group member list","m365 spo group member add","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.3.0"}],"created":"2022-07-05","updated":"2024-01-22","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-bulk-users-to-groups","url":"https://pnp.github.io/script-samples/samples/spo-add-bulk-users-to-groups/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-bulk-users-to-groups/README.html","previews":[{"src":"/script-samples/spo-add-bulk-users-to-groups/assets/preview.png","alt":"Preview of the sample Add bulk users to SharePoint site groups from CSV."}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPGroupMember.html"},{"name":"Get-PnPGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroup.html"},{"name":"Get-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroupMember.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"},{"name":"Get-SPOUser","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOUser"},{"name":"Add-SPOUser","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Add-SPOUser"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo group get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/group/group-get"},{"name":"m365 spo group member list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/group/group-member-list"},{"name":"m365 spo group member add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/group/group-member-add"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-replace-people-in-people-web-part","title":"Replace specific users in the People web part","description":"Replaces specific users in the People web part","products":["sharepoint"],"categories":["Data","Deploy","Provision","Configure","Report"],"tags":["Get-PnPClientSidePage"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.3.0"}],"created":"2024-01-14","updated":"2024-01-14","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-replace-people-in-people-web-part","url":"https://pnp.github.io/script-samples/samples/spo-replace-people-in-people-web-part/","legacyUrl":"https://pnp.github.io/script-samples/spo-replace-people-in-people-web-part/README.html","previews":[{"src":"/script-samples/spo-replace-people-in-people-web-part/assets/preview.png","alt":"Preview of the sample Replace specific users in the People web part"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-all-hub-site-main-sites-and-navigation-nodes","title":"Get All Hub Site Main Sites and Navigation Nodes","description":"Get all hub site main sites and navigation nodes using PnP PowerShell and update nodes if required.","products":["sharepoint"],"categories":["Data","Report"],"tags":["Connect-PnPOnline","Get-PnPHubSiteChild","Get-PnPNavigationNode","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2023-12-13","updated":"2023-12-13","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-all-hub-site-main-sites-and-navigation-nodes","url":"https://pnp.github.io/script-samples/samples/spo-get-all-hub-site-main-sites-and-navigation-nodes/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-all-hub-site-main-sites-and-navigation-nodes/README.html","previews":[{"src":"/script-samples/spo-get-all-hub-site-main-sites-and-navigation-nodes/assets/preview.png","alt":"Preview of the sample Get All Hub Site Main Sites and Navigation Nodes"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPHubSiteChild","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSiteChild.html"},{"name":"Get-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPNavigationNode.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"powerapps-get-app-users-list-csv","title":"Export all PowerApps details and its Role assignments from Tenant in CSV format","description":"This script sample how to export all the PowerApps details and its role assignment in csv format","products":["power-platform"],"categories":["Data","Report","Security"],"tags":["Add-PowerAppsAccount","Get-PowerAppRoleAssignment","Get-AdminPowerApp"],"tools":[{"id":"POWERAPPS-POWERSHELL","label":"Power Apps PowerShell","version":"2.0.0"}],"created":"2021-12-02","updated":"2023-12-12","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"},{"handle":"siddharth-vaghasia","name":"Siddharth Vaghasia","pictureUrl":"https://github.com/siddharth-vaghasia.png?size=64"}],"references":[{"name":"Want to learn more about Power Apps PowerShell and the cmdlets","description":"Check out the Power Apps PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/power-platform/admin/powerapps-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/powerapps-get-app-users-list-csv","url":"https://pnp.github.io/script-samples/samples/powerapps-get-app-users-list-csv/","legacyUrl":"https://pnp.github.io/script-samples/powerapps-get-app-users-list-csv/README.html","previews":[{"src":"/script-samples/powerapps-get-app-users-list-csv/assets/SampleOutPut.png","alt":"Preview of the sample Export all PowerApps details and its Role assignments from Tenant in CSV format"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-bulk-remove-retention-labels","title":"Bulk remove retention labels from files in a SharePoint Library","description":"Bulk remove all retention labels from all files in a library that are labelled with a retention label. These files will now no longer be tagged with a retention label","products":["sharepoint"],"categories":["Security"],"tags":["SharePoint Online","Get-PnPListItem","Retention Label","Invoke-PnPSPRestMethod"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"}],"created":"2023-12-10","updated":"2023-12-10","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-bulk-remove-retention-labels","url":"https://pnp.github.io/script-samples/samples/spo-bulk-remove-retention-labels/","legacyUrl":"https://pnp.github.io/script-samples/spo-bulk-remove-retention-labels/README.html","previews":[{"src":"/script-samples/spo-bulk-remove-retention-labels/assets/preview.png","alt":"Preview of the sample Bulk remove retention labels from files in a SharePoint Library"}],"commandReferences":[{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-enable-disable-search-crawling","title":"Enable/Disable Search Crawling on Sites and Libraries","description":"Control the sites and libraries that get crawled. Also useful for Copilot projects to chose which areas to include","products":["sharepoint","copilot"],"categories":["Configure","Microsoft Copilot"],"tags":["Connect-PnPOnline","Get-PnPWeb","Set-PnPSite","Set-PnPWeb","Get-PnPList","Set-PnPList","Disconnect-PnPOnline","m365 status","m365 login","m365 spo web get","m365 spo site set","m365 spo web set","m365 spo list get","m365 spo list set","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.0.0"}],"created":"2023-11-13","updated":"2023-11-27","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-enable-disable-search-crawling","url":"https://pnp.github.io/script-samples/samples/spo-enable-disable-search-crawling/","legacyUrl":"https://pnp.github.io/script-samples/spo-enable-disable-search-crawling/README.html","previews":[{"src":"/script-samples/spo-enable-disable-search-crawling/assets/preview.png","alt":"Preview of the sample Enable/Disable Search Crawling on Sites and Libraries"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Set-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPSite.html"},{"name":"Set-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPWeb.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo web get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/web/web-get"},{"name":"m365 spo site set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-set"},{"name":"m365 spo web set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/web/web-set"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 spo list set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-import-folderstructure","title":"Export and import library folder structure","description":"This script shows who to export a folderstructure to a JSON file, and import the folder structure into another library","products":["sharepoint","teams"],"categories":["Data","Deploy","Provision","Configure"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.1"}],"created":"2023-11-11","updated":"2023-11-24","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-import-folderstructure","url":"https://pnp.github.io/script-samples/samples/spo-export-import-folderstructure/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-import-folderstructure/README.html","previews":[{"src":"/script-samples/spo-export-import-folderstructure/assets/preview.png","alt":"Preview of the sample Export and import library folder structure"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-checkedoutfiles-nocheckedinversion","title":"Get Checked Out Files including those with no checked in version","description":"This script sample shows how to get checked Out files including those with no checked in version","products":["sharepoint"],"categories":["Data","Report"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","Get-PnPList","Get-PnPContext","Get-PnPUser","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"}],"created":"2023-11-24","updated":"2023-11-24","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-checkedoutfiles-nocheckedinversion","url":"https://pnp.github.io/script-samples/samples/spo-get-checkedoutfiles-nocheckedinversion/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-checkedoutfiles-nocheckedinversion/README.html","previews":[{"src":"/script-samples/spo-get-checkedoutfiles-nocheckedinversion/assets/preview.png","alt":"Preview of the sample Get Checked Out Files including those with no checked in version"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUser.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-highlightcontentwebpart-seeall","title":"How to Hide the 'See All' Button in the Highlighted Content Web Part","description":"This sample shows how to Hide the 'See All' Button in the Highlighted Content Web Part using PnP PowerShell","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Get-PnPClientSidePage","Set-PnPPageWebPart","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"}],"created":"2023-11-10","updated":"2023-11-22","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-highlightcontentwebpart-seeall","url":"https://pnp.github.io/script-samples/samples/spo-update-highlightcontentwebpart-seeall/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-highlightcontentwebpart-seeall/README.html","previews":[{"src":"/script-samples/spo-update-highlightcontentwebpart-seeall/assets/preview.png","alt":"Preview of the sample How to Hide the 'See All' Button in the Highlighted Content Web Part"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPPageWebPart","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPPageWebPart.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-list-installed-apps","title":"List installed apps within Teams in a tenant","description":"Exports the installed apps in Microsoft Teams teams","products":["teams"],"categories":["Report"],"tags":["Invoke-WebRequest","Invoke-RestMethod","m365 login","m365 teams team list","m365 teams team app list"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.2.0"}],"created":"2023-11-22","updated":"2023-11-22","authors":[{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=64"},{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-list-installed-apps","url":"https://pnp.github.io/script-samples/samples/teams-list-installed-apps/","legacyUrl":"https://pnp.github.io/script-samples/teams-list-installed-apps/README.html","previews":[{"src":"/script-samples/teams-list-installed-apps/assets/preview.png","alt":"List installed apps within Teams in a tenant"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 teams team list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-list"},{"name":"m365 teams team app list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-app-list"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"teams-export-details-using-teams-cli","title":"Fetch Microsoft Teams Details And Export To CSV","description":"Retrieve team information such as team name, ID, owner, channels, etc., and export it to CSV using Microsoft Teams PowerShell.","products":["teams"],"categories":["Report","Configure"],"tags":["Connect-MicrosoftTeams","Get-Team","Get-TeamUser","Get-TeamChannel"],"tools":[{"id":"MICROSOFTTEAMS-POWERSHELL","label":"Teams PowerShell","version":"3.0.0"}],"created":"2023-11-16","updated":"2023-11-16","authors":[{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Teams PowerShell and the cmdlets","description":"Check out the Microsoft Teams PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/microsoftteams/teams-powershell-overview"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-export-details-using-teams-cli","url":"https://pnp.github.io/script-samples/samples/teams-export-details-using-teams-cli/","legacyUrl":"https://pnp.github.io/script-samples/teams-export-details-using-teams-cli/README.html","previews":[{"src":"/script-samples/teams-export-details-using-teams-cli/assets/preview.png","alt":"Preview of the sample Fetch Microsoft Teams Details And Export To CSV"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-reorder-list-content-type","title":"Reorder Content Types in SharePoint List","description":"This script guides how to rearrange content types in a SharePoint list using PnP PowerShell.","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","ContentTypes","Connect-PnPOnline","Invoke-PnPQuery","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"}],"created":"2023-11-15","updated":"2023-11-15","authors":[{"handle":"Amanp17","name":"Aman Panjwani","pictureUrl":"https://github.com/Amanp17.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-reorder-list-content-type","url":"https://pnp.github.io/script-samples/samples/spo-reorder-list-content-type/","legacyUrl":"https://pnp.github.io/script-samples/spo-reorder-list-content-type/README.html","previews":[{"src":"/script-samples/spo-reorder-list-content-type/assets/preview.png","alt":"Content Types in SharePoint Lists"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"powerapps-get-all-apps","title":"Get all PowerApps in your tenant","description":"Sample script to create a lists of all apps in your tenant and exports to CSV","products":["power-platform"],"categories":["Report"],"tags":["Get-AdminPowerApp"],"tools":[{"id":"POWERAPPS-POWERSHELL","label":"Power Apps PowerShell","version":"2.0.0"}],"created":"2023-11-13","updated":"2023-11-13","authors":[{"handle":"JimmyHang","name":"Jimmy Hang","pictureUrl":"https://github.com/JimmyHang.png?size=64"}],"references":[{"name":"Want to learn more about Power Apps PowerShell and the cmdlets","description":"Check out the Power Apps PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/power-platform/admin/powerapps-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/powerapps-get-all-apps","url":"https://pnp.github.io/script-samples/samples/powerapps-get-all-apps/","legacyUrl":"https://pnp.github.io/script-samples/powerapps-get-all-apps/README.html","previews":[{"src":"/script-samples/powerapps-get-all-apps/assets/preview.png","alt":"Preview of the sample Get all PowerApps in your tenant"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-disable-template-dialog","title":"Disable Web Templates Gallery First Run Dialog","description":"Disable Web Templates Gallery First Run Dialog","products":["sharepoint"],"categories":["Deploy","Provision","Configure"],"tags":["Connect-PnPOnline","Get-PnPWeb","Invoke-PnPQuery"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"}],"created":"2023-10-30","updated":"2023-10-30","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-disable-template-dialog","url":"https://pnp.github.io/script-samples/samples/spo-disable-template-dialog/","legacyUrl":"https://pnp.github.io/script-samples/spo-disable-template-dialog/README.html","previews":[{"src":"/script-samples/spo-disable-template-dialog/assets/preview.png","alt":"Preview of the sample Disable Web Templates Gallery First Run Dialog"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"flow-how-to-automate-your-flow-test","title":"Simple way how to automate your flowtest","description":"You can use my Script as a base to build your own automation for testing flows.","products":["power-automate"],"categories":["Data","Deploy"],"tags":["m365 login","m365 flow environment get","m365 flow list","m365 flow run list","m365 spo listitem add","m365 flow run get","m365 spo listitem set","m365 logout"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.6.0"}],"created":"2023-10-30","updated":"2023-10-30","authors":[{"handle":"joshua-probst","name":"Joshua Probst","pictureUrl":"https://github.com/joshua-probst.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/flow-how-to-automate-your-flow-test","url":"https://pnp.github.io/script-samples/samples/flow-how-to-automate-your-flow-test/","legacyUrl":"https://pnp.github.io/script-samples/flow-how-to-automate-your-flow-test/README.html","previews":[{"src":"/script-samples/flow-how-to-automate-your-flow-test/assets/preview.png","alt":"Preview of the sample Simple way how to automate your flowtest"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 flow environment get","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/environment/environment-get"},{"name":"m365 flow list","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/flow-list"},{"name":"m365 flow run list","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/run/run-list"},{"name":"m365 spo listitem add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-add"},{"name":"m365 flow run get","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/run/run-get"},{"name":"m365 spo listitem set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":4,"codeBlockCount":4},{"slug":"spo-export-page-html","title":"Export HTML content from SharePoint Online modern pages","description":"Export the text content of SharePoint Online modern pages as HTML files for analysis with tools that do not connect to SharePoint.","products":["sharepoint"],"categories":["Data"],"tags":["Get-PnPList","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"}],"created":"2023-10-29","updated":"2023-10-29","authors":[{"handle":"jackpoz","name":"Giacomo Pozzoni","pictureUrl":"https://github.com/jackpoz.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-page-html","url":"https://pnp.github.io/script-samples/samples/spo-export-page-html/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-page-html/README.html","previews":[{"src":"/script-samples/spo-export-page-html/assets/preview.png","alt":"Preview of the sample Export HTML content from SharePoint Online modern pages"}],"commandReferences":[{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-list-disable-quick-property-editing","title":"Disable Quick property editing (Grid view) from SharePoint list","description":"This sample script will show you how to disable the Quick property editing (Grid view) from SharePoint list.","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Connect-PnPOnline","Set-PnPList","Disconnect-PnPOnline","m365 status","m365 login","m365 spo list set","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.0.0"}],"created":"2023-10-26","updated":"2023-10-26","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-disable-quick-property-editing","url":"https://pnp.github.io/script-samples/samples/spo-list-disable-quick-property-editing/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-disable-quick-property-editing/README.html","previews":[{"src":"/script-samples/spo-list-disable-quick-property-editing/assets/preview.png","alt":"Image preview of the Quick property editing (Grid view) option in SharePoint list"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"graph-delay-message-delivery","title":"Send a delayed message","description":"This script shows how to send a delayed message with the Microsoft Graph PowerShell SDK","products":["graph"],"categories":["Modernize","Data"],"tags":["Send-MgUserMail"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2023-10-26","updated":"2023-10-26","authors":[{"handle":"MartinM85","name":"Martin Macháček","pictureUrl":"https://github.com/MartinM85.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-delay-message-delivery","url":"https://pnp.github.io/script-samples/samples/graph-delay-message-delivery/","legacyUrl":"https://pnp.github.io/script-samples/graph-delay-message-delivery/README.html","previews":[{"src":"/script-samples/graph-delay-message-delivery/assets/preview.png","alt":"Preview of the sample Send a delayed message"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-export-direct-routing-calls","title":"Export Microsoft Teams Direct Routing Calls","description":"Exports the log of direct routing calls for a given duration","products":["teams"],"categories":["Report"],"tags":["Invoke-WebRequest","Invoke-RestMethod","m365 login","m365 teams report directroutingcalls"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.0.0"}],"created":"2023-10-24","updated":"2023-10-24","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-export-direct-routing-calls","url":"https://pnp.github.io/script-samples/samples/teams-export-direct-routing-calls/","legacyUrl":"https://pnp.github.io/script-samples/teams-export-direct-routing-calls/README.html","previews":[{"src":"/script-samples/teams-export-direct-routing-calls/assets/preview.png","alt":"Export Microsoft Teams Direct Routing Calls"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 teams report directroutingcalls","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/report/report-directroutingcalls"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"teams-export-pstn-call-logs","title":"Export Microsoft Teams PSTN call logs","description":"Exports the log of PSTN calls for a given duration","products":["teams"],"categories":["Report"],"tags":["Invoke-WebRequest","Invoke-RestMethod","m365 login","m365 teams report pstncalls"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.0.0"}],"created":"2023-10-24","updated":"2023-10-24","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-export-pstn-call-logs","url":"https://pnp.github.io/script-samples/samples/teams-export-pstn-call-logs/","legacyUrl":"https://pnp.github.io/script-samples/teams-export-pstn-call-logs/README.html","previews":[{"src":"/script-samples/teams-export-pstn-call-logs/assets/preview.png","alt":"Export Microsoft Teams PSTN call logs"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 teams report pstncalls","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/report/report-pstncalls"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-bulk-creation-sharepoint-sites-csv","title":"Creation of SharePoint Online sites from CSV","description":"This script helps you in creation of SharePoint Online Communication and Team sites in bulk. It takes an input from CSV.","products":["sharepoint"],"categories":["Provision"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","New-PnPSite","Disconnect-PnPOnline","m365 status","m365 login","m365 spo site get","m365 spo site add","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"7.0.0"}],"created":"2023-10-03","updated":"2023-10-23","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"kzkalra","name":"Kshitiz Kalra","pictureUrl":"https://github.com/kzkalra.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-bulk-creation-sharepoint-sites-csv","url":"https://pnp.github.io/script-samples/samples/spo-bulk-creation-sharepoint-sites-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-bulk-creation-sharepoint-sites-csv/README.html","previews":[{"src":"/script-samples/spo-bulk-creation-sharepoint-sites-csv/assets/preview.png","alt":"Preview of the sample Creation of SharePoint Online sites from CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"New-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/New-PnPSite.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-get"},{"name":"m365 spo site add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-add"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-lists-libraries-item-count-permissions","title":"Export all List and Libraries with Item count and Permission in CSV","description":"Get all lists and Libraries along with total Item count and permissions and export it in CSV","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPProperty","m365 status","m365 login","m365 spo list list","m365 spo list view list"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2021-10-08","updated":"2023-10-19","authors":[{"handle":"getalex","name":"Alex Talarico","pictureUrl":"https://github.com/getalex.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"dips365","name":"Dipen Shah","pictureUrl":"https://github.com/dips365.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-lists-libraries-item-count-permissions","url":"https://pnp.github.io/script-samples/samples/spo-get-lists-libraries-item-count-permissions/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-lists-libraries-item-count-permissions/README.html","previews":[{"src":"/script-samples/spo-get-lists-libraries-item-count-permissions/assets/preview.png","alt":"Preview of the sample Export all List and Libraries with Item count and Permission in CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-list"},{"name":"m365 spo list view list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-list"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"graph-update-user-photo","title":"Add or Update User Photo","description":"The script streamlines the process of updating user photos of images stored locally. It ensures efficient handling of both successful updates and errors, providing an organized approach to managing user photos within Microsoft 365","products":["graph"],"categories":["Data","Provision","Configure"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2023-10-13","updated":"2023-10-13","authors":[{"handle":"petkir","name":"Peter Paul Kirschner","pictureUrl":"https://github.com/petkir.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-update-user-photo","url":"https://pnp.github.io/script-samples/samples/graph-update-user-photo/","legacyUrl":"https://pnp.github.io/script-samples/graph-update-user-photo/README.html","previews":[{"src":"/script-samples/graph-update-user-photo/assets/preview.png","alt":"Preview of the sample Add or Update User Photo"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-archive-inactive-teams","title":"List and archives inactive Teams","description":"This script lists and archives all the inactive teams","products":["teams"],"categories":["Data"],"tags":["Invoke-RestMethod"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.3.0"}],"created":"2023-08-06","updated":"2023-10-13","authors":[{"handle":"HeinrichKrause","name":"Heinrich Krause","pictureUrl":"https://github.com/HeinrichKrause.png?size=64"},{"handle":"nicodecleyre","name":"Nico De Cleyre","pictureUrl":"https://github.com/nicodecleyre.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-archive-inactive-teams","url":"https://pnp.github.io/script-samples/samples/teams-archive-inactive-teams/","legacyUrl":"https://pnp.github.io/script-samples/teams-archive-inactive-teams/README.html","previews":[{"src":"/script-samples/teams-archive-inactive-teams/assets/preview.png","alt":"Preview of the sample List and archives inactive Teams"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-get-sites-membership-report","title":"Get membership report of a site","description":"The script export site membership details to a CSV file","products":["sharepoint"],"categories":["Data","Report","Security"],"tags":["Get-PnPTenantSite","Get-PnPMicrosoft365GroupOwner","Get-PnPMicrosoft365GroupMember","Get-PnPSiteCollectionAdmin","Get-PnPGroupMember"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.3.6"}],"created":"2023-10-12","updated":"2023-10-12","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-sites-membership-report","url":"https://pnp.github.io/script-samples/samples/spo-get-sites-membership-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-sites-membership-report/README.html","previews":[{"src":"/script-samples/spo-get-sites-membership-report/assets/preview.png","alt":"Preview of the sample Get membership report of a site"}],"commandReferences":[{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupOwner.html"},{"name":"Get-PnPMicrosoft365GroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupMember.html"},{"name":"Get-PnPSiteCollectionAdmin","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteCollectionAdmin.html"},{"name":"Get-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroupMember.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-all-customformatting","title":"Backup all custom formatting on a site","description":"A script that let's you easily backup all custom formatting on a site","products":["sharepoint"],"categories":["Data"],"tags":["modern","Connect-PnPOnline","Get-PnPWeb","Get-PnPList","-Includes"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"}],"created":"2023-10-02","updated":"2023-10-02","authors":[{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-all-customformatting","url":"https://pnp.github.io/script-samples/samples/spo-export-all-customformatting/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-all-customformatting/README.html","previews":[{"src":"/script-samples/spo-export-all-customformatting/assets/preview.png","alt":"Preview of the sample Backup all custom formatting on a site"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-add-language-settings","title":"Add an alternate language to SharePoint Online Site","description":"This script adds a new language to the SharePoint Online site with the help of language LCID decimal. ","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Get-PnPWeb","Invoke-PnPQuery","sharepoint-online"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"}],"created":"2023-09-29","updated":"2023-09-29","authors":[{"handle":"kzkalra","name":"Kshitiz Kalra","pictureUrl":"https://github.com/kzkalra.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-language-settings","url":"https://pnp.github.io/script-samples/samples/spo-add-language-settings/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-language-settings/README.html","previews":[{"src":"/script-samples/spo-add-language-settings/assets/preview.png","alt":"Preview of the sample Add an alternate language to SharePoint Online Site"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"azure-open-ai-byod-powershell","title":"Bring you own data with Azure Open AI example","description":"Using Azure Open AI and Azure Cognitve Search with Semantic Index, this example shows how you can call the AI service with your own data.","products":["azure"],"categories":["Data","AI"],"tags":["Invoke-RestMethod"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.3.0"}],"created":"2023-09-24","updated":"2023-09-24","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/azure-open-ai-byod-powershell","url":"https://pnp.github.io/script-samples/samples/azure-open-ai-byod-powershell/","legacyUrl":"https://pnp.github.io/script-samples/azure-open-ai-byod-powershell/README.html","previews":[{"src":"/script-samples/azure-open-ai-byod-powershell/assets/preview.png","alt":"Preview of the sample Bring you own data example with Azure Open AI"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-report-files-incidents","title":"Report of SharePoint Files Incidents","description":"Tracks the list of people who edit each file and exports the complete list of editors in the library. This allows us to identify users who shouldn't have editing rights or those who edited files only occasionally and then stopped.","products":["sharepoint"],"categories":["Report"],"tags":["Invoke-PnPSPRestMethod","Get-PnPProperty","Get-PnPList","Get-PnPListItem","PowerShell"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.3.7"}],"created":"2023-09-22","updated":"2023-09-22","authors":[{"handle":"mkm17","name":"Michał Kornet","pictureUrl":"https://github.com/mkm17.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-report-files-incidents","url":"https://pnp.github.io/script-samples/samples/spo-export-report-files-incidents/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-report-files-incidents/README.html","previews":[{"src":"/script-samples/spo-export-report-files-incidents/assets/preview.png","alt":"Preview of the sample spo-export-report-files-incidents"}],"commandReferences":[{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-export-channel-conversations-to-html","title":"Export Teams's Channel Conversation to html file","description":"This PowerShell script will export the teams channel conversations to an HTML file with expand collapse feature based on Teams and channel.","products":["teams"],"categories":["Data","Report"],"tags":["m365 login","m365 teams team list","m365 teams channel list","m365 teams message list","m365 teams message reply list","m365 logout"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.6.0"}],"created":"2023-09-17","updated":"2023-09-17","authors":[{"handle":"siddharth-vaghasia","name":"Siddharth Vaghasia","pictureUrl":"https://github.com/siddharth-vaghasia.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-export-channel-conversations-to-html","url":"https://pnp.github.io/script-samples/samples/teams-export-channel-conversations-to-html/","legacyUrl":"https://pnp.github.io/script-samples/teams-export-channel-conversations-to-html/README.html","previews":[{"src":"/script-samples/teams-export-channel-conversations-to-html/assets/preview.png","alt":"Preview of the sample Export Teams's Channel Conversation to html file"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 teams team list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-list"},{"name":"m365 teams channel list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/channel/channel-list"},{"name":"m365 teams message list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/message/message-list"},{"name":"m365 teams message reply list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/message/message-reply-list"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"export-inactive-sites-based-on-days-to-csv","title":"Export Inactive Sites Based On Days To CSV","description":"This script exports all inactive sites based on certain number of days to CSV.","products":["sharepoint"],"categories":["Report","Data"],"tags":["SharePoint Online","Connect-PnPOnline","Get-PnPTenantSite","Connect-SPOService","Get-SPOSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"}],"created":"2023-09-13","updated":"2023-09-15","authors":[{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/export-inactive-sites-based-on-days-to-csv","url":"https://pnp.github.io/script-samples/samples/export-inactive-sites-based-on-days-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/export-inactive-sites-based-on-days-to-csv/README.html","previews":[{"src":"/script-samples/export-inactive-sites-based-on-days-to-csv/assets/preview.png","alt":"Preview of the sample <title>"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"pnp-modern-searchv3-scanner","title":"PnP Modern Search V3 usage scanner","description":"Find the pages where a v3 of PnP Modern Search web parts have been used, export report to CSV","products":["sharepoint"],"categories":["Modernize"],"tags":["Connect-PnPOnline","Submit-PnPSearchQuery","PnP Modern Search"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.20.0"}],"created":"2023-09-14","updated":"2023-09-14","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/pnp-modern-searchv3-scanner","url":"https://pnp.github.io/script-samples/samples/pnp-modern-searchv3-scanner/","legacyUrl":"https://pnp.github.io/script-samples/pnp-modern-searchv3-scanner/README.html","previews":[{"src":"/script-samples/pnp-modern-searchv3-scanner/assets/preview.png","alt":"Preview of the sample PnP Modern Search V3 usage scanner"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Submit-PnPSearchQuery","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPSearchQuery.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-create-library-add-contenttype","title":"Create Library and add custom Content Type","description":"Script to create SharePoint document library and add custom content type","products":["sharepoint"],"categories":["Provision"],"tags":["Connect-PnPOnline","Get-PnPConnection","Disconnect-PnPOnline","Get-PnPList","New-PnPList","Get-PnPContentType","Add-PnPContentType","Add-PnPContentTypeToList","Set-PnPDefaultContentTypeToList","Remove-PnPContentTypeFromList","m365 status","m365 login","m365 logout","m365 spo list get","m365 spo list add","m365 spo contenttype get","m365 spo contenttype add","m365 spo list contenttype add","m365 spo list contenttype default set","m365 spo list contenttype remove"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.11.0"}],"created":"2023-08-22","updated":"2023-09-12","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"ahamedfazil","name":"Ahamed Fazil Buhari","pictureUrl":"https://github.com/ahamedfazil.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-create-library-add-contenttype","url":"https://pnp.github.io/script-samples/samples/spo-create-library-add-contenttype/","legacyUrl":"https://pnp.github.io/script-samples/spo-create-library-add-contenttype/README.html","previews":[{"src":"/script-samples/spo-create-library-add-contenttype/assets/preview.png","alt":"Create Library and add custom Content Type"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPConnection","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPConnection.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Add-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentType.html"},{"name":"Add-PnPContentTypeToList","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentTypeToList.html"},{"name":"Set-PnPDefaultContentTypeToList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPDefaultContentTypeToList.html"},{"name":"Remove-PnPContentTypeFromList","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPContentTypeFromList.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 spo list add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-add"},{"name":"m365 spo contenttype get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/contenttype/contenttype-get"},{"name":"m365 spo contenttype add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/contenttype/contenttype-add"},{"name":"m365 spo list contenttype add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-contenttype-add"},{"name":"m365 spo list contenttype default set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-contenttype-default-set"},{"name":"m365 spo list contenttype remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-contenttype-remove"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-create-colored-folder","title":"Create Colored Folder","description":"This sample code creates a Colored Folder in a SharePoint document library.","products":["sharepoint"],"categories":["Provision"],"tags":["Connect-PnPOnline","Add-PnPFolder","Get-PnPListItem","Set-PnPListItem","Disconnect-PnPOnline","m365 login","m365 status","m365 spo folder add","m365 spo listitem get","m365 spo listitem set","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.11.0"}],"created":"2023-09-03","updated":"2023-09-08","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"tecchan1107","name":"Tetsuya Kawahara","pictureUrl":"https://github.com/tecchan1107.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-create-colored-folder","url":"https://pnp.github.io/script-samples/samples/spo-create-colored-folder/","legacyUrl":"https://pnp.github.io/script-samples/spo-create-colored-folder/README.html","previews":[{"src":"/script-samples/spo-create-colored-folder/assets/preview.png","alt":"Screenshot of colored folders"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFolder.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo folder add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/folder/folder-add"},{"name":"m365 spo listitem get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-get"},{"name":"m365 spo listitem set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-find-web-part-in-pages","title":"Find Web Part in Pages e.g., Twitter Web Part","description":"Find a specific Web part in pages or templates, for example, defualting to and finding Twitter Web parts","products":["sharepoint"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPPage","Get-PnPPageComponent","Get-PnPWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2023-09-04","updated":"2023-09-04","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-find-web-part-in-pages","url":"https://pnp.github.io/script-samples/samples/spo-find-web-part-in-pages/","legacyUrl":"https://pnp.github.io/script-samples/spo-find-web-part-in-pages/README.html","previews":[{"src":"/script-samples/spo-find-web-part-in-pages/assets/preview.png","alt":"Preview of the sample Find and Optionally Remove the Twitter Web Part"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPage.html"},{"name":"Get-PnPPageComponent","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPageComponent.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-copy-list","title":"Copy SharePoint List","description":"Script to copy SharePoint list to a different site","products":["sharepoint"],"categories":["Provision"],"tags":["m365 login","m365 status","m365 context option set","m365 spo list get","m365 spo list view list","m365 spo field list","m365 spo list add","m365 spo list set","m365 spo list roleinheritance break","m365 spo list roleassignment add","m365 spo field add","m365 spo list view add","Get-PnPContext","Connect-PnPOnline","Get-PnPList","New-PnPList","Set-PnPList","Get-PnPRoleDefinition","Set-PnPListPermission","Get-PnPField","Add-PnPFieldFromXml","Add-PnPView"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.8.0"}],"created":"2023-06-20","updated":"2023-08-14","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-copy-list","url":"https://pnp.github.io/script-samples/samples/spo-copy-list/","legacyUrl":"https://pnp.github.io/script-samples/spo-copy-list/README.html","previews":[{"src":"/script-samples/spo-copy-list/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 context option set","url":"https://pnp.github.io/cli-microsoft365/cmd/context/option/option-set"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 spo list view list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-list"},{"name":"m365 spo field list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-list"},{"name":"m365 spo list add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-add"},{"name":"m365 spo list set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-set"},{"name":"m365 spo list roleinheritance break","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-roleinheritance-break"},{"name":"m365 spo list roleassignment add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-roleassignment-add"},{"name":"m365 spo field add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-add"},{"name":"m365 spo list view add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-add"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Get-PnPRoleDefinition","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPRoleDefinition.html"},{"name":"Set-PnPListPermission","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListPermission.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Add-PnPFieldFromXml","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFieldFromXml.html"},{"name":"Add-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPView.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-sites-with-unique-permissions","title":"Get sites report throughout the tenant which has unique permissions","description":"This scripts gets the report of sites in a tenant which is having unique permissions","products":["sharepoint"],"categories":["Data","Report","Security"],"tags":["Connect-PnPOnline","Get-PnPWeb","Get-PnPGroup"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.2.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.3.6"}],"created":"2023-08-03","updated":"2023-08-03","authors":[{"handle":"NishkalankBezawada","name":"Nishkalank Bezawada","pictureUrl":"https://github.com/NishkalankBezawada.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-sites-with-unique-permissions","url":"https://pnp.github.io/script-samples/samples/spo-get-sites-with-unique-permissions/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-sites-with-unique-permissions/README.html","previews":[{"src":"/script-samples/spo-get-sites-with-unique-permissions/assets/example.png","alt":"example of the sample spo-get-sites-with-unique-permissions"},{"src":"/script-samples/spo-get-sites-with-unique-permissions/assets/preview.png","alt":"Preview of the sample spo-get-sites-with-unique-permissions"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroup.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-add-sppkg-ad-app-certificate","title":"Add SharePoint Framework package to the app catalog and Azure AD app certificate","description":"This is example script how to add SharePoint Framework package to the app catalog using Microsoft 365 CLI and Azure AD app certificate.","products":["sharepoint"],"categories":["Deploy"],"tags":["m365 login","m365 aad app add","m365 spo site apppermission add","m365 spo set","m365 status","m365 spo app add","Microsoft 365 cli"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.14.22"}],"created":"2023-07-27","updated":"2023-07-27","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-sppkg-ad-app-certificate","url":"https://pnp.github.io/script-samples/samples/spo-add-sppkg-ad-app-certificate/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-sppkg-ad-app-certificate/README.html","previews":[{"src":"/script-samples/spo-add-sppkg-ad-app-certificate/assets/preview.png","alt":"Preview of the sample Add SharePoint Framework package to the app catalog and Azure AD app certificate"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site apppermission add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-apppermission-add"},{"name":"m365 spo set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/spo-set"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo app add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/app/app-add"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-largelist-pnpbatch-with-retry","title":"Update large list with PnP-Batch with retries to address throttling challenges","description":"This sample shows how to efficiently update a large SharePoint list of 60,000 or more items using PnP-Batch, significantly reducing update time.","products":["sharepoint"],"categories":["Configure","Security"],"tags":["Connect-PnPOnline","New-PnPBatch","Get-PnPListItem","Set-PnPListItem","Invoke-PnPBatch"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"}],"created":"2023-07-27","updated":"2023-07-27","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-largelist-pnpbatch-with-retry","url":"https://pnp.github.io/script-samples/samples/spo-update-largelist-pnpbatch-with-retry/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-largelist-pnpbatch-with-retry/README.html","previews":[{"src":"/script-samples/spo-update-largelist-pnpbatch-with-retry/assets/preview.png","alt":"Preview of the sample Update large list with PnP-Batch with retries to address throttling challenges"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"New-PnPBatch","url":"https://pnp.github.io/powershell/cmdlets/New-PnPBatch.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"},{"name":"Invoke-PnPBatch","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPBatch.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-bulk-delete-recyclebin-in-batch-avoid-lvt","title":"Bulk delete recycle bin items from a site in batch","description":"This script will delete items from recyclebin in bulk while avoiding List View Threshold issues.","products":["sharepoint"],"categories":["Data","Report"],"tags":["Connect-PnPOnline","Get-PnPRecycleBinItem","Invoke-PnPSPRestMethod"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2023-07-25","updated":"2023-07-25","authors":[{"handle":"EilafBarmare","name":"Eilaf Barmare","pictureUrl":"https://github.com/EilafBarmare.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-bulk-delete-recyclebin-in-batch-avoid-lvt","url":"https://pnp.github.io/script-samples/samples/spo-bulk-delete-recyclebin-in-batch-avoid-lvt/","legacyUrl":"https://pnp.github.io/script-samples/spo-bulk-delete-recyclebin-in-batch-avoid-lvt/README.html","previews":[{"src":"/script-samples/spo-bulk-delete-recyclebin-in-batch-avoid-lvt/assets/preview.png","alt":"Preview of the sample Bulk delete recycle bin items from a site in batch"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPRecycleBinItem.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-storage-site-versionsrecyclebin","title":"Get storage breakdown by file size, file version size and recycle bin","description":"Get storage breakdown by file size, file version size and recycle bin.","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPFile","Get-PnPFileVersion","Get-PnPList","Get-PnPListItem","Get-PnPRecycleBinItem","Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-07-09","updated":"2023-07-09","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-storage-site-versionsrecyclebin","url":"https://pnp.github.io/script-samples/samples/spo-get-storage-site-versionsrecyclebin/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-storage-site-versionsrecyclebin/README.html","previews":[{"src":"/script-samples/spo-get-storage-site-versionsrecyclebin/assets/Preview.png","alt":"Preview of the sample Get storage breakdown by file size, file version size and recycle bin"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Get-PnPFileVersion","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFileVersion.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPRecycleBinItem.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-connect-to-graph","title":"Connect to Graph using V1 or V2 or the SDK","description":"This function detects the graph version and connects accordingly","products":["graph"],"categories":["Configure"],"tags":["bash","classic","Invoke-RestMethod","Import-Module","Connect-MgGraph","Select-MgProfile"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2023-07-06","updated":"2023-07-06","authors":[{"handle":"andrew-s-taylor","name":"Andrew Taylor","pictureUrl":"https://github.com/andrew-s-taylor.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-connect-to-graph","url":"https://pnp.github.io/script-samples/samples/graph-connect-to-graph/","legacyUrl":"https://pnp.github.io/script-samples/graph-connect-to-graph/README.html","previews":[{"src":"/script-samples/graph-connect-to-graph/assets/preview.png","alt":"Preview of the Graph Connection Function"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"user-language-for-site","title":"Testing user preferred language of SharePoint site","description":"Changes the MUI setting for a user within the User Information List","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPListItem","Set-PnPListItem","Disconnect-PnPOnline","m365 status","m365 login","m365 spo listitem get","m365 spo listitem list","m365 spo listitem set","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.8.0"}],"created":"2021-05-11","updated":"2023-06-30","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/user-language-for-site","url":"https://pnp.github.io/script-samples/samples/user-language-for-site/","legacyUrl":"https://pnp.github.io/script-samples/user-language-for-site/README.html","previews":[{"src":"/script-samples/user-language-for-site/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo listitem get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-get"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"},{"name":"m365 spo listitem set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-deploy-install-update-spfx-hubsite-associatedsites","title":"Deploys and Installs SharePoint Framework (SPFx) solutions to Hub Site and Associated Sites","description":"Deploys and Installs SharePoint Framework (SPFx) solutions to Hub Site and Associated Sites","products":["sharepoint"],"categories":["Modernize","Deploy","Provision"],"tags":["modern","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPTenantSite","Add-PnPSiteCollectionAppCatalog","Add-PnPApp","Get-PnPApp","Install-PnPApp","Update-PnPApp","Get-PnPHubSite","Get-PnPSite","Get-PnPSiteCollectionAppCatalog","Get-PnPTenant","Get-PnPWeb","Invoke-PnPSPRestMethod"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-04-12","updated":"2023-06-28","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-deploy-install-update-spfx-hubsite-associatedsites","url":"https://pnp.github.io/script-samples/samples/spo-deploy-install-update-spfx-hubsite-associatedsites/","legacyUrl":"https://pnp.github.io/script-samples/spo-deploy-install-update-spfx-hubsite-associatedsites/README.html","previews":[{"src":"/script-samples/spo-deploy-install-update-spfx-hubsite-associatedsites/assets/preview.png","alt":"Preview of the sample Deploys and Installs SharePoint Framework (SPFx) solutions to Hub Site and Associated Sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Add-PnPSiteCollectionAppCatalog","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPSiteCollectionAppCatalog.html"},{"name":"Add-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPApp.html"},{"name":"Get-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApp.html"},{"name":"Install-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Install-PnPApp.html"},{"name":"Update-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Update-PnPApp.html"},{"name":"Get-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSite.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPSiteCollectionAppCatalog","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteCollectionAppCatalog.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-most-recent-update-report","title":"Generate a csv report for a selection of site collections showing the time of the most recent update by any user","description":"This script show the date of the most recent update ","products":["sharepoint","graph","azure"],"categories":["Data","Report"],"tags":["Connect-PnPOnline","Get-PnPAccessToken","Invoke-RestMethod","Get-PnPProperty"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2023-06-27","updated":"2023-06-27","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-most-recent-update-report","url":"https://pnp.github.io/script-samples/samples/spo-most-recent-update-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-most-recent-update-report/README.html","previews":[{"src":"/script-samples/spo-most-recent-update-report/assets/preview.png","alt":"Preview of the sample Generate a csv report for a selection of site collections showing the time of the most recent update by any user"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPAccessToken","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPAccessToken.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"openai-function-calling-tfl-status","title":"Get TfL (Transport for London) status with OpenAI function calling feature","description":"This sample shows how to use OpenAI's function calling feature and get status of a TfL line.","products":["openai"],"categories":["Report","AI"],"tags":["Invoke-WebRequest","Status","Summary"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2023-06-21","updated":"2023-06-21","authors":[{"handle":"anoopt","name":"Anoop Tatti","pictureUrl":"https://github.com/anoopt.png?size=64"}],"references":[{"name":"Want to learn more about OpenAI API","description":"If you're interested in learning more about OpenAI API and its capabilities, this link provides a list of resources and tools to help you get started. Whether you're a developer looking to integrate Open AI into your applications or a researcher exploring the latest advances in artificial intelligence, this guide offers a range of helpful resources, including documentation, tutorials, and community forums.","url":"https://platform.openai.com/docs/introduction"},{"name":"Want to learn more about OpenAI Function calling","description":"If you're interested in learning more about OpenAI function calling, this link provides more details.","url":"https://openai.com/blog/function-calling-and-other-api-updates"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/openai-function-calling-tfl-status","url":"https://pnp.github.io/script-samples/samples/openai-function-calling-tfl-status/","legacyUrl":"https://pnp.github.io/script-samples/openai-function-calling-tfl-status/README.html","previews":[{"src":"/script-samples/openai-function-calling-tfl-status/assets/preview.png","alt":"Preview of the sample Get TfL (Transport for London) status with OpenAI function calling feature"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-add-formextension-to-list","title":"Associate Form Customizer Extension with List or Libraries Form","description":"This script allows you to associate Form Customizer Extension to List/Library via Content Type properties","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Connect-PnPOnline","Set-PnPContentType","Disconnect-PnPOnline","m365 status","m365 login","m365 spo contenttype set","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.9.0 (beta)"}],"created":"2022-11-20","updated":"2023-06-20","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"siddharth-vaghasia","name":"Siddharth Vaghasia","pictureUrl":"https://github.com/siddharth-vaghasia.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-formextension-to-list","url":"https://pnp.github.io/script-samples/samples/spo-add-formextension-to-list/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-formextension-to-list/README.html","previews":[{"src":"/script-samples/spo-add-formextension-to-list/assets/preview.png","alt":"Preview of the sample Associate Form Customizer Extension with List or Libraries Form"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPContentType.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo contenttype set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/contenttype/contenttype-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"remove-delete-option-library","title":"Remove delete option on a document library","description":"Remove the delete option on a document library to prevent users from accidentally deleting libraries","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Connect-PnPOnline","Set-PnPList","Disconnect-PnPOnline","m365 status","m365 login","m365 spo list set","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"Current Nightly (after v2.1.1)"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.8.0"}],"created":"2018-09-17","updated":"2023-06-10","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/remove-delete-option-library","url":"https://pnp.github.io/script-samples/samples/remove-delete-option-library/","legacyUrl":"https://pnp.github.io/script-samples/remove-delete-option-library/README.html","previews":[{"src":"/script-samples/remove-delete-option-library/assets/preview.png","alt":"image preview of the completed change - no delete option"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"graph-disable-user-license","title":"Deactivate User License","description":"This script connects to Micrsoft Graph and searches all Microsoft E3 Licenses for YAMMER_Enterprise licenses. It will then deactivate the Yammer license within Office 365, it can be used to remove other Office 365 licenses as well","products":["graph"],"categories":["Provision"],"tags":["Connect-Graph","Get-MgUser","Get-MgSubscribedSku","Get-MgUserLicenseDetail","Set-MgUserLicense"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2023-06-07","updated":"2023-06-07","authors":[{"handle":"Goonie78","name":"Brad Chaney","pictureUrl":"https://github.com/Goonie78.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-disable-user-license","url":"https://pnp.github.io/script-samples/samples/graph-disable-user-license/","legacyUrl":"https://pnp.github.io/script-samples/graph-disable-user-license/README.html","previews":[{"src":"/script-samples/graph-disable-user-license/assets/preview.png","alt":"Preview of the sample Deactivate User License"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"reset-files-permission-unique-to-inherited","title":"Reset files permission unique to inheritance","description":"Reset bulk file permissions  from unique to parent folder inheritance.","products":["sharepoint"],"categories":["Data","Security"],"tags":["Permission","Unique Permission","Permission Inheritance","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPContext","Get-PnPFolder","Get-PnPList","Get-PnPListItem","Get-PnPProperty","m365 login","m365 status","m365 spo list list","m365 spo file list","m365 spo file get","m365 spo listitem get","m365 spo listitem roleinheritance reset"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2021-08-11","updated":"2023-06-07","authors":[{"handle":"ee61re","name":"Rob Ellis","pictureUrl":"https://github.com/ee61re.png?size=64"},{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"},{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"dips365","name":"Dipen Shah","pictureUrl":"https://github.com/dips365.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/reset-files-permission-unique-to-inherited","url":"https://pnp.github.io/script-samples/samples/reset-files-permission-unique-to-inherited/","legacyUrl":"https://pnp.github.io/script-samples/reset-files-permission-unique-to-inherited/README.html","previews":[{"src":"/script-samples/reset-files-permission-unique-to-inherited/assets/preview.png","alt":"Preview of the sample Reset files permission unique to inheritance"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolder.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo list list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-list"},{"name":"m365 spo file list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-list"},{"name":"m365 spo file get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-get"},{"name":"m365 spo listitem get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-get"},{"name":"m365 spo listitem roleinheritance reset","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-roleinheritance-reset"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-list-item-version-history","title":"SharePoint List Item Version History Retrieval","description":"This script retrieves the version history of a specified list item, including all field values or only selected fields","products":["sharepoint"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPListItem","Get-PnPProperty"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2023-04-10","updated":"2023-06-04","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"},{"handle":"mromiszewski","name":"Michał Romiszewski","pictureUrl":"https://github.com/mromiszewski.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-list-item-version-history","url":"https://pnp.github.io/script-samples/samples/spo-get-list-item-version-history/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-list-item-version-history/README.html","previews":[{"src":"/script-samples/spo-get-list-item-version-history/assets/preview.png","alt":"Preview of the sample SharePoint List Item Version History Retrieval"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-allow-custom-scripts","title":"Allow custom scripts in SharePoint online site","description":"This sample script shows how to allow use of custom scripts in SharePoint online at site level","products":["sharepoint"],"categories":["Configure"],"tags":["modern","SharePoint Online","Connect-PnPOnline","Set-PnPSite","Disconnect-PnPOnline","Connect-SPOService","Set-SPOSite","Disconnect-SPOService","m365 status","m365 login","m365 spo site set","m365 logout"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23508.12000"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0"}],"created":"2023-05-26","updated":"2023-05-26","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-allow-custom-scripts","url":"https://pnp.github.io/script-samples/samples/spo-allow-custom-scripts/","legacyUrl":"https://pnp.github.io/script-samples/spo-allow-custom-scripts/README.html","previews":[{"src":"/script-samples/spo-allow-custom-scripts/assets/preview.png","alt":"Preview of the sample Allow custom scripts in SharePoint online site"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPSite.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Set-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Set-SPOSite"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"teams-list-teams-owners-and-members","title":"List all Microsoft Teams team's Owners and Members","description":"This script allows you to list all Teams team's owners and members and export them into a CSV file.","products":["teams"],"categories":["Report","Security"],"tags":["Microsoft Teams","Governance","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPMicrosoft365Group","Get-PnPMicrosoft365GroupMember","Get-PnPMicrosoft365GroupOwner","m365 status","m365 login","m365 teams team list","m365 teams user list","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0"}],"created":"2021-03-20","updated":"2023-05-23","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-list-teams-owners-and-members","url":"https://pnp.github.io/script-samples/samples/teams-list-teams-owners-and-members/","legacyUrl":"https://pnp.github.io/script-samples/teams-list-teams-owners-and-members/README.html","previews":[{"src":"/script-samples/teams-list-teams-owners-and-members/assets/preview.png","alt":"Preview of the sample List all Microsoft Teams team's Owners and Members"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"},{"name":"Get-PnPMicrosoft365GroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupMember.html"},{"name":"Get-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupOwner.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 teams team list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-list"},{"name":"m365 teams user list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/user/user-list"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-enable-disable-app-bar","title":"Enable and Disable App Bar in SharePoint Online","description":"This script helps SharePoint Users to Enable or Disable App Bar Across SharePoint sites","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","TemporarilyDisableAppBar","Connect-PnPOnline","Set-PnPTemporarilyDisableAppBar","Disconnect-PnPOnline","Connect-SPOService","Set-SPOTemporarilyDisableAppBar","Disconnect-SPOService"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23612.12000"}],"created":"2023-05-03","updated":"2023-05-22","authors":[{"handle":"Amanp17","name":"Aman Panjwani","pictureUrl":"https://github.com/Amanp17.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-enable-disable-app-bar","url":"https://pnp.github.io/script-samples/samples/spo-enable-disable-app-bar/","legacyUrl":"https://pnp.github.io/script-samples/spo-enable-disable-app-bar/README.html","previews":[{"src":"/script-samples/spo-enable-disable-app-bar/assets/preview.png","alt":"Enable and Disable App Bar in SharePoint Online"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPTemporarilyDisableAppBar","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPTemporarilyDisableAppBar.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-add-update-image-column","title":"Add/Update Image in SharePoint Image column","description":"Add/Update image in SharePoint image column in a SharePoint List or Library","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPFile","Add-PnPListItem","Set-PnPListItem","Disconnect-PnPOnline","m365 status","m365 login","m365 spo file get","m365 spo listitem add","m365 spo listitem set","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0"}],"created":"2022-10-14","updated":"2023-05-17","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"mjimison","name":"Matt Jimison","pictureUrl":"https://github.com/mjimison.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-update-image-column","url":"https://pnp.github.io/script-samples/samples/spo-add-update-image-column/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-update-image-column/README.html","previews":[{"src":"/script-samples/spo-add-update-image-column/assets/preview.png","alt":"Preview of the sample Add/Update Image in SharePoint Image column"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo file get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-get"},{"name":"m365 spo listitem add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-add"},{"name":"m365 spo listitem set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-set"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-remove-custom-themes","title":"Delete custom color themes from SharePoint","description":"Creating a lot of beautiful themes lately and testing them but don't want to keep them anymore, this script is for you","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Themes","Connect-SPOService","Get-SPOTheme","Remove-SPOTheme","Disconnect-SPOService","Connect-PnPOnline","Get-PnPTenantTheme","Remove-PnPTenantTheme","Disconnect-PnPOnline","m365 status","m365 login","m365 spo theme list","m365 spo theme remove","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23508.12000"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0"}],"created":"2020-08-23","updated":"2023-05-11","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-custom-themes","url":"https://pnp.github.io/script-samples/samples/spo-remove-custom-themes/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-custom-themes/README.html","previews":[{"src":"/script-samples/spo-remove-custom-themes/assets/preview.png","alt":"Preview of the sample Delete custom color themes from SharePoint"}],"commandReferences":[{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Get-SPOTheme","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOTheme"},{"name":"Remove-SPOTheme","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Remove-SPOTheme"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantTheme","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantTheme.html"},{"name":"Remove-PnPTenantTheme","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPTenantTheme.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo theme list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/theme/theme-list"},{"name":"m365 spo theme remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/theme/theme-remove"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-list-download-contenttype-documenttemplate","title":"Download all the content type document templates files associated with a library","description":"The script downloads all content type document template files in a library","products":["sharepoint"],"categories":["Data"],"tags":["classic","Content Type","Content Type Document Templates","Connect-PnPOnline","Get-PnPList","Get-PnPFile","Disconnect-PnPOnline","m365 status","m365 login","m365 spo list contenttype list","m365 spo file get","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0"}],"created":"2022-11-04","updated":"2023-05-10","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-download-contenttype-documenttemplate","url":"https://pnp.github.io/script-samples/samples/spo-list-download-contenttype-documenttemplate/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-download-contenttype-documenttemplate/README.html","previews":[{"src":"/script-samples/spo-list-download-contenttype-documenttemplate/assets/preview.png","alt":"preview image showing there is no preview"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list contenttype list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-contenttype-list"},{"name":"m365 spo file get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-get"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-items-with-custom-permissions","title":"Find all items with unique permissions and export to csv","description":"Find items where the permissions have been broken","products":["sharepoint"],"categories":["Report","Security"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPProperty","Get-PnPSubWeb","Get-PnPTenant","Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"}],"created":"2023-05-10","updated":"2023-05-10","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-items-with-custom-permissions","url":"https://pnp.github.io/script-samples/samples/spo-get-items-with-custom-permissions/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-items-with-custom-permissions/README.html","previews":[{"src":"/script-samples/spo-get-items-with-custom-permissions/assets/preview.png","alt":"Preview of the sample Find all items with unique permissions and export to csv"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPSubWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSubWeb.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-create-sharepoint-groups-bulk-csv","title":"Create SharePoint Groups in Bulk using CSV file","description":"This script shows how to create multiple groups in SharePoint for different site collection providing input from CSV file.","products":["sharepoint"],"categories":["Provision","Security"],"tags":["classic","Connect-PnPOnline","New-PnPGroup","Connect-SPOService","New-SPOSiteGroup","Disconnect-SPOService","m365 status","m365 login","m365 spo group add","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23508.12000"}],"created":"2022-01-15","updated":"2023-05-09","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"kunj-sangani","name":"Kunj Balkrishna Sangani","pictureUrl":"https://github.com/kunj-sangani.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-create-sharepoint-groups-bulk-csv","url":"https://pnp.github.io/script-samples/samples/spo-create-sharepoint-groups-bulk-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-create-sharepoint-groups-bulk-csv/README.html","previews":[{"src":"/script-samples/spo-create-sharepoint-groups-bulk-csv/assets/preview.png","alt":"Preview of the sample <title>"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"New-PnPGroup","url":"https://pnp.github.io/powershell/cmdlets/New-PnPGroup.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"New-SPOSiteGroup","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/New-SPOSiteGroup"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo group add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/group/group-add"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-empty-tenant-recyclebin","title":"Empty the tenant recycle bin","description":"Script that removes sites from the tenant recycle bin","products":["sharepoint"],"categories":["Provision"],"tags":["SharePoint Online","Clear-PnPTenantRecycleBinItem","Connect-PnPOnline","Get-PnPTenantRecycleBinItem","Disconnect-PnPOnline","m365 status","m365 login","m365 spo tenant recyclebinitem list","m365 spo tenant recyclebinitem remove","m365 logout","Connect-SPOService","Get-SPODeletedSite","Remove-SPODeletedSite","Disconnect-SPOService"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23508.12000"}],"created":"2021-01-13","updated":"2023-05-09","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-empty-tenant-recyclebin","url":"https://pnp.github.io/script-samples/samples/spo-empty-tenant-recyclebin/","legacyUrl":"https://pnp.github.io/script-samples/spo-empty-tenant-recyclebin/README.html","previews":[{"src":"/script-samples/spo-empty-tenant-recyclebin/assets/preview.png","alt":"Preview of the sample Empty the tenant recycle bin"}],"commandReferences":[{"name":"Clear-PnPTenantRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Clear-PnPTenantRecycleBinItem.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantRecycleBinItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo tenant recyclebinitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/tenant/tenant-recyclebinitem-list"},{"name":"m365 spo tenant recyclebinitem remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/tenant/tenant-recyclebinitem-remove"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Get-SPODeletedSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPODeletedSite"},{"name":"Remove-SPODeletedSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Remove-SPODeletedSite"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-modern-page-url-report","title":"SharePoint Modern Page URL Report","description":"Scan through modern pages and reports out the URLs in the quick links web parts","products":["sharepoint"],"categories":["Configure","Report"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPPage","Get-PnPPageComponent","Get-PnPWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"}],"created":"2021-10-27","updated":"2023-05-08","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-modern-page-url-report","url":"https://pnp.github.io/script-samples/samples/spo-modern-page-url-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-modern-page-url-report/README.html","previews":[{"src":"/script-samples/spo-modern-page-url-report/assets/preview.png","alt":"Preview of the sample SharePoint Modern Page URL Report"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPage.html"},{"name":"Get-PnPPageComponent","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPageComponent.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-open-doc-in-client","title":"Open Office documents in the Client","description":"Ensure that office documents will open in the desktop client application if such is installed","products":["sharepoint"],"categories":["Configure"],"tags":["modern","SharePoint Online","Connect-PnPOnline","Get-PnPFeature","Enable-PnPFeature","m365 status","m365 login","m365 spo feature list","m365 spo feature enable"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0"}],"created":"2022-10-17","updated":"2023-05-07","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-open-doc-in-client","url":"https://pnp.github.io/script-samples/samples/spo-open-doc-in-client/","legacyUrl":"https://pnp.github.io/script-samples/spo-open-doc-in-client/README.html","previews":[{"src":"/script-samples/spo-open-doc-in-client/assets/preview.png","alt":"Preview image of the site collection features"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFeature","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFeature.html"},{"name":"Enable-PnPFeature","url":"https://pnp.github.io/powershell/cmdlets/Enable-PnPFeature.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo feature list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/feature/feature-list"},{"name":"m365 spo feature enable","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/feature/feature-enable"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-disable-list-comments-tenant","title":"Disable SharePoint List Commenting at tenant level","description":"This sample script shows how to disable commenting feature in SharePoint online lists at tenant level","products":["sharepoint"],"categories":["Configure"],"tags":["modern","SharePoint Online","Connect-PnPOnline","Set-PnPTenant","Connect-SPOService","Set-SPOTenant","m365 status","m365 login","m365 spo tenant settings set"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23508.12000"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.8.0 (beta)"}],"created":"2022-10-11","updated":"2023-05-04","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-disable-list-comments-tenant","url":"https://pnp.github.io/script-samples/samples/spo-disable-list-comments-tenant/","legacyUrl":"https://pnp.github.io/script-samples/spo-disable-list-comments-tenant/README.html","previews":[{"src":"/script-samples/spo-disable-list-comments-tenant/assets/preview.png","alt":"Preview of the sample Disable SharePoint List Commenting at tenant level"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPTenant.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Set-SPOTenant","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Set-SPOTenant"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo tenant settings set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/tenant/tenant-settings-set"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-associate-multiple-sites-to-hub","title":"Associate Multiple Site Collections to Hub Site","description":"This PowerShell script can be used to associate mutilple site collections to Hub site. You can provide list of site collection URLs in an array.","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Hub Site","Connect-SPOService","Add-SPOHubSiteAssociation","Disconnect-SPOService","Connect-PnPOnline","Add-PnPHubSiteAssociation","Disconnect-PnPOnline","m365 status","m365 login","m365 spo hubsite get","m365 spo site hubsite connect","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23508.12000"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.6.0"}],"created":"2023-02-17","updated":"2023-05-01","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"siddharth-vaghasia","name":"Siddharth Vaghasia","pictureUrl":"https://github.com/siddharth-vaghasia.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-associate-multiple-sites-to-hub","url":"https://pnp.github.io/script-samples/samples/spo-associate-multiple-sites-to-hub/","legacyUrl":"https://pnp.github.io/script-samples/spo-associate-multiple-sites-to-hub/README.html","previews":[{"src":"/script-samples/spo-associate-multiple-sites-to-hub/assets/example.png","alt":"Preview of the sample Associate Multiple Site Collections to Hub Site"}],"commandReferences":[{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Add-SPOHubSiteAssociation","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Add-SPOHubSiteAssociation"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPHubSiteAssociation","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPHubSiteAssociation.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo hubsite get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/hubsite/hubsite-get"},{"name":"m365 spo site hubsite connect","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-hubsite-connect"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-activate-site-feature","title":"Activate a site feature in SharePoint online","description":"This sample script shows how to Activate a site feature in SharePoint online site.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","SharePoint Online","Connect-PnPOnline","Get-PnPFeature","Enable-PnPFeature","m365 status","m365 login","m365 spo feature list","m365 spo feature enable"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.6.0"}],"created":"2022-10-10","updated":"2023-04-30","authors":[{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-activate-site-feature","url":"https://pnp.github.io/script-samples/samples/spo-activate-site-feature/","legacyUrl":"https://pnp.github.io/script-samples/spo-activate-site-feature/README.html","previews":[{"src":"/script-samples/spo-activate-site-feature/assets/preview.png","alt":"Preview of the sample Activate a site feature in SharePoint online"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFeature","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFeature.html"},{"name":"Enable-PnPFeature","url":"https://pnp.github.io/powershell/cmdlets/Enable-PnPFeature.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo feature list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/feature/feature-list"},{"name":"m365 spo feature enable","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/feature/feature-enable"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-set-home-site","title":"Set Home site for SharePoint online tenant","description":"This sample script sets a communication site as a home site for SharePoint online tenant","products":["sharepoint"],"categories":["Configure"],"tags":["modern","SharePoint Online","Home Site","Connect-SPOService","Set-SPOHomeSite","m365 login","m365 status","m365 spo homesite set","Connect-PnPOnline","Set-PnPHomeSite"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23508.12000"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.3.0"}],"created":"2022-01-18","updated":"2023-04-30","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-set-home-site","url":"https://pnp.github.io/script-samples/samples/spo-set-home-site/","legacyUrl":"https://pnp.github.io/script-samples/spo-set-home-site/README.html","previews":[{"src":"/script-samples/spo-set-home-site/assets/preview.png","alt":"Preview of the sample Set Home site for SharePoint online tenant"}],"commandReferences":[{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Set-SPOHomeSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Set-SPOHomeSite"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo homesite set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/homesite/homesite-set"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPHomeSite","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPHomeSite.html"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-add-page-template","title":"Add Page template to Site","description":"This sample script shows how to add a page template to a SharePoint Online site collection","products":["sharepoint"],"categories":["Provision"],"tags":["SharePoint Online","Page Template","Connect-PnPOnline","Add-PnPPage","Disconnect-PnPOnline","m365 status","m365 login","m365 spo page add"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.6.0"}],"created":"2023-04-24","updated":"2023-04-28","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"},{"handle":"expiscornovus","name":"Dennis Goedegebuure","pictureUrl":"https://github.com/expiscornovus.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-page-template","url":"https://pnp.github.io/script-samples/samples/spo-add-page-template/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-page-template/README.html","previews":[{"src":"/script-samples/spo-add-page-template/assets/preview.png","alt":"Preview of the sample to Add Page template to Site"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPPage.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo page add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-add"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-remove-page-title-area","title":"Remove Title Area from SharePoint Page","description":"This sample script shows how to remove the title area from SharePoint online site page using PnP PowerShell and CLI for Microsoft 365.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","SharePoint Online","Connect-PnPOnline","Set-PnPPage","m365 status","m365 login","m365 spo page set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.6.0"}],"created":"2023-02-23","updated":"2023-04-28","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-page-title-area","url":"https://pnp.github.io/script-samples/samples/spo-remove-page-title-area/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-page-title-area/README.html","previews":[{"src":"/script-samples/spo-remove-page-title-area/assets/preview.png","alt":"Preview of the sample Remove Title Area from SharePoint Page"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPPage.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo page set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-update-page-banner-image","title":"Update SharePoint Page Banner Image","description":"This sample script shows how to update the banner image at the top of the SharePoint online modern page using PnP PowerShell","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Set-PnPPage","m365 status","m365 login","m365 spo page header set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.6.0"}],"created":"2023-03-05","updated":"2023-04-28","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-page-banner-image","url":"https://pnp.github.io/script-samples/samples/spo-update-page-banner-image/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-page-banner-image/README.html","previews":[{"src":"/script-samples/spo-update-page-banner-image/assets/preview.png","alt":"Preview of the sample Update SharePoint Page Banner Image"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPPage.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo page header set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-header-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-add-app-catalog","title":"Add App Catalog to SharePoint site","description":"Deploy certain SharePoint solution to a specific site","products":["sharepoint"],"categories":["Deploy","Configure"],"tags":["Connect-PnPOnline","Add-PnPSiteCollectionAppCatalog","Connect-SPOService","Get-SPOSite","Add-SPOSiteCollectionAppCatalog","m365 status","m365 login","m365 spo site appcatalog add"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.6.0"}],"created":"2021-05-11","updated":"2023-04-22","authors":[{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-app-catalog","url":"https://pnp.github.io/script-samples/samples/spo-add-app-catalog/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-app-catalog/README.html","previews":[{"src":"/script-samples/spo-add-app-catalog/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPSiteCollectionAppCatalog","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPSiteCollectionAppCatalog.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"},{"name":"Add-SPOSiteCollectionAppCatalog","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Add-SPOSiteCollectionAppCatalog"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site appcatalog add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-appcatalog-add"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-remove-site-designs","title":"Delete custom SharePoint site designs","description":"Remove Site designs and site scripts that ends up just hanging around in your tenant. Use the scripts below to get rid of them","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Site Designs","Connect-SPOService","Connect-PnPOnline","Get-SPOSite","Get-SPOSiteDesign","Get-PnPSiteDesign","Remove-SPOSite","Remove-SPOSiteDesign","Remove-PnPSiteScript","Remove-PnPSiteDesign","m365 login","m365 spo sitedesign list","m365 spo sitedesign remove"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.6.0"}],"created":"2020-08-23","updated":"2023-04-22","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Delete custom SharePoint site designs","description":"This sample first appeared on the CLI for Microsoft 365 documentation site","url":"https://pnp.github.io/cli-microsoft365/sample-scripts/spo/remove-site-designs/"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-site-designs","url":"https://pnp.github.io/script-samples/samples/spo-remove-site-designs/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-site-designs/README.html","previews":[{"src":"/script-samples/spo-remove-site-designs/assets/preview.png","alt":"Preview of the sample Delete custom SharePoint site designs"}],"commandReferences":[{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"},{"name":"Get-SPOSiteDesign","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSiteDesign"},{"name":"Get-PnPSiteDesign","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteDesign.html"},{"name":"Remove-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Remove-SPOSite"},{"name":"Remove-SPOSiteDesign","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Remove-SPOSiteDesign"},{"name":"Remove-PnPSiteScript","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPSiteScript.html"},{"name":"Remove-PnPSiteDesign","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPSiteDesign.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo sitedesign list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/sitedesign/sitedesign-list"},{"name":"m365 spo sitedesign remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/sitedesign/sitedesign-remove"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-empty-recycle-bin","title":"Empty SharePoint Online Site Recycle Bin","description":"This sample script shows how to empty SharePoint online site first stage and second stage recycle bin","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Move-PnPRecycleBinItem","Clear-PnPRecycleBinItem","m365 status","m365 login","m365 spo site recyclebinitem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0 (beta)"}],"created":"2023-03-30","updated":"2023-04-22","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-empty-recycle-bin","url":"https://pnp.github.io/script-samples/samples/spo-empty-recycle-bin/","legacyUrl":"https://pnp.github.io/script-samples/spo-empty-recycle-bin/README.html","previews":[{"src":"/script-samples/spo-empty-recycle-bin/assets/preview.png","alt":"Preview of the sample Empty SharePoint Online Site Recycle Bin"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Move-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Move-PnPRecycleBinItem.html"},{"name":"Clear-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Clear-PnPRecycleBinItem.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-remove-site-scripts","title":"Delete custom SharePoint site scripts","description":"Remove Site scripts that ends up just hanging around in your tenant. Use the scripts below to get rid of them","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Site Scripts","Connect-SPOService","Get-SPOSite","Get-SPOSiteScript","Remove-SPOSite","Remove-SPOSiteScript","Connect-PnPOnline","Get-PnPSiteScript","Remove-PnPSiteScript","m365 status","m365 login","m365 spo sitescript list","m365 spo sitescript remove"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.3.0"}],"created":"2020-08-23","updated":"2023-04-21","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-site-scripts","url":"https://pnp.github.io/script-samples/samples/spo-remove-site-scripts/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-site-scripts/README.html","previews":[{"src":"/script-samples/spo-remove-site-scripts/assets/preview.png","alt":"Preview of the sample Delete custom SharePoint site scripts"}],"commandReferences":[{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"},{"name":"Get-SPOSiteScript","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSiteScript"},{"name":"Remove-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Remove-SPOSite"},{"name":"Remove-SPOSiteScript","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Remove-SPOSiteScript"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPSiteScript","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteScript.html"},{"name":"Remove-PnPSiteScript","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPSiteScript.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo sitescript list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/sitescript/sitescript-list"},{"name":"m365 spo sitescript remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/sitescript/sitescript-remove"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-disable-list-comments","title":"Disable SharePoint List Commenting at list level","description":"This sample script shows how to disable commenting feature in SharePoint online lists at list level","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Set-PnPList","m365 status","m365 login","m365 spo list set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"2.1.1"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.7.0 (beta)"}],"created":"2023-03-20","updated":"2023-04-20","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-disable-list-comments","url":"https://pnp.github.io/script-samples/samples/spo-disable-list-comments/","legacyUrl":"https://pnp.github.io/script-samples/spo-disable-list-comments/README.html","previews":[{"src":"/script-samples/spo-disable-list-comments/assets/preview.png","alt":"Preview of the sample Disable SharePoint List Commenting at list level"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-download-sppkgs","title":"Download sppkgs from App Catalog","description":"Download all packages from App Catalog","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPFile"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2023-04-10","updated":"2023-04-10","authors":[{"handle":"srpmtt","name":"Matteo Serpi","pictureUrl":"https://github.com/srpmtt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-download-sppkgs","url":"https://pnp.github.io/script-samples/samples/spo-download-sppkgs/","legacyUrl":"https://pnp.github.io/script-samples/spo-download-sppkgs/README.html","previews":[{"src":"/script-samples/spo-download-sppkgs/assets/preview.png","alt":"Preview of the sample Download sppkgs"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-contenttype-usage-listitem-listversion","title":"Get Content Type usage within a site collection.","description":"Get Content Type usage within a site collection.","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPConnection","Get-PnPList","Get-PnPContentType","Get-PnPListItem","Get-PnPProperty"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-04-06","updated":"2023-04-06","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-contenttype-usage-listitem-listversion","url":"https://pnp.github.io/script-samples/samples/spo-get-contenttype-usage-listitem-listversion/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-contenttype-usage-listitem-listversion/README.html","previews":[{"src":"/script-samples/spo-get-contenttype-usage-listitem-listversion/assets/Preview.png","alt":"Preview of the sample Get Content Type usage within a site collection."}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPConnection","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPConnection.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-apply-json-view-formatting","title":"Apply SharePoint JSON View Formatting","description":"This sample script shows how to apply SharePoint JSON view formatting using PnP PowerShell and CLI for Microsoft 365","products":["sharepoint"],"categories":["Configure"],"tags":["modern","Connect-PnPOnline","Set-PnPView","m365 login","m365 spo list view set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.3.0"}],"created":"2023-04-03","updated":"2023-04-03","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-apply-json-view-formatting","url":"https://pnp.github.io/script-samples/samples/spo-apply-json-view-formatting/","legacyUrl":"https://pnp.github.io/script-samples/spo-apply-json-view-formatting/README.html","previews":[{"src":"/script-samples/spo-apply-json-view-formatting/assets/preview.png","alt":"Preview of the sample Apply SharePoint JSON View Formatting"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPView.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list view set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-checked-out-files-in-tenant-using-search","title":"Getting checked-out files in the tenant using Search","description":"Getting checked-out files in the tenant using Search","products":["sharepoint","azure"],"categories":["Data","Report"],"tags":["<Cmdlets-Used>"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2023-03-31","updated":"2023-03-31","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-checked-out-files-in-tenant-using-search","url":"https://pnp.github.io/script-samples/samples/spo-export-checked-out-files-in-tenant-using-search/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-checked-out-files-in-tenant-using-search/README.html","previews":[{"src":"/script-samples/spo-export-checked-out-files-in-tenant-using-search/assets/preview.png","alt":"Preview of the sample Getting checked-out files in the tenant using Search"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-upa-accounts","title":"Export User Profiles to csv","description":"This sample shows how to export all or a sub set of accounts from UPA to CSV","products":["sharepoint"],"categories":["Data","Report"],"tags":["m365 aad user list","m365 aad user get"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.3.0"}],"created":"2023-03-15","updated":"2023-03-20","authors":[{"handle":"valerasnarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/valerasnarbutas.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-upa-accounts","url":"https://pnp.github.io/script-samples/samples/spo-export-upa-accounts/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-upa-accounts/README.html","previews":[{"src":"/script-samples/spo-export-upa-accounts/assets/preview.png","alt":"Preview of the sample Export User Profiles to csv"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-apply-pnptemplate-with-files-and-listitems","title":"Using a PnP Site Template including files and list items","description":"Sometime you are required to create a site including some specific files and/or list items. You can do this in servaral ways, but in this sample we are using the PnP Provisioning Engine","products":["sharepoint"],"categories":["Provision"],"tags":["Add-PnPDataRowsToSiteTemplate","Add-PnPFile","Add-PnPFileToSiteTemplate","Add-PnPListItem","Connect-PnPOnline","Copy-PnPFile","Get-PnPSite","Get-PnPSiteTemplate","Invoke-PnPSiteTemplate","New-PnPList","New-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-03-09","updated":"2023-03-09","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-apply-pnptemplate-with-files-and-listitems","url":"https://pnp.github.io/script-samples/samples/spo-apply-pnptemplate-with-files-and-listitems/","legacyUrl":"https://pnp.github.io/script-samples/spo-apply-pnptemplate-with-files-and-listitems/README.html","previews":[{"src":"/script-samples/spo-apply-pnptemplate-with-files-and-listitems/assets/preview.png","alt":"Preview of the sample Using a PnP Site Template including files and list items"}],"commandReferences":[{"name":"Add-PnPDataRowsToSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPDataRowsToSiteTemplate.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"},{"name":"Add-PnPFileToSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFileToSiteTemplate.html"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Copy-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Copy-PnPFile.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteTemplate.html"},{"name":"Invoke-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSiteTemplate.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"},{"name":"New-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/New-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-create-test-users-with-chat-gpt","title":"Create test users from list or use ChatGPT to generate","description":"Create test users with chat and GPT or use predefined list of users","products":["graph"],"categories":["Report","Provision","AI"],"tags":["Graph","Connect-MgGraph","Get-MgContext","Disconnect-MgGraph"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2023-03-08","updated":"2023-03-08","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"},{"name":"More about Open AI API","description":"More about Open AI API","url":"https://platform.openai.com/docs/introduction"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-create-test-users-with-chat-gpt","url":"https://pnp.github.io/script-samples/samples/graph-create-test-users-with-chat-gpt/","legacyUrl":"https://pnp.github.io/script-samples/graph-create-test-users-with-chat-gpt/README.html","previews":[{"src":"/script-samples/graph-create-test-users-with-chat-gpt/assets/preview.png","alt":"Image of the result of Create test users from list or use ChatGPT to generate"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-get-teams-tabs-export-to-csv","title":"Locate all Teams having a Wiki and export the list to CSV","description":"Locate all Teams having a Wiki and export the list to CSV","products":["graph"],"categories":["Report"],"tags":["m365 util accesstoken get","Connect-MgGraph","Get-MgContext","Disconnect-MgGraph"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2023-03-07","updated":"2023-03-07","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-get-teams-tabs-export-to-csv","url":"https://pnp.github.io/script-samples/samples/graph-get-teams-tabs-export-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/graph-get-teams-tabs-export-to-csv/README.html","previews":[{"src":"/script-samples/graph-get-teams-tabs-export-to-csv/assets/preview.png","alt":"Image of the result of calling the graph"}],"commandReferences":[{"name":"m365 util accesstoken get","url":"https://pnp.github.io/cli-microsoft365/cmd/util/accesstoken/accesstoken-get"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-openai-get-page-summary","title":"Multilingual SharePoint Page Summarization with Open AI API and Microsoft Graph PowerShell SDK","description":"This sample demonstrates how to use Microsoft Graph PowerShell SDK and Open AI API to generate a multilingual summary of a SharePoint page.","products":["graph","sharepoint","openai"],"categories":["Data","Report","AI"],"tags":["Connect-MgGraph","Select-MgProfile","Get-MgSite","Get-MgSitePage","Invoke-WebRequest","Content","Summary"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.22.0"}],"created":"2023-02-28","updated":"2023-03-02","authors":[{"handle":"anoopt","name":"Anoop Tatti","pictureUrl":"https://github.com/anoopt.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"},{"name":"Want to learn more about Open AI API","description":"If you're interested in learning more about Open AI API and its capabilities, this link provides a list of resources and tools to help you get started. Whether you're a developer looking to integrate Open AI into your applications or a researcher exploring the latest advances in artificial intelligence, this guide offers a range of helpful resources, including documentation, tutorials, and community forums.","url":"https://platform.openai.com/docs/introduction"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-openai-get-page-summary","url":"https://pnp.github.io/script-samples/samples/graph-openai-get-page-summary/","legacyUrl":"https://pnp.github.io/script-samples/graph-openai-get-page-summary/README.html","previews":[{"src":"/script-samples/graph-openai-get-page-summary/assets/preview.png","alt":"Preview of the sample Multilingual SharePoint Page Summarization with Open AI API and Microsoft Graph PowerShell SDK"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-add-user-follow-site","title":"Add users to follow SharePoint Sites","description":"This script helps M365 admin to provision follow SharePoint Online sites to users and display in Out of the box SharePoint Site /_layouts/15/sharepoint.aspx?v=following.","products":["sharepoint","graph"],"categories":["Configure"],"tags":["classic"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.22.0"}],"created":"2023-03-01","updated":"2023-03-01","authors":[{"handle":"aaclage","name":"Andre Lage","pictureUrl":"https://github.com/aaclage.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-user-follow-site","url":"https://pnp.github.io/script-samples/samples/spo-add-user-follow-site/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-user-follow-site/README.html","previews":[{"src":"/script-samples/spo-add-user-follow-site/assets/preview.png","alt":"Preview of the sample Add users to follow SharePoint Sites"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-apply-pnptemplate-with-parameters","title":"Use Invoke-PnPSiteTemplate with parameters","description":"Sample showing how create a PnP Template and ADD parameters then use Invoke-PnPSiteTemplate with parameters","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPProperty","Invoke-PnPSiteTemplate","New-PnPTenantSite","Get-PnPTenantSite","Add-PnPView"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-02-21","updated":"2023-02-21","authors":[{"handle":"Kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/Kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-apply-pnptemplate-with-parameters","url":"https://pnp.github.io/script-samples/samples/spo-apply-pnptemplate-with-parameters/","legacyUrl":"https://pnp.github.io/script-samples/spo-apply-pnptemplate-with-parameters/README.html","previews":[{"src":"/script-samples/spo-apply-pnptemplate-with-parameters/assets/preview.png","alt":"Preview image of the sample Use Invoke-PnPSiteTemplate with parameters"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Invoke-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSiteTemplate.html"},{"name":"New-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/New-PnPTenantSite.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Add-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPView.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-file-shared-links","title":"Export access shared links from SharePoint Library","description":"Script will export SharePoint Library with access shared links files to CSV file.","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPContext","Get-PnPListItem","Disconnect-PnPOnline","m365 status","m365 login","m365 spo file list","m365 spo file sharinginfo get","m365 logout","Archive"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0 "},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.2.0"}],"created":"2023-02-18","updated":"2023-02-18","authors":[{"handle":"aaclage","name":"Andre Lage","pictureUrl":"https://github.com/aaclage.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-file-shared-links","url":"https://pnp.github.io/script-samples/samples/spo-export-file-shared-links/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-file-shared-links/README.html","previews":[{"src":"/script-samples/spo-export-file-shared-links/assets/preview.png","alt":"Preview of the sample Export access shared links from SharePoint Library"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo file list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-list"},{"name":"m365 spo file sharinginfo get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-sharinginfo-get"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-items-not-indexed-since-last-update","title":"Pinpoint the items/docs that hasn't been indexed yet","description":"Pinpoint the items/docs that hasn't been indexed yet since the last time the item was updated","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPSearchCrawlLog"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-02-14","updated":"2023-02-14","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-items-not-indexed-since-last-update","url":"https://pnp.github.io/script-samples/samples/spo-get-items-not-indexed-since-last-update/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-items-not-indexed-since-last-update/README.html","previews":[{"src":"/script-samples/spo-get-items-not-indexed-since-last-update/assets/preview.png","alt":"Preview of the sample Pinpoint the items/docs that hasn't been indexed yet"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPSearchCrawlLog","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSearchCrawlLog.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-send-email-from-csv-onbehalf-of-user","title":"Bulk Email Send from CSV using Microsoft Graph API","description":"This script can be used to send bulk emails to multiple users from CSV file on behalf of user","products":["graph"],"categories":["Deploy"],"tags":["Invoke-RestMethod","Get-MsalToken"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2023-02-13","updated":"2023-02-13","authors":[{"handle":"siddharth-vaghasia","name":"Siddharth Vaghasia","pictureUrl":"https://github.com/siddharth-vaghasia.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-send-email-from-csv-onbehalf-of-user","url":"https://pnp.github.io/script-samples/samples/graph-send-email-from-csv-onbehalf-of-user/","legacyUrl":"https://pnp.github.io/script-samples/graph-send-email-from-csv-onbehalf-of-user/README.html","previews":[{"src":"/script-samples/graph-send-email-from-csv-onbehalf-of-user/assets/preview.png","alt":"Preview of the sample Bulk Email Send from CSV using Microsoft Graph API"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-bulk-import-data","title":"Bulk import data from multiple files","description":"Script that bulk imports data from multiple files","products":["sharepoint"],"categories":["Modernize","Deploy","Provision"],"tags":["modern","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPList","Get-PnPField","Add-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-02-02","updated":"2023-02-02","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-bulk-import-data","url":"https://pnp.github.io/script-samples/samples/spo-bulk-import-data/","legacyUrl":"https://pnp.github.io/script-samples/spo-bulk-import-data/README.html","previews":[{"src":"/script-samples/spo-bulk-import-data/assets/preview.png","alt":"Preview of the sample Bulk import data from multiple files"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-people-web-part","title":"Sample showing how to ensure that the Role/Title in each People web part is updated","description":"Sample showing how to ensure that the Role/Title in each People web is updated","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPUserProfileProperty","Export-Csv","Get-PnPClientSidePage","Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"}],"created":"2023-01-26","updated":"2023-01-26","authors":[{"handle":"Kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/Kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-people-web-part","url":"https://pnp.github.io/script-samples/samples/spo-update-people-web-part/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-people-web-part/README.html","previews":[{"src":"/script-samples/spo-update-people-web-part/assets/preview.png","alt":"Preview image of the sample showing how to ensure that the Role/Title in each People web part is updated"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPUserProfileProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUserProfileProperty.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-grant-app-site-permission","title":"Grant permissions for a given Azure Active Directory application registration","description":"Simplifies the process of granting FullControl or Manage permissions for an application registration in a SharePoint site collection","products":["sharepoint","azure"],"categories":["Configure","Security"],"tags":["Connect-PnPOnline","Get-PnPAzureADApp","Get-PnPAzureADAppSitePermission","Grant-PnPAzureADAppSitePermission","Set-PnPAzureADAppSitePermission"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2023-01-22","updated":"2023-01-22","authors":[{"handle":"mromiszewski","name":"Michał Romiszewski","pictureUrl":"https://github.com/mromiszewski.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-grant-app-site-permission","url":"https://pnp.github.io/script-samples/samples/spo-grant-app-site-permission/","legacyUrl":"https://pnp.github.io/script-samples/spo-grant-app-site-permission/README.html","previews":[{"src":"/script-samples/spo-grant-app-site-permission/assets/preview.png","alt":"Preview of the sample Grant permissions for a given Azure Active Directory application registration"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-stream-classic-webparts","title":"Export of pages that use Stream (Classic) Web Parts","description":"This sample script helps you understand how many Stream (Classic) Web Parts are being used by your site by outputting a CSV file of the Stream (Classic) Web Parts and the pages that use them.","products":["sharepoint","stream"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPListItem","Get-PnPPage"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-01-21","updated":"2023-01-21","authors":[{"handle":"tecchan1107","name":"Tetsuya Kawahara","pictureUrl":"https://github.com/tecchan1107.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-stream-classic-webparts","url":"https://pnp.github.io/script-samples/samples/spo-export-stream-classic-webparts/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-stream-classic-webparts/README.html","previews":[{"src":"/script-samples/spo-export-stream-classic-webparts/assets/stream.png","alt":"Stream (Classic) Web Parts"},{"src":"/script-samples/spo-export-stream-classic-webparts/assets/example.png","alt":"Example Screenshot"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPage.html"}],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-get-message-centre-announcements-and-post-to-teams-channel","title":"Retrieve Message Center announcements and post to MS Teams channel","description":"This script allows you to retrieve Message Center announcements and post to MS Teams channel.","products":["sharepoint","teams"],"categories":["Report"],"tags":["SharePoint","Teams","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPMessageCenterAnnouncement","Connect-MicrosoftTeams","Submit-PnPTeamsChannelMessage","m365 login","m365 logout","m365 status","m365 teams team get","m365 teams channel get","m365 teams message send","m365 tenant serviceannouncement message list"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.2.0"}],"created":"2023-01-11","updated":"2023-01-17","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about the Microsoft Graph","description":"Check out the documentation site to get started and for the reference to the endpoints.","url":"https://developer.microsoft.com/graph/graph-explorer"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-message-centre-announcements-and-post-to-teams-channel","url":"https://pnp.github.io/script-samples/samples/spo-get-message-centre-announcements-and-post-to-teams-channel/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-message-centre-announcements-and-post-to-teams-channel/README.html","previews":[{"src":"/script-samples/spo-get-message-centre-announcements-and-post-to-teams-channel/assets/preview.png","alt":"Retrieve Message Center announcements and post to MS Teams channel"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPMessageCenterAnnouncement","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMessageCenterAnnouncement.html"},{"name":"Submit-PnPTeamsChannelMessage","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPTeamsChannelMessage.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 teams team get","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-get"},{"name":"m365 teams channel get","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/channel/channel-get"},{"name":"m365 teams message send","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/message/message-send"},{"name":"m365 tenant serviceannouncement message list","url":"https://pnp.github.io/cli-microsoft365/cmd/tenant/serviceannouncement/serviceannouncement-message-list"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-add-sitedesign-permissions","title":"Creates and apply site designs","description":"Script that creates site design based on existing site with permissions","products":["sharepoint"],"categories":["Modernize","Deploy","Provision"],"tags":["modern","Connect-PnPOnline","Disconnect-PnPOnline","Add-PnPSiteScript","Connect-PnPService","Get-PnPSite","Get-PnPSiteScript","Get-PnPSiteScriptFromList"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-01-16","updated":"2023-01-16","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-sitedesign-permissions","url":"https://pnp.github.io/script-samples/samples/spo-add-sitedesign-permissions/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-sitedesign-permissions/README.html","previews":[{"src":"/script-samples/spo-add-sitedesign-permissions/assets/preview.png","alt":"Preview of the sample Creates and apply site designs"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Add-PnPSiteScript","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPSiteScript.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPSiteScript","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteScript.html"},{"name":"Get-PnPSiteScriptFromList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteScriptFromList.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"ReportTermUse","title":"Report of where a Term is used","description":"Lists all the places where a specific Term ID is used","products":["sharepoint"],"categories":["Report"],"tags":["Get-PnPList","Get-PnPField","Get-PnPListItem","Connect-PnPOnline","Get-PnPTenantSite","Disconnect-PnPOnline","Get-PnPWeb","Get-PnPSubWeb","m365 status","m365 login","m365 spo list list","m365 spo field list","m365 spo listitem list","m365 spo site list","m365 spo web list"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.1.0"}],"created":"2021-12-13","updated":"2023-01-16","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/ReportTermUse","url":"https://pnp.github.io/script-samples/samples/ReportTermUse/","legacyUrl":"https://pnp.github.io/script-samples/ReportTermUse/README.html","previews":[{"src":"/script-samples/ReportTermUse/assets/preview.png","alt":"sample preview of Term use report"}],"commandReferences":[{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPSubWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSubWeb.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-list"},{"name":"m365 spo field list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-list"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"},{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 spo web list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/web/web-list"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"graph-download-office-documents-as-pdf","title":"Download Library contents as PDF","description":"Script to download files in a doclib to a local drive and convert Office Documents to PDF","products":["sharepoint","graph"],"categories":["Configure"],"tags":["Document Library","Conversion","PDF","Invoke-RestMethod","m365 status","m365 login","m365 request"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.1.0"}],"created":"2021-08-13","updated":"2023-01-15","authors":[{"handle":"russgove","name":"Russell Gove","pictureUrl":"https://github.com/russgove.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about the Microsoft Graph","description":"Check out the documentation site to get started and for the reference to the endpoints.","url":"https://developer.microsoft.com/graph/graph-explorer"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-download-office-documents-as-pdf","url":"https://pnp.github.io/script-samples/samples/graph-download-office-documents-as-pdf/","legacyUrl":"https://pnp.github.io/script-samples/graph-download-office-documents-as-pdf/README.html","previews":[{"src":"/script-samples/graph-download-office-documents-as-pdf/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 request","url":"https://pnp.github.io/cli-microsoft365/cmd/request/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-enable-page-scheduling","title":"Enable page scheduling on a modern site pages library","description":"Enable page scheduling on a modern site pages library","products":["sharepoint"],"categories":["Configure"],"tags":["Enable-PnPPageScheduling","Connect-PnPOnline","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2023-01-15","updated":"2023-01-15","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-enable-page-scheduling","url":"https://pnp.github.io/script-samples/samples/spo-enable-page-scheduling/","legacyUrl":"https://pnp.github.io/script-samples/spo-enable-page-scheduling/README.html","previews":[{"src":"/script-samples/spo-enable-page-scheduling/assets/preview.png","alt":"Enable page scheduling on a modern site pages library"}],"commandReferences":[{"name":"Enable-PnPPageScheduling","url":"https://pnp.github.io/powershell/cmdlets/Enable-PnPPageScheduling.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-add-app-permissions-and-connect-to-sharepoint","title":"Create AD app, add permissions and connect to SharePoint","description":"Create AD app, add permissions and connect to SharePoint","products":["entra"],"categories":["Report","Security"],"tags":["Azure","Microsoft 365","PowerShell"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2023-01-11","updated":"2023-01-11","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about Azure active directory PowerShell?","description":"Check out the Microsoft learning site to get started and for the reference to the commands.","url":"https://learn.microsoft.com/powershell/module/azuread/connect-azuread"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-add-app-permissions-and-connect-to-sharepoint","url":"https://pnp.github.io/script-samples/samples/aad-add-app-permissions-and-connect-to-sharepoint/","legacyUrl":"https://pnp.github.io/script-samples/aad-add-app-permissions-and-connect-to-sharepoint/README.html","previews":[{"src":"/script-samples/aad-add-app-permissions-and-connect-to-sharepoint/assets/preview.png","alt":"Preview of the sample Create AD app, add permissions and connect to SharePoint"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-create-documentset","title":"Create Documentset in SharePoint Library","description":"Sample for when you need to work with documentsets in SharePoint","products":["sharepoint"],"categories":["Provision"],"tags":["bash","classic","Add-PnPDocumentSet","Connect-PnPOnline","Get-PnPFolder","Set-PnPList","Set-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2023-01-10","updated":"2023-01-10","authors":[{"handle":"JimmyHang","name":"Jimmy Hang","pictureUrl":"https://github.com/JimmyHang.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-create-documentset","url":"https://pnp.github.io/script-samples/samples/spo-create-documentset/","legacyUrl":"https://pnp.github.io/script-samples/spo-create-documentset/README.html","previews":[{"src":"/script-samples/spo-create-documentset/assets/preview.png","alt":"Preview of the sample Create Documentset in SharePoint Library"}],"commandReferences":[{"name":"Add-PnPDocumentSet","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPDocumentSet.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolder.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-graph-create-dynamic-groups-project-visio","title":"Create Dynamic Install and Uninstall Azure AD Groups using Graph","description":"Script will create dynamic user groups based on the user having an enabled license for each application","products":["graph","azure"],"categories":["Configure"],"tags":["Microsoft Graph","Select-MgProfile","Connect-MgGraph","New-MGGroup"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2023-01-10","updated":"2023-01-10","authors":[{"handle":"andrew-s-taylor","name":"Andrew Taylor","pictureUrl":"https://github.com/andrew-s-taylor.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-graph-create-dynamic-groups-project-visio","url":"https://pnp.github.io/script-samples/samples/aad-graph-create-dynamic-groups-project-visio/","legacyUrl":"https://pnp.github.io/script-samples/aad-graph-create-dynamic-groups-project-visio/README.html","previews":[{"src":"/script-samples/aad-graph-create-dynamic-groups-project-visio/assets/preview.png","alt":"Preview of the sample Create Dynamic Install and Uninstall Azure AD Groups using Graph"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-enable-site-collection-app-catalog","title":"Enable Site Collection App Catalog on a specific sites using CSV","description":"Enable Site Collection App Catalog on list of SharePoint sites from CSV","products":["sharepoint"],"categories":["Deploy","Configure"],"tags":["m365 login","m365 logout","m365 status","m365 spo site appcatalog add","Add-PnPSiteCollectionAppCatalog","Connect-PnPOnline","Disconnect-PnPOnline","Add-SPOSiteCollectionAppCatalog","Connect-SPOService","Disconnect-SPOService","Get-SPOSite"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.23109.12000"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.2.0"}],"created":"2023-01-09","updated":"2023-01-09","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-enable-site-collection-app-catalog","url":"https://pnp.github.io/script-samples/samples/spo-enable-site-collection-app-catalog/","legacyUrl":"https://pnp.github.io/script-samples/spo-enable-site-collection-app-catalog/README.html","previews":[{"src":"/script-samples/spo-enable-site-collection-app-catalog/assets/preview.png","alt":"Enable Site Collection App Catalog on a specific sites using CSV"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo site appcatalog add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-appcatalog-add"},{"name":"Add-PnPSiteCollectionAppCatalog","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPSiteCollectionAppCatalog.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Add-SPOSiteCollectionAppCatalog","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Add-SPOSiteCollectionAppCatalog"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Disconnect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Disconnect-SPOService"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"}],"scriptTabCount":4,"codeBlockCount":4},{"slug":"spo-deploy-sppkgs-and-install-apps","title":"Deploy sppkgs and install apps","description":"Deploy all packages from a local folder and install the apps to the SharePoint site.","products":["sharepoint"],"categories":["Deploy"],"tags":["bash","classic","Add-PnPApp","Connect-PnPOnline","Disconnect-PnPOnline","Install-PnPApp"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-11-22","updated":"2023-01-08","authors":[{"handle":"srpmtt","name":"Matteo Serpi","pictureUrl":"https://github.com/srpmtt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-deploy-sppkgs-and-install-apps","url":"https://pnp.github.io/script-samples/samples/spo-deploy-sppkgs-and-install-apps/","legacyUrl":"https://pnp.github.io/script-samples/spo-deploy-sppkgs-and-install-apps/README.html","previews":[{"src":"/script-samples/spo-deploy-sppkgs-and-install-apps/assets/preview.png","alt":"Preview of the sample Deploy sppkgs and install apps"}],"commandReferences":[{"name":"Add-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPApp.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Install-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Install-PnPApp.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-upload-file-to-sharepoint","title":"Uploads a large file to SharePoint using MS Graph REST API and PowerShell ","description":"Uploads a large file to SharePoint using MS Graph REST API","products":["sharepoint","graph"],"categories":["Data"],"tags":["REST API","upload","Microsoft Graph"],"tools":[{"id":"AZURE-CLI","label":"Azure CLI","version":"2.43.0"}],"created":"2023-01-07","updated":"2023-01-07","authors":[{"handle":"pmatthews05","name":"Paul Matthews","pictureUrl":"https://github.com/pmatthews05.png?size=64"}],"references":[{"name":"Want to learn more about Azure CLI and the commands","description":"Check out the Azure CLI documentation site to get started and for the reference to the commands.","url":"https://learn.microsoft.com/cli/azure/"},{"name":"Want to learn more about driveItem: createUploadSession","description":"Check out the MS Graph Rest API driveItem: createUploadSession documentation.","url":"https://learn.microsoft.com/graph/api/driveitem-createuploadsession"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-upload-file-to-sharepoint","url":"https://pnp.github.io/script-samples/samples/graph-upload-file-to-sharepoint/","legacyUrl":"https://pnp.github.io/script-samples/graph-upload-file-to-sharepoint/README.html","previews":[{"src":"/script-samples/graph-upload-file-to-sharepoint/assets/Uploading.png","alt":"Uploading a large file to SharePoint via MS Graph REST API"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":3},{"slug":"spo-export-author-byline-users","title":"Extract the employees shown on modern pages (Author byline) in a selection of Site Collections to CSV","description":"Sample showing how to extract the employees shown on modern pages in a selection of Site Collections","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPListItem","Export-Csv","Get-PnPList","Get-PnPTenant","Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"}],"created":"2023-01-06","updated":"2023-01-06","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-author-byline-users","url":"https://pnp.github.io/script-samples/samples/spo-export-author-byline-users/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-author-byline-users/README.html","previews":[{"src":"/script-samples/spo-export-author-byline-users/assets/preview.png","alt":"Preview image of the sample Extract the employees shown on modern pages ( Author byline )  in a selection of Site Collections to CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-people-web-part-users","title":"Extract the employees shown in the People Web part on pages in a selection of Site Collections to CSV","description":"Sample showing how to extract the employees shown in the People Web part on pages in a selection of Site Collections","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPClientSidePage","ConvertFrom-Json","Export-Csv"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"}],"created":"2022-12-23","updated":"2022-12-23","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-people-web-part-users","url":"https://pnp.github.io/script-samples/samples/spo-export-people-web-part-users/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-people-web-part-users/README.html","previews":[{"src":"/script-samples/spo-export-people-web-part-users/assets/preview.png","alt":"Preview image of the sample Extract the employees shown in the People Web part on pages in a selection of Site Collections to CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-deploy-pnpmodernsearch-webpart","title":"Extract the configuration of a PnP Modern Search results web part and apply it on another site collection","description":"Sample showing how to use extract the configuration of a PnP Modern Search results web part and apply it on another site collection","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPProperty","Get-PnPSite","Get-PnPTenant","Get-PnPTenantSite","Get-PnPWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"}],"created":"2022-12-14","updated":"2022-12-14","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-deploy-pnpmodernsearch-webpart","url":"https://pnp.github.io/script-samples/samples/spo-deploy-pnpmodernsearch-webpart/","legacyUrl":"https://pnp.github.io/script-samples/spo-deploy-pnpmodernsearch-webpart/README.html","previews":[{"src":"/script-samples/spo-deploy-pnpmodernsearch-webpart/assets/preview.png","alt":"Preview image of the sample Extract the configuration of a PnP Modern Search results web part and apply it on another site collection"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-create-multi-hub-sites","title":"Create a multi-hub set of communication sites","description":"This sample builds 9 SharePoint communication sites, creates three hub sites and associates them to a main hub site","products":["sharepoint"],"categories":["Provision"],"tags":["bash","classic"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-12-06","updated":"2022-12-06","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-create-multi-hub-sites","url":"https://pnp.github.io/script-samples/samples/spo-create-multi-hub-sites/","legacyUrl":"https://pnp.github.io/script-samples/spo-create-multi-hub-sites/README.html","previews":[{"src":"/script-samples/spo-create-multi-hub-sites/assets/preview.png","alt":"Preview of the sample Create a multi-hub set of communication sites"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-remove-webpart-from-pages","title":"Remove modern web parts from pages","description":"Remove modern web parts from pages by their Id, Instance Id, or Title","products":["sharepoint"],"categories":["Data"],"tags":["m365 login","m365 spo web part","m365 spo web part properties","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPPage","Migration","Archive"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"}],"created":"2022-11-24","updated":"2022-11-24","authors":[{"handle":"AhmadiRamin","name":"Ramin Ahmadi","pictureUrl":"https://github.com/AhmadiRamin.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-webpart-from-pages","url":"https://pnp.github.io/script-samples/samples/spo-remove-webpart-from-pages/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-webpart-from-pages/README.html","previews":[{"src":"/script-samples/spo-remove-webpart-from-pages/assets/preview.png","alt":"Preview of the sample Remove modern web parts from pages"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPage.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-add-demo-content-from-site","title":"Add demo content from a website such as Wikipedia","description":"This sample shows how you can generate a set of demo content from a website such as Wikipedia.","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Add-PnPFile","Content"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.12.0"}],"created":"2022-11-19","updated":"2022-11-19","authors":[{"handle":"kevmcdonk","name":"Kevin McDonnell","pictureUrl":"https://github.com/kevmcdonk.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-demo-content-from-site","url":"https://pnp.github.io/script-samples/samples/spo-add-demo-content-from-site/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-demo-content-from-site/README.html","previews":[{"src":"/script-samples/spo-add-demo-content-from-site/assets/preview.png","alt":"Preview of the sample Add demo content from a website such as Wikipedia"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-basic-sitecollection-info","title":"Sample showing how to export basic site collection properties to a CSV file","description":"Sample showing how to export basic site collection properties to a CSV file for stakeholders which do not have access to the SharePoint Admin Center","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPProperty","Get-PnPSite","Get-PnPTenant","Get-PnPTenantSite","Get-PnPWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"}],"created":"2022-11-18","updated":"2022-11-18","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-basic-sitecollection-info","url":"https://pnp.github.io/script-samples/samples/spo-export-basic-sitecollection-info/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-basic-sitecollection-info/README.html","previews":[{"src":"/script-samples/spo-export-basic-sitecollection-info/assets/preview.png","alt":"Preview image of the sample how to export basic site collection properties to a CSV file"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-copy-directory-structure-to-sharepoint-list","title":"Copy the folder structure of a directory to a SharePoint list","description":"Copies the folder structure of a directory to a SharePoint list and trigger an migration using the Migration Manager","products":["sharepoint","graph"],"categories":["Configure"],"tags":["Unified Audit Logs","ULS","PDF"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-10-28","updated":"2022-10-28","authors":[{"handle":"russgove","name":"Russell Gove","pictureUrl":"https://github.com/russgove.png?size=64"}],"references":[{"name":"Want to learn more about the Microsoft Graph","description":"Check out the documentation site to get started and for the reference to the endpoints.","url":"https://developer.microsoft.com/graph/graph-explorer"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-copy-directory-structure-to-sharepoint-list","url":"https://pnp.github.io/script-samples/samples/spo-copy-directory-structure-to-sharepoint-list/","legacyUrl":"https://pnp.github.io/script-samples/spo-copy-directory-structure-to-sharepoint-list/README.html","previews":[{"src":"/script-samples/spo-copy-directory-structure-to-sharepoint-list/assets/preview.png","alt":"A preview image of Copy the folder structure of a directory to a sharepoint list"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-get-usage-from-audit-logs","title":"Gets usage from a particular user(s) or site(s) from the Unified Audit Log","description":"This script will scan the ULS Logs for the last week looking for all access by a user an or to a site and create an excel file summarizing the activity","products":["sharepoint","graph"],"categories":["Report"],"tags":["Unified Audit Logs","ULS","PDF"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-10-28","updated":"2022-10-28","authors":[{"handle":"russgove","name":"Russell Gove","pictureUrl":"https://github.com/russgove.png?size=64"}],"references":[{"name":"Want to learn more about the Microsoft Graph","description":"Check out the documentation site to get started and for the reference to the endpoints.","url":"https://developer.microsoft.com/graph/graph-explorer"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-usage-from-audit-logs","url":"https://pnp.github.io/script-samples/samples/spo-get-usage-from-audit-logs/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-usage-from-audit-logs/README.html","previews":[{"src":"/script-samples/spo-get-usage-from-audit-logs/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"azure-delete-allresources-resourcegroup","title":"Delete all resources from a resource group","description":"There will be cases where you want to delete all resources from a resource group. This would typically be used if you want to clean up the resource group after a test run.","products":["azure"],"categories":["Configure"],"tags":[],"tools":[{"id":"AZURE-CLI","label":"Azure CLI","version":"2.27.0"}],"created":"2022-10-21","updated":"2022-10-21","authors":[{"handle":"arjunumenon","name":"Arjun Menon","pictureUrl":"https://github.com/arjunumenon.png?size=64"}],"references":[{"name":"Want to learn more about Azure CLI and the commands","description":"Check out the Azure CLI documentation site to get started and for the reference to the commands.","url":"https://learn.microsoft.com/cli/azure/"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/azure-delete-allresources-resourcegroup","url":"https://pnp.github.io/script-samples/samples/azure-delete-allresources-resourcegroup/","legacyUrl":"https://pnp.github.io/script-samples/azure-delete-allresources-resourcegroup/README.html","previews":[{"src":"/script-samples/azure-delete-allresources-resourcegroup/assets/preview.png","alt":"Preview of the sample Delete all resources from a resource group"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"export-onedrive-sites-details-to-csv","title":"Export OneDrive Sites","description":"This script exports all onedrive sites to CSV","products":["sharepoint"],"categories":["Report"],"tags":["SharePoint Online","Connect-SPOService","Connect-PnPOnline","Get-SPOSite","Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"}],"created":"2022-10-18","updated":"2022-10-19","authors":[{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/export-onedrive-sites-details-to-csv","url":"https://pnp.github.io/script-samples/samples/export-onedrive-sites-details-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/export-onedrive-sites-details-to-csv/README.html","previews":[{"src":"/script-samples/export-onedrive-sites-details-to-csv/assets/example.png","alt":"Preview of the sample <title>"}],"commandReferences":[{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-delete-orphaned-temporary-sitepages","title":"Delete orphaned temporary pages from Site Pages","description":"Script to clean up temporary pages from Site Pages library","products":["sharepoint"],"categories":["Deploy"],"tags":["Modern page","Site Pages","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPContext","Get-PnPList","Invoke-PnPQuery","m365 login","m365 status","m365 spo page list","m365 spo page remove","m365 logout","m365 spo file checkin","m365 spo file checkout","m365 spo list get"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.9.0"}],"created":"2022-02-14","updated":"2022-10-18","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"brianpmccullough","name":"Brian P. McCullough","pictureUrl":"https://github.com/brianpmccullough.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-delete-orphaned-temporary-sitepages","url":"https://pnp.github.io/script-samples/samples/spo-delete-orphaned-temporary-sitepages/","legacyUrl":"https://pnp.github.io/script-samples/spo-delete-orphaned-temporary-sitepages/README.html","previews":[{"src":"/script-samples/spo-delete-orphaned-temporary-sitepages/assets/preview.png","alt":"An image showing orphaned temporary pages in a Site Pages library."}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo page list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-list"},{"name":"m365 spo page remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-remove"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"m365 spo file checkin","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-checkin"},{"name":"m365 spo file checkout","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-checkout"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-update-search-result-webparts","title":"Sample on how to locate the classic Search Result Web part and check the Remove Duplicates setting","description":"Locate all the pages where a classic SearchResultWebPart is used, and if the Remove Duplicates setting is True (which is the default) log the location in the csv file","products":["sharepoint"],"categories":["Data"],"tags":["Get-PnPWebPart","Connect-PnPOnline","Get-PnPTenantSite","Disconnect-PnPOnline","Get-PnPListItem","Get-PnPSubWebs"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"}],"created":"2022-10-17","updated":"2022-10-17","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-search-result-webparts","url":"https://pnp.github.io/script-samples/samples/spo-update-search-result-webparts/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-search-result-webparts/README.html","previews":[{"src":"/script-samples/spo-update-search-result-webparts/assets/preview.png","alt":"Preview image of the sample for running jobs in parallel"}],"commandReferences":[{"name":"Get-PnPWebPart","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWebPart.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-search-change-placeholder-text","title":"Change the Placeholder text in SharePoint Search Box","description":"This sample script shows how to change the placeholder text in SharePoint online search box for a given (sub) site and/or for all the sites in a site collection.","products":["sharepoint"],"categories":["Configure"],"tags":["modern","search","Connect-PnPOnline","Set-PnPSearchSettings"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"}],"created":"2022-10-08","updated":"2022-10-08","authors":[{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-search-change-placeholder-text","url":"https://pnp.github.io/script-samples/samples/spo-search-change-placeholder-text/","legacyUrl":"https://pnp.github.io/script-samples/spo-search-change-placeholder-text/README.html","previews":[{"src":"/script-samples/spo-search-change-placeholder-text/assets/preview.png","alt":"Preview of the sample Change the Placeholder text in SharePoint Search Box"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPSearchSettings","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPSearchSettings.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-list-update-contenttype-systemupdate","title":"Update content type of files in folder with system update","description":"The script updates content type of files in folder with system update.","products":["sharepoint"],"categories":["Data","Provision"],"tags":["classic","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPListItem","Set-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-10-06","updated":"2022-10-06","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-update-contenttype-systemupdate","url":"https://pnp.github.io/script-samples/samples/spo-list-update-contenttype-systemupdate/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-update-contenttype-systemupdate/README.html","previews":[{"src":"/script-samples/spo-list-update-contenttype-systemupdate/assets/preview.png","alt":"preview image showing there is no preview"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-termstore-terms-to-csv","title":"Export SharePoint Term Store terms to CSV","description":"Export SharePoint Term Store terms to CSV","products":["sharepoint"],"categories":["Data"],"tags":["m365 login","m365 spo terms list","m365 logout","m365 status","m365 spo term group list","m365 spo term list","m365 spo term set list","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPTerm","Get-PnPTermGroup","Get-PnPTermSet","Migration","Archive"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.6.0"}],"created":"2022-07-07","updated":"2022-10-01","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"AhmadiRamin","name":"Ramin Ahmadi","pictureUrl":"https://github.com/AhmadiRamin.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-termstore-terms-to-csv","url":"https://pnp.github.io/script-samples/samples/spo-export-termstore-terms-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-termstore-terms-to-csv/README.html","previews":[{"src":"/script-samples/spo-export-termstore-terms-to-csv/assets/preview.png","alt":"Preview of the sample Export SharePoint Term Store terms to CSV"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo term group list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/term/term-group-list"},{"name":"m365 spo term list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/term/term-list"},{"name":"m365 spo term set list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/term/term-set-list"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPTerm","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTerm.html"},{"name":"Get-PnPTermGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTermGroup.html"},{"name":"Get-PnPTermSet","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTermSet.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-add-contenttypehub-format-field-to-List","title":"Add Content Type Hub with calendar format field to List","description":"This script will create Content Type Hub with custom calendar List field formatting and include in destination site and associated custom List","products":["sharepoint"],"categories":["Deploy","Provision"],"tags":["Connect-PnPOnline","Get-PnPContentTypePublishingHubUrl","Invoke-WebRequest","Get-PnPContentType","Add-PnPContentType","Add-PnPField","Set-PnPField","Add-PnPFieldToContentType","Publish-PnPContentType","Add-PnPContentTypesFromContentTypeHub","New-PnPList","Remove-PnPContentTypeFromList","Add-PnPContentTypeToList","Set-PnPView","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-09-28","updated":"2022-09-28","authors":[{"handle":"aaclage","name":"André Lage","pictureUrl":"https://github.com/aaclage.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-contenttypehub-format-field-to-List","url":"https://pnp.github.io/script-samples/samples/spo-add-contenttypehub-format-field-to-List/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-contenttypehub-format-field-to-List/README.html","previews":[{"src":"/script-samples/spo-add-contenttypehub-format-field-to-List/assets/preview.png","alt":"Preview of the sample Add Content Type Hub with calendar format field to List"},{"src":"/script-samples/spo-add-contenttypehub-format-field-to-List/assets/ContentTypeHub.PNG","alt":"Preview of the sample Add Content Type Hub with calendar format field to List"},{"src":"/script-samples/spo-add-contenttypehub-format-field-to-List/assets/ContentTypeHubList.PNG","alt":"Preview of the sample Add Content Type Hub with calendar format field to List"},{"src":"/script-samples/spo-add-contenttypehub-format-field-to-List/assets/ContentTypeHubFormatField.gif","alt":"Preview of the sample Add Content Type Hub with calendar format field to List"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPContentTypePublishingHubUrl","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentTypePublishingHubUrl.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Add-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentType.html"},{"name":"Add-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPField.html"},{"name":"Set-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPField.html"},{"name":"Add-PnPFieldToContentType","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFieldToContentType.html"},{"name":"Publish-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Publish-PnPContentType.html"},{"name":"Add-PnPContentTypesFromContentTypeHub","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentTypesFromContentTypeHub.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"},{"name":"Remove-PnPContentTypeFromList","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPContentTypeFromList.html"},{"name":"Add-PnPContentTypeToList","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentTypeToList.html"},{"name":"Set-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPView.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-quicklink-wp-creator","title":"Create a Quick Links web part with items defined in a datasource","description":"This script will enable you to create a Quick Links web part where the items are defined in some kind of data source","products":["sharepoint"],"categories":["Data"],"tags":["Add-PnPField","Add-PnPListItem","Add-PnPPage","Add-PnPPageWebPart","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPPage","Get-PnPWeb","New-PnPList"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.8.0"}],"created":"2022-09-27","updated":"2022-09-27","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-quicklink-wp-creator","url":"https://pnp.github.io/script-samples/samples/spo-quicklink-wp-creator/","legacyUrl":"https://pnp.github.io/script-samples/spo-quicklink-wp-creator/README.html","previews":[{"src":"/script-samples/spo-quicklink-wp-creator/assets/preview.png","alt":"Preview of the sample Create a Quick Links web part with items defined in a datasource"}],"commandReferences":[{"name":"Add-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPField.html"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"},{"name":"Add-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPPage.html"},{"name":"Add-PnPPageWebPart","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPPageWebPart.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPage.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-get-license-and-signins","title":"Get users by license and review last signed in","description":"Obtain a report via the Microsoft Graph to extract the license and last signedin information to support a license review, for others to help remove any unused users","products":["microsoft-365","graph"],"categories":["Report"],"tags":["bash","classic","Find-MgGraphCommand","Connect-MgGraph","Get-MgContext","Select-MgProfile","Get-MgUser","Disconnect-MgGraph"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.9.2"}],"created":"2022-09-26","updated":"2022-09-26","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-get-license-and-signins","url":"https://pnp.github.io/script-samples/samples/graph-get-license-and-signins/","legacyUrl":"https://pnp.github.io/script-samples/graph-get-license-and-signins/README.html","previews":[{"src":"/script-samples/graph-get-license-and-signins/assets/preview.png","alt":"Preview of the sample Get users by license review last signed in"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-get-files-and-creators-modifiers","title":"Get all files in a Document Library along with Created By and Modified By","description":"When connected to a site with Connect-PnPOnline this script will walk through the site's document libraries, list each file, when it was created and by whom, and when it was last modified by whom","products":["sharepoint"],"categories":["Report"],"tags":["bash","classic","Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPTenant","Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2022-09-23","updated":"2022-09-23","authors":[{"handle":"ToddKlindt","name":"Todd Klindt","pictureUrl":"https://github.com/ToddKlindt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-files-and-creators-modifiers","url":"https://pnp.github.io/script-samples/samples/spo-get-files-and-creators-modifiers/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-files-and-creators-modifiers/README.html","previews":[{"src":"/script-samples/spo-get-files-and-creators-modifiers/assets/preview.png","alt":"Preview of the sample Get all files in a Document Library along with Created By and Modified By"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-common-operations","title":"Microsoft Graph PowerShell SDK for Common Operations","description":"Examples of common operations covering installation, authentication, permissions, differentiate between endpoints, CRUD operations are more...","products":["microsoft-365","graph","teams"],"categories":["Data","Report","Security"],"tags":["bash","classic","Connect-MgGraph","Disconnect-MgGraph","Get-MgUserMessage","Get-MgUser","New-MgChatMessage","Find-MgGraphCommand","Get-MgDirectorySetting","Get-MgProfile","Select-MgProfile","Get-MgAuditLogSignIn","Get-MgReportMailboxUsageDetail","Invoke-MgGraphRequest"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.11.1"}],"created":"2022-09-08","updated":"2022-09-08","authors":[{"handle":"nikcharlebois","name":"Nik Charlebois","pictureUrl":"https://github.com/nikcharlebois.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"},{"name":"Using the Microsoft Graph PowerShell SDK for common operations","description":"Demonstration of installing modules, see how authentication works (both in Delegated and App-only permissions scenarios for any CRUD operation), find permissions (discover cmdlets based on URLs, identify permissions required for apps based on cmdlets used), differentiate between beta and v1 endpoints, obtain Auth sign-in information and run reports using Out-GridView that dumps results into CSV file.","url":"https://www.youtube.com/watch?v=ib3BrVNQkFM&t=260s"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-common-operations","url":"https://pnp.github.io/script-samples/samples/graph-common-operations/","legacyUrl":"https://pnp.github.io/script-samples/graph-common-operations/README.html","previews":[{"src":"/script-samples/graph-common-operations/assets/preview.png","alt":"Preview of the sample Microsoft Graph PowerShell SDK for Common Operations"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-recover-meeting-recordings","title":"SPO Recover Deleted Meeting Recordings","description":"With the new 120 day expiration meeting recording policy - what do you do if you need to recover across thousands of accounts.","products":["sharepoint","teams"],"categories":["Report","Security"],"tags":["bash","classic","Get-PnPRecycleBinItem","Restore-PnPRecycleBinItem","Get-SPODeletedSite","Get-SPOSite","Set-SPOUser"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"}],"created":"2022-09-07","updated":"2022-09-07","authors":[{"handle":"Jasonwbaxter","name":"Jason Baxter","pictureUrl":"https://github.com/Jasonwbaxter.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-recover-meeting-recordings","url":"https://pnp.github.io/script-samples/samples/spo-recover-meeting-recordings/","legacyUrl":"https://pnp.github.io/script-samples/spo-recover-meeting-recordings/README.html","previews":[{"src":"/script-samples/spo-recover-meeting-recordings/assets/preview.png","alt":"Preview of the sample SPO Recover Deleted Meeting Recordings"}],"commandReferences":[{"name":"Get-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPRecycleBinItem.html"},{"name":"Restore-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Restore-PnPRecycleBinItem.html"},{"name":"Get-SPODeletedSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPODeletedSite"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"},{"name":"Set-SPOUser","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Set-SPOUser"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"tenant-health-notify-teams","title":"Get notified in Microsoft Teams about SharePoint health incidents","description":"This script monitors your SharePoint health status and sends a notifications to a Microsoft Teams channel.","products":["sharepoint","teams","microsoft-365"],"categories":["Report"],"tags":["Governance","Microsoft 365 Health Status","IT Pro","Azure Function","Health Status Monitoring","Imported CLI Sample","m365 spo set","m365 spo list get","m365 spo list add","m365 spo listitem list","m365 spo listitem add","m365 spo listitem remove","m365 tenant serviceannouncement healthissue list"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.6.0"}],"created":"2022-08-25","updated":"2022-08-25","authors":[{"handle":"martinlingstuyl","name":"Martin Lingstuyl","pictureUrl":"https://github.com/martinlingstuyl.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Getting notified of service incidents in Microsoft Teams","description":"This sample first appeared on the Blimped blog","url":"https://www.blimped.nl/getting-notified-of-service-incidents-in-microsoft-teams/"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/tenant-health-notify-teams","url":"https://pnp.github.io/script-samples/samples/tenant-health-notify-teams/","legacyUrl":"https://pnp.github.io/script-samples/tenant-health-notify-teams/README.html","previews":[{"src":"/script-samples/tenant-health-notify-teams/assets/preview.png","alt":"Preview of the sample Get notified in Microsoft Teams about SharePoint health incidents"}],"commandReferences":[{"name":"m365 spo set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/spo-set"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 spo list add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-add"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"},{"name":"m365 spo listitem add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-add"},{"name":"m365 spo listitem remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-remove"},{"name":"m365 tenant serviceannouncement healthissue list","url":"https://pnp.github.io/cli-microsoft365/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list"}],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-export-checked-out-files-in-all-sites-associated-with-a-hub-site-to-csv","title":"Export checked-out files in all sites associated with a hub site to CSV","description":"Export checked-out files in all sites associated with a hub site to CSV","products":["sharepoint"],"categories":["Data","Report"],"tags":["m365","sharepoint","documents","checkedout","hubsite","Migration"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-08-14","updated":"2022-08-14","authors":[{"handle":"ArashAghajani","name":"Arash Aghajani","pictureUrl":"https://github.com/ArashAghajani.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-checked-out-files-in-all-sites-associated-with-a-hub-site-to-csv","url":"https://pnp.github.io/script-samples/samples/spo-export-checked-out-files-in-all-sites-associated-with-a-hub-site-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-checked-out-files-in-all-sites-associated-with-a-hub-site-to-csv/README.html","previews":[{"src":"/script-samples/spo-export-checked-out-files-in-all-sites-associated-with-a-hub-site-to-csv/assets/screen-output.png","alt":"Preview of the sample Export checked-out files in all sites associated with a hub site to CSV"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-get-app-permission","title":"Get Azure AD app permission info (delegated or application)","description":"Get any existing delegated or application permission info associated to a Microsoft AAD app from its name","products":["sharepoint","graph","azure"],"categories":["Data","Configure","Report","Security"],"tags":["classic","m365 login","m365 status","m365 aad sp get","m365 cli config get","m365 cli config set","Connect-MgGraph","Get-MgServicePrincipal"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.5.0"},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.11.0"},{"id":"POWERSHELL","label":"PowerShell","version":"7.2.1"}],"created":"2022-08-10","updated":"2022-08-10","authors":[{"handle":"michaelmaillot","name":"Michaël Maillot","pictureUrl":"https://github.com/michaelmaillot.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-get-app-permission","url":"https://pnp.github.io/script-samples/samples/aad-get-app-permission/","legacyUrl":"https://pnp.github.io/script-samples/aad-get-app-permission/README.html","previews":[{"src":"/script-samples/aad-get-app-permission/assets/preview.png","alt":"Preview of the sample Get Azure AD app permission info (delegated or application)"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 cli config get","url":"https://pnp.github.io/cli-microsoft365/cmd/cli/config/config-get"},{"name":"m365 cli config set","url":"https://pnp.github.io/cli-microsoft365/cmd/cli/config/config-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"bulk-restore-from-recyclebin","title":"Restore large number of items from SharePoint Recycle bin in bulk","description":"Restores Recycle bin items from CSV file in batches","products":["sharepoint"],"categories":["Data"],"tags":["recycle bin","restore","bulk","Get-PnPRecycleBin","Invoke-PnPSPRestMethod"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-08-05","updated":"2022-08-05","authors":[{"handle":"pmatthews05","name":"Paul Matthews","pictureUrl":"https://github.com/pmatthews05.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/bulk-restore-from-recyclebin","url":"https://pnp.github.io/script-samples/samples/bulk-restore-from-recyclebin/","legacyUrl":"https://pnp.github.io/script-samples/bulk-restore-from-recyclebin/README.html","previews":[{"src":"/script-samples/bulk-restore-from-recyclebin/assets/csv-output.png","alt":"Preview of the sample Restore large number of items from SharePoint Recycle bin in bulk"}],"commandReferences":[{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-add-document-library-webpart-to-page","title":"Add a document library web part to a page","description":"Add a document library web part to a page (and only show a specific folder)","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Add-PnPPage","Add-PnPPageSection","Add-PnPPageTextPart","Get-PnPList","Add-PnPPageWebPart","Get-PnPPage","m365 status","m365 login","m365 spo page add","m365 spo page section add","m365 spo page text add","m365 spo page clientsidewebpart add","m365 spo page set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.14.22"}],"created":"2021-06-18","updated":"2022-08-01","authors":[{"handle":"ToddKlindt","name":"Todd Klindt","pictureUrl":"https://github.com/ToddKlindt.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"Marijnsomers","name":"Marijn Somers","pictureUrl":"https://github.com/Marijnsomers.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-document-library-webpart-to-page","url":"https://pnp.github.io/script-samples/samples/spo-add-document-library-webpart-to-page/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-document-library-webpart-to-page/README.html","previews":[{"src":"/script-samples/spo-add-document-library-webpart-to-page/assets/preview.png","alt":"Preview of the sample Add a document library web part to a page"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPPage.html"},{"name":"Add-PnPPageSection","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPPageSection.html"},{"name":"Add-PnPPageTextPart","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPPageTextPart.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Add-PnPPageWebPart","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPPageWebPart.html"},{"name":"Get-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPage.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo page add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-add"},{"name":"m365 spo page section add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-section-add"},{"name":"m365 spo page text add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-text-add"},{"name":"m365 spo page clientsidewebpart add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-clientsidewebpart-add"},{"name":"m365 spo page set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-extract-and-invoke-site-template","title":"Create a SharePoint site using the configuration of another site","description":"This script uses PnP Powershell to extract the template of one SharePoint site and invoke it on another site","products":["sharepoint"],"categories":["Provision"],"tags":[],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-07-25","updated":"2022-07-25","authors":[{"handle":"lewisdoesdev","name":"Lewis Baybutt","pictureUrl":"https://github.com/lewisdoesdev.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-extract-and-invoke-site-template","url":"https://pnp.github.io/script-samples/samples/spo-extract-and-invoke-site-template/","legacyUrl":"https://pnp.github.io/script-samples/spo-extract-and-invoke-site-template/README.html","previews":[{"src":"/script-samples/spo-extract-and-invoke-site-template/assets/preview.png","alt":"Preview of the sample Create a SharePoint site using the configuration of another site"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-bulk-publish-syntex-model","title":"Bulk Publish Syntex Models To Libraries","description":"This script sample will publish Syntex Document Understanding Models to many libraries using the batching functionality of PnP PowerShell.","products":["sharepoint"],"categories":["Deploy"],"tags":["SharePoint Online","Publish-PnPSyntexModel","SharePoint Syntex","Invoke-PnPBatch"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-07-22","updated":"2022-07-22","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-bulk-publish-syntex-model","url":"https://pnp.github.io/script-samples/samples/spo-bulk-publish-syntex-model/","legacyUrl":"https://pnp.github.io/script-samples/spo-bulk-publish-syntex-model/README.html","previews":[{"src":"/script-samples/spo-bulk-publish-syntex-model/assets/preview.png","alt":"Preview of the sample Bulk Publish Syntex Models To Libraries"}],"commandReferences":[{"name":"Publish-PnPSyntexModel","url":"https://pnp.github.io/powershell/cmdlets/Publish-PnPSyntexModel.html"},{"name":"Invoke-PnPBatch","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPBatch.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-update-modern-webpart-properties","title":"Update web part properties on modern pages","description":"Update web part properties on modern pages","products":["sharepoint"],"categories":["Data"],"tags":["m365 login","m365 spo web part","m365 spo web part properties","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPPage","Migration","Archive"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"}],"created":"2022-07-15","updated":"2022-07-15","authors":[{"handle":"AhmadiRamin","name":"Ramin Ahmadi","pictureUrl":"https://github.com/AhmadiRamin.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-modern-webpart-properties","url":"https://pnp.github.io/script-samples/samples/spo-update-modern-webpart-properties/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-modern-webpart-properties/README.html","previews":[{"src":"/script-samples/spo-update-modern-webpart-properties/assets/preview.png","alt":"Preview of the sample Update web part properties on modern pages"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPage.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"planner-copy-planner-plan","title":"Copy Planner plan","description":"With this sample, you can copy an existing plan to a certain group.","products":["planner"],"categories":["Data","Provision"],"tags":["Planner","PowerShell","m365 login","m365 status","m365 planner plan get","m365 planner bucket list","m365 planner task list","m365 planner task get","m365 planner plan add","m365 planner bucket add","m365 planner task add","Add-PnPPlannerBucket","Add-PnPPlannerTask","Connect-PnPOnline","Get-PnPPlannerBucket","Get-PnPPlannerPlan","Get-PnPPlannerTask","New-PnPPlannerPlan"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.4.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.11.0"}],"created":"2022-06-05","updated":"2022-07-09","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"milanholemans","name":"Milan Holemans","pictureUrl":"https://github.com/milanholemans.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/planner-copy-planner-plan","url":"https://pnp.github.io/script-samples/samples/planner-copy-planner-plan/","legacyUrl":"https://pnp.github.io/script-samples/planner-copy-planner-plan/README.html","previews":[{"src":"/script-samples/planner-copy-planner-plan/assets/preview.png","alt":"Preview of the sample copy Planner plan"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 planner plan get","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/plan/plan-get"},{"name":"m365 planner bucket list","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/bucket/bucket-list"},{"name":"m365 planner task list","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/task/task-list"},{"name":"m365 planner task get","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/task/task-get"},{"name":"m365 planner plan add","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/plan/plan-add"},{"name":"m365 planner bucket add","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/bucket/bucket-add"},{"name":"m365 planner task add","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/task/task-add"},{"name":"Add-PnPPlannerBucket","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPPlannerBucket.html"},{"name":"Add-PnPPlannerTask","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPPlannerTask.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPPlannerBucket","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPlannerBucket.html"},{"name":"Get-PnPPlannerPlan","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPlannerPlan.html"},{"name":"Get-PnPPlannerTask","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPlannerTask.html"},{"name":"New-PnPPlannerPlan","url":"https://pnp.github.io/powershell/cmdlets/New-PnPPlannerPlan.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-list-site-externalusers","title":"List all external users in all site collections","description":"Script helps you to list all external users in all SharePoint Online sites","products":["sharepoint"],"categories":["Report","Security"],"tags":["SharePoint Online","Governance","External Users","Connect-PnPOnline","Get-PnPTenant","Get-PnPTenantSite","Get-PnPUser","Connect-SPOService","Get-SPOExternalUser","Get-SPOSite"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-03-15","updated":"2022-07-08","authors":[{"handle":"martinlingstuyl","name":"Martin Lingstuyl","pictureUrl":"https://github.com/martinlingstuyl.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-site-externalusers","url":"https://pnp.github.io/script-samples/samples/spo-list-site-externalusers/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-site-externalusers/README.html","previews":[{"src":"/script-samples/spo-list-site-externalusers/assets/preview.png","alt":"Preview of the sample List all external users in all site collections"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUser.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Get-SPOExternalUser","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOExternalUser"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-list-site-externalusers-in-groups","title":"List external users across all sites and in what site groups they are","description":"The script shows in what site groups external users are added in all SharePoint Online sites","products":["sharepoint"],"categories":["Report","Security"],"tags":["SharePoint Online","Governance","External Users","m365 login","m365 status","m365 spo site classic list","m365 util accesstoken get","Connect-PnPOnline","Get-PnPTenantSite","Invoke-PnPSPRestMethod"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.4.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.22"}],"created":"2022-07-08","updated":"2022-07-08","authors":[{"handle":"martinlingstuyl","name":"Martin Lingstuyl","pictureUrl":"https://github.com/martinlingstuyl.png?size=64"},{"handle":"bjdekker","name":"Bart-Jan Dekker","pictureUrl":"https://github.com/bjdekker.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-site-externalusers-in-groups","url":"https://pnp.github.io/script-samples/samples/spo-list-site-externalusers-in-groups/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-site-externalusers-in-groups/README.html","previews":[{"src":"/script-samples/spo-list-site-externalusers-in-groups/assets/preview.png","alt":"Preview of the sample List external users across all sites and in what site groups they are"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 util accesstoken get","url":"https://pnp.github.io/cli-microsoft365/cmd/util/accesstoken/accesstoken-get"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-modern-page-publishing-report","title":"SharePoint Modern Page Publishing Report","description":"Scan through modern pages within a site and reports out the publishing status of the pages","products":["sharepoint"],"categories":["Configure","Report"],"tags":["m365 login","m365 spo web get","m365 spo page list","m365 status","Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Get-PnPWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.8.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.3.0"}],"created":"2021-11-10","updated":"2022-07-06","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-modern-page-publishing-report","url":"https://pnp.github.io/script-samples/samples/spo-modern-page-publishing-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-modern-page-publishing-report/README.html","previews":[{"src":"/script-samples/spo-modern-page-publishing-report/assets/preview.png","alt":"Preview of the sample SharePoint Modern Page Publishing Report"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo web get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/web/web-get"},{"name":"m365 spo page list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/page/page-list"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"planner-migration-spo-list","title":"Planner migration to SharePoint list","description":"Migrate a planner plan with buckets and tasks to a SharePoint Online list","products":["planner","sharepoint"],"categories":["Data"],"tags":["SharePoint Online","Microsoft 365","PowerShell","Planner","Imported CLI Sample","Security","m365 login","m365 status","m365 planner plan list","m365 planner bucket list","m365 planner task list","m365 planner task get","m365 aad user get","m365 spo list add","m365 spo field add","m365 spo listitem add","m365 spo listitem set","m365 spo list view field add","m365 spo list view set","Add-PnPField","Add-PnPFieldFromXml","Add-PnPListItem","Add-PnPView","Connect-PnPOnline","Get-PnPAzureADUser","Get-PnPPlannerBucket","Get-PnPPlannerPlan","Get-PnPPlannerTask","New-PnPList","Set-PnPList","Set-PnPListItem","Set-PnPView"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.4.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"}],"created":"2022-05-23","updated":"2022-07-03","authors":[{"handle":"Jwaegebaert","name":"Jasey Waegebaert","pictureUrl":"https://github.com/Jwaegebaert.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"appieschot","name":"Albert-Jan Schot","pictureUrl":"https://github.com/appieschot.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Planner migration to SharePoint list","description":"This sample first appeared on the CLI for Microsoft 365 documentation site","url":"https://pnp.github.io/cli-microsoft365/sample-scripts/spo/planner-migrate-sharepoint-list/"},{"name":"PnP PowerShell to manage list designs and create lists/libraries using list designs","description":"Refers to the article for other PnP PowerShell cmdlets","url":"https://techcommunity.microsoft.com/t5/microsoft-365-pnp-blog/pnp-powershell-to-manage-list-designs-and-create-lists-libraries/ba-p/3225097"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/planner-migration-spo-list","url":"https://pnp.github.io/script-samples/samples/planner-migration-spo-list/","legacyUrl":"https://pnp.github.io/script-samples/planner-migration-spo-list/README.html","previews":[{"src":"/script-samples/planner-migration-spo-list/assets/preview.png","alt":"Preview of the sample Planner migration to SharePoint list"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 planner plan list","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/plan/plan-list"},{"name":"m365 planner bucket list","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/bucket/bucket-list"},{"name":"m365 planner task list","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/task/task-list"},{"name":"m365 planner task get","url":"https://pnp.github.io/cli-microsoft365/cmd/planner/task/task-get"},{"name":"m365 spo list add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-add"},{"name":"m365 spo field add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-add"},{"name":"m365 spo listitem add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-add"},{"name":"m365 spo listitem set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-set"},{"name":"m365 spo list view field add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-field-add"},{"name":"m365 spo list view set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-set"},{"name":"Add-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPField.html"},{"name":"Add-PnPFieldFromXml","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFieldFromXml.html"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"},{"name":"Add-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPView.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPPlannerBucket","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPlannerBucket.html"},{"name":"Get-PnPPlannerPlan","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPlannerPlan.html"},{"name":"Get-PnPPlannerTask","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPlannerTask.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"},{"name":"Set-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPView.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"flow-get-flows-connected-to-sharepoint","title":"Get Flows Connected to SharePoint","description":"This script Gets all the flows connected to a SharePoint site","products":["power-automate","power-platform"],"categories":["Report"],"tags":["Power Automate","Get-AdminFlow","Get-AzureADUser","Connect-AzureAD","Get-AdminFlowOwnerRole"],"tools":[{"id":"POWERAPPS-POWERSHELL","label":"Power Apps PowerShell","version":"2.0.0"}],"created":"2022-07-02","updated":"2022-07-02","authors":[{"handle":"russgove","name":"Russell Gove","pictureUrl":"https://github.com/russgove.png?size=64"}],"references":[{"name":"Want to learn more about Power Apps PowerShell and the cmdlets","description":"Check out the Power Apps PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/power-platform/admin/powerapps-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/flow-get-flows-connected-to-sharepoint","url":"https://pnp.github.io/script-samples/samples/flow-get-flows-connected-to-sharepoint/","legacyUrl":"https://pnp.github.io/script-samples/flow-get-flows-connected-to-sharepoint/README.html","previews":[{"src":"/script-samples/flow-get-flows-connected-to-sharepoint/assets/preview.png","alt":"Preview of the sample Get Flows Connected to SharePoint"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-copy-library-view","title":"Copy library view to another library(ies)","description":"The script copies a library view to library(ies) in destination site","products":["sharepoint"],"categories":["Data","Provision"],"tags":["classic","Add-PnPView","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPList","Get-PnPView","Set-PnPView","m365 login","m365 logout","m365 status","m365 spo list list","m365 spo list view add","m365 spo list view get","m365 spo list view set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.4.0"}],"created":"2021-10-08","updated":"2022-06-22","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-copy-library-view","url":"https://pnp.github.io/script-samples/samples/spo-copy-library-view/","legacyUrl":"https://pnp.github.io/script-samples/spo-copy-library-view/README.html","previews":[{"src":"/script-samples/spo-copy-library-view/assets/preview.png","alt":"preview image showing there is no preview"}],"commandReferences":[{"name":"Add-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPView.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPView.html"},{"name":"Set-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPView.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo list list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-list"},{"name":"m365 spo list view add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-add"},{"name":"m365 spo list view get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-get"},{"name":"m365 spo list view set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"teams-bulk-create-teams","title":"Bulk Create Teams with JSON File","description":"Create teams in an environment to test governance scenarios making over a 1000 teams - this sample script can generate the required teams.","products":["teams"],"categories":["Provision"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","New-PnPMicrosoft365Group","m365 status","m365 login","m365 teams team get","m365 aad o365group add","m365 aad o365group list","m365 aad o365group teamify","Security"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.3.0"}],"created":"2021-06-24","updated":"2022-06-19","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-bulk-create-teams","url":"https://pnp.github.io/script-samples/samples/teams-bulk-create-teams/","legacyUrl":"https://pnp.github.io/script-samples/teams-bulk-create-teams/README.html","previews":[{"src":"/script-samples/teams-bulk-create-teams/assets/preview.png","alt":"Preview of the sample Bulk Create Teams with JSON File"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"New-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/New-PnPMicrosoft365Group.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 teams team get","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-get"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"powerapps-bulk-useraccess","title":"Add/Remove users(bulk) from Power Apps from CSV file","description":"Script which will help to provide bulk access to Power Apps from csv format","products":["power-platform"],"categories":["Data","Report","Security"],"tags":["Add-PowerAppsAccount","Remove-AdminPowerAppRoleAssignment","Get-UsersOrGroupsFromGraph","Set-AdminPowerAppRoleAssignment"],"tools":[{"id":"POWERAPPS-POWERSHELL","label":"Power Apps PowerShell","version":"2.0.0"}],"created":"2021-12-10","updated":"2022-06-13","authors":[{"handle":"siddharth-vaghasia","name":"Siddharth Vaghasia","pictureUrl":"https://github.com/siddharth-vaghasia.png?size=64"}],"references":[{"name":"Want to learn more about Power Apps PowerShell and the cmdlets","description":"Check out the Power Apps PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/power-platform/admin/powerapps-powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/powerapps-bulk-useraccess","url":"https://pnp.github.io/script-samples/samples/powerapps-bulk-useraccess/","legacyUrl":"https://pnp.github.io/script-samples/powerapps-bulk-useraccess/README.html","previews":[{"src":"/script-samples/powerapps-bulk-useraccess/assets/SampleOutPut.png","alt":"Preview of the sample Add/Remove users(bulk) from Power Apps from CSV file"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-list-items-with-caml-query","title":"Read SharePoint List Items Using CAML Query","description":"This script sample shows how to get SharePoint list items using CAML query with different types of fields","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPListItem","m365 status","m365 login","m365 spo listitem list"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.14.22"}],"created":"2021-07-19","updated":"2022-06-13","authors":[{"handle":"jagopauwels","name":"Jago Pauwels","pictureUrl":"https://github.com/jagopauwels.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-items-with-caml-query","url":"https://pnp.github.io/script-samples/samples/spo-list-items-with-caml-query/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-items-with-caml-query/README.html","previews":[{"src":"/script-samples/spo-list-items-with-caml-query/assets/preview.png","alt":"Preview of the sample Read SharePoint List Items Using CAML Query"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-sharepoint-list-items-to-csv","title":"Export SharePoint List Data to CSV with attachments","description":"This script sample shows how to export SharePoint list to CSV with attachments","products":["sharepoint"],"categories":["Data"],"tags":["m365 login","m365 spo field list","m365 spo listitem list","m365 spo listitem attachment list","m365 spo file get","Get-PnPField","Get-PnPListItem","Get-PnPProperty","Get-PnPFile","Connect-PnPOnline","Disconnect-PnPOnline","Migration","Archive"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.3.0"}],"created":"2021-09-26","updated":"2022-06-10","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-sharepoint-list-items-to-csv","url":"https://pnp.github.io/script-samples/samples/spo-export-sharepoint-list-items-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-sharepoint-list-items-to-csv/README.html","previews":[{"src":"/script-samples/spo-export-sharepoint-list-items-to-csv/assets/preview.png","alt":"Preview of the sample Export SharePoint List Data to CSV with attachments"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo field list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-list"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"},{"name":"m365 spo listitem attachment list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-attachment-list"},{"name":"m365 spo file get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-get"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"create-dummy-docs-versions-in-library","title":"Create bulk dummy documents inc versions in SharePoint Document library","description":"This script sample can be useful to upload dummy documents and versions to SP library by auto incrementing file name","products":["sharepoint"],"categories":["Data"],"tags":["Set-PnPList","Connect-PnPOnline","Add-PnPFile","Add-PnPFolder","Set-PnPFileCheckedOut","Set-PnPFileCheckedIn","m365 login","m365 status","m365 spo file add","m365 spo folder add","m365 spo file checkin","m365 spo file checkout","m365 spo list get","m365 spo list set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.3.0"}],"created":"2022-01-02","updated":"2022-06-09","authors":[{"handle":"mathijsverbeeck","name":"Mathijs Verbeeck","pictureUrl":"https://github.com/mathijsverbeeck.png?size=64"},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/create-dummy-docs-versions-in-library","url":"https://pnp.github.io/script-samples/samples/create-dummy-docs-versions-in-library/","legacyUrl":"https://pnp.github.io/script-samples/create-dummy-docs-versions-in-library/README.html","previews":[{"src":"/script-samples/create-dummy-docs-versions-in-library/assets/preview.png","alt":"Preview of the sample Create bulk dummy documents inc versions in SharePoint Document library"}],"commandReferences":[{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"},{"name":"Add-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFolder.html"},{"name":"Set-PnPFileCheckedOut","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPFileCheckedOut.html"},{"name":"Set-PnPFileCheckedIn","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPFileCheckedIn.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo file add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add"},{"name":"m365 spo folder add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/folder/folder-add"},{"name":"m365 spo file checkin","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-checkin"},{"name":"m365 spo file checkout","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-checkout"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 spo list set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-install-deploy-spfx-solution","title":"Install and deploy SPFx solution","description":"Install and deploy SPFx solution to the SharePoint site","products":["sharepoint"],"categories":["Deploy"],"tags":["SharePoint","Azure DevOps","Continuous Deployment","m365 login","m365 spfx package generate","m365 spo app add","m365 spo app deploy","m365 spo app get","m365 spo app install"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.3.0"}],"created":"2022-06-06","updated":"2022-06-06","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-install-deploy-spfx-solution","url":"https://pnp.github.io/script-samples/samples/spo-install-deploy-spfx-solution/","legacyUrl":"https://pnp.github.io/script-samples/spo-install-deploy-spfx-solution/README.html","previews":[{"src":"/script-samples/spo-install-deploy-spfx-solution/assets/preview.png","alt":"Preview of the sample Install and deploy SPFx solution"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spfx package generate","url":"https://pnp.github.io/cli-microsoft365/cmd/spfx/package/package-generate"},{"name":"m365 spo app add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/app/app-add"},{"name":"m365 spo app deploy","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/app/app-deploy"},{"name":"m365 spo app get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/app/app-get"},{"name":"m365 spo app install","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/app/app-install"}],"scriptTabCount":1,"codeBlockCount":2},{"slug":"fetch-user-profile-properties","title":"Fetch User Profile Properties From Site Collection And Export To CSV","description":"Get users or user profile properties from any SharePoint site collection and we need it in CSV or Excel format","products":["sharepoint"],"categories":["Report","Configure"],"tags":["Get-PnPWeb","Get-PnPUser","Get-PnPUserProfileProperty","m365 login","m365 spo user list","m365 spo userprofile get"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.3.0"}],"created":"2021-03-24","updated":"2022-06-02","authors":[{"handle":"mathijsverbeeck","name":"Mathijs Verbeeck","pictureUrl":"https://github.com/mathijsverbeeck.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/fetch-user-profile-properties","url":"https://pnp.github.io/script-samples/samples/fetch-user-profile-properties/","legacyUrl":"https://pnp.github.io/script-samples/fetch-user-profile-properties/README.html","previews":[{"src":"/script-samples/fetch-user-profile-properties/assets/preview.png","alt":"Preview of the sample Fetch User Profile Properties From Site Collection And Export To CSV"}],"commandReferences":[{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUser.html"},{"name":"Get-PnPUserProfileProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUserProfileProperty.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo user list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/user/user-list"},{"name":"m365 spo userprofile get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/userprofile/userprofile-get"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-hub-sites-association","title":"SharePoint Online Hub Site Association","description":"This script sample shows how to associate SharePoint online site with a hub site.","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","Hub Site","Connect-PnPOnline","Add-PnPHubSiteAssociation","m365 login","m365 status","m365 spo hubsite list","m365 spo hubsite connect","Add-SPOHubSiteAssociation","Connect-SPOService"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.3.0"}],"created":"2022-05-14","updated":"2022-06-02","authors":[{"handle":"Jwaegebaert","name":"Jasey Waegebaert","pictureUrl":"https://github.com/Jwaegebaert.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-hub-sites-association","url":"https://pnp.github.io/script-samples/samples/spo-hub-sites-association/","legacyUrl":"https://pnp.github.io/script-samples/spo-hub-sites-association/README.html","previews":[{"src":"/script-samples/spo-hub-sites-association/assets/preview.png","alt":"Preview of the sample SharePoint Online Hub Site Association"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPHubSiteAssociation","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPHubSiteAssociation.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo hubsite list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/hubsite/hubsite-list"},{"name":"m365 spo hubsite connect","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/hubsite/hubsite-connect"},{"name":"Add-SPOHubSiteAssociation","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Add-SPOHubSiteAssociation"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-apply-column-format","title":"Script allow copy column format in SharePoint and apply to different column.","description":"Copy column format from column or web sample and apply to different column","products":["sharepoint"],"categories":["Deploy","Configure"],"tags":["modern","Connect-PnPOnline","Get-PnPField","Set-PnPField","m365 login","m365 status","m365 spo field get","m365 spo field set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.2.0"}],"created":"2021-09-29","updated":"2022-05-28","authors":[{"handle":"Jwaegebaert","name":"Jasey Waegebaert","pictureUrl":"https://github.com/Jwaegebaert.png?size=64"},{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-apply-column-format","url":"https://pnp.github.io/script-samples/samples/spo-apply-column-format/","legacyUrl":"https://pnp.github.io/script-samples/spo-apply-column-format/README.html","previews":[{"src":"/script-samples/spo-apply-column-format/assets/preview.png","alt":"Preview of the sample Script allow copy column format in SharePoint and apply to different column."}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Set-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPField.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo field get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-get"},{"name":"m365 spo field set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-set"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-create-bulk-libraries","title":"Bulk library generation","description":"With this sample, you can create a whole bunch of libraries at once.","products":["sharepoint"],"categories":["Data","Provision"],"tags":["bash","classic","m365 login","m365 status","m365 spo field add","m365 spo list add","m365 spo list view add","Add-PnPField","Add-PnPView","Connect-PnPOnline","New-PnPList"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"4.3.0"}],"created":"2022-03-29","updated":"2022-05-27","authors":[{"handle":"milanholemans","name":"Milan Holemans","pictureUrl":"https://github.com/milanholemans.png?size=64"},{"handle":"Jwaegebaert","name":"Jasey Waegebaert","pictureUrl":"https://github.com/Jwaegebaert.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-create-bulk-libraries","url":"https://pnp.github.io/script-samples/samples/spo-create-bulk-libraries/","legacyUrl":"https://pnp.github.io/script-samples/spo-create-bulk-libraries/README.html","previews":[{"src":"/script-samples/spo-create-bulk-libraries/assets/preview.png","alt":"Preview of the sample bulk library generation"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo field add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-add"},{"name":"m365 spo list add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-add"},{"name":"m365 spo list view add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-add"},{"name":"Add-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPField.html"},{"name":"Add-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPView.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-and-export-list-fields","title":"Get SharePoint List Fields With Required properties And Export It To CSV","description":"This script sample shows how to get list fields with some required propertiesand export it to CSV ","products":["sharepoint"],"categories":["Data","Report"],"tags":["m365 login","m365 status","m365 spo field get","m365 spo field list","Connect-PnPOnline","Get-PnPField"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2021-10-13","updated":"2022-05-27","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-and-export-list-fields","url":"https://pnp.github.io/script-samples/samples/spo-get-and-export-list-fields/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-and-export-list-fields/README.html","previews":[{"src":"/script-samples/spo-get-and-export-list-fields/assets/preview.png","alt":"Preview of the sample Get SharePoint List Fields With Required properties And Export It To CSV"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo field get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-get"},{"name":"m365 spo field list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-list"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-search-export-to-csv","title":"Run A Search Query And Export To CSV","description":"Perform a search query (such as 'Show me all News Posts in this tenant') and export the results to CSV.","products":["sharepoint"],"categories":["Report"],"tags":["search","Submit-PnPSearchQuery","m365 login","m365 spo search","m365 status"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.8.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"4.3.0"}],"created":"2021-11-03","updated":"2022-05-26","authors":[{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=64"},{"handle":"jimmywim","name":"Jim Love","pictureUrl":"https://github.com/jimmywim.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-search-export-to-csv","url":"https://pnp.github.io/script-samples/samples/spo-search-export-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-search-export-to-csv/README.html","previews":[{"src":"/script-samples/spo-search-export-to-csv/assets/preview.png","alt":"Preview of the sample Run A Search Query And Export To CSV"}],"commandReferences":[{"name":"Submit-PnPSearchQuery","url":"https://pnp.github.io/powershell/cmdlets/Submit-PnPSearchQuery.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo search","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/spo-search"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"flow-runs-day-summary","title":"Flows runs day summary","description":"This script creates a report of all flow runs from current day and sends the report as an adaptive card to the provided url","products":["power-automate"],"categories":["Report"],"tags":["Power Automate"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"}],"created":"2021-10-27","updated":"2022-05-11","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/flow-runs-day-summary","url":"https://pnp.github.io/script-samples/samples/flow-runs-day-summary/","legacyUrl":"https://pnp.github.io/script-samples/flow-runs-day-summary/README.html","previews":[{"src":"/script-samples/flow-runs-day-summary/assets/preview.png","alt":"Preview of the sample Flows runs day summary"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-update-user-profile-properties","title":"Update user profile properties","description":"This script sample shows how to update user profile properties.","products":["sharepoint","microsoft-365"],"categories":["Configure","Data"],"tags":["Connect-PnPOnline","Set-PnPUserProfileProperty","m365 status","m365 login","m365 spo userprofile set"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.2.0"}],"created":"2022-03-24","updated":"2022-04-29","authors":[{"handle":"Jwaegebaert","name":"Jasey Waegebaert","pictureUrl":"https://github.com/Jwaegebaert.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-update-user-profile-properties","url":"https://pnp.github.io/script-samples/samples/spo-update-user-profile-properties/","legacyUrl":"https://pnp.github.io/script-samples/spo-update-user-profile-properties/README.html","previews":[{"src":"/script-samples/spo-update-user-profile-properties/assets/preview.png","alt":"Preview of the sample Update user profile properties"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Set-PnPUserProfileProperty","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPUserProfileProperty.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo userprofile set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/userprofile/userprofile-set"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-hub-sites-details-to-csv","title":"Get Hub Sites Information And Export It To CSV","description":"This script sample shows how to get hub sites information and export it to CSV","products":["sharepoint"],"categories":["Report"],"tags":["SharePoint Online","Connect-PnPOnline","Get-PnPHubSite","m365 status","m365 login","m365 spo hubsite list","Connect-SPOService","Get-SPOHubSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.1.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"}],"created":"2022-04-20","updated":"2022-04-21","authors":[{"handle":"Jwaegebaert","name":"Jasey Waegebaert","pictureUrl":"https://github.com/Jwaegebaert.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-hub-sites-details-to-csv","url":"https://pnp.github.io/script-samples/samples/spo-export-hub-sites-details-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-hub-sites-details-to-csv/README.html","previews":[{"src":"/script-samples/spo-export-hub-sites-details-to-csv/assets/preview.png","alt":"Preview of the sample Get Hub Sites Information And Export It To CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPHubSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHubSite.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo hubsite list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/hubsite/hubsite-list"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Get-SPOHubSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOHubSite"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"teams-list-guestusers","title":"List guests within Teams in a tenant","description":"List all guests in Microsoft Teams teams in the tenant and exports the results in a CSV.","products":["teams"],"categories":["Report"],"tags":["Connect-MicrosoftTeams","Get-TeamUser","Get-Team","Connect-PnPOnline","Get-PnPTeamsTeam","Get-PnPTeamsUser","m365 status","m365 login","m365 teams team list","m365 teams user list","Security"],"tools":[{"id":"MICROSOFTTEAMS-POWERSHELL","label":"Teams PowerShell","version":"3.0.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.8.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.1.0"}],"created":"2021-12-24","updated":"2022-04-19","authors":[{"handle":"Jwaegebaert","name":"Jasey Waegebaert","pictureUrl":"https://github.com/Jwaegebaert.png?size=64"},{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"},{"handle":"Jitenparmar","name":"Jiten Parmar","pictureUrl":"https://github.com/Jitenparmar.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Teams PowerShell and the cmdlets","description":"Check out the Microsoft Teams PowerShell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/microsoftteams/teams-powershell-overview"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-list-guestusers","url":"https://pnp.github.io/script-samples/samples/teams-list-guestusers/","legacyUrl":"https://pnp.github.io/script-samples/teams-list-guestusers/README.html","previews":[{"src":"/script-samples/teams-list-guestusers/assets/preview.png","alt":"Preview of the sample List guests within Teams in a tenant"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTeamsTeam","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsTeam.html"},{"name":"Get-PnPTeamsUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsUser.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 teams team list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-list"},{"name":"m365 teams user list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/user/user-list"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"whiteboard-report-usage","title":"Export a csv report on all Whiteboards","description":"Export a report on all Whiteboard owners and it's usage.","products":["microsoft-365","whiteboard"],"categories":["Data","Report"],"tags":["Whiteboard","Report","Connect-MgGraph","Get-MgUser"],"tools":[{"id":"MICROSOFTWHITEBOARDADMIN","label":"Whiteboard Admin","version":"1.6.0"},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.9.5"}],"created":"2022-03-06","updated":"2022-04-14","authors":[{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=64"},{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=64"}],"references":[{"name":"Want to learn more about Whiteboard Admin cmdlets","description":"Check out the Whiteboard Admin cmdlets documentation site to get started and for the reference to the commands.","url":"https://learn.microsoft.com/powershell/module/whiteboard"},{"name":"Alterative approach to reporting Whiteboards with PowerShell with Graph PowerShell","description":"Blog: Whiteboard Nears End of Transition to OneDrive | Office IT Pros ](https://office365itpros.com/2022/03/10/whiteboard-transition-ending/","url":"https://office365itpros.com/2022/03/10/whiteboard-transition-ending"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/whiteboard-report-usage","url":"https://pnp.github.io/script-samples/samples/whiteboard-report-usage/","legacyUrl":"https://pnp.github.io/script-samples/whiteboard-report-usage/README.html","previews":[{"src":"/script-samples/whiteboard-report-usage/assets/preview.png","alt":"Preview of the sample Export a csv report on all Whiteboards"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":4},{"slug":"spo-remove-list-designs","title":"Delete custom SharePoint list designs","description":"Remove List designs and corresponding site scripts.","products":["sharepoint"],"categories":["Configure"],"tags":["SharePoint Online","List Designs","PnP PowerShell","Connect-PnPOnline","Get-PnPList","Get-PnPListDesign","Get-PnPSite","Get-PnPSiteScript","Remove-PnPList","Remove-PnPListDesign","Remove-PnPSiteScript"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.10.0"}],"created":"2022-04-03","updated":"2022-04-03","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"PnP PowerShell to manage list designs and create lists/libraries using list designs","description":"Refers to the article for other PnP PowerShell cmdlets","url":"https://techcommunity.microsoft.com/t5/microsoft-365-pnp-blog/pnp-powershell-to-manage-list-designs-and-create-lists-libraries/ba-p/3225097"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-list-designs","url":"https://pnp.github.io/script-samples/samples/spo-remove-list-designs/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-list-designs/README.html","previews":[{"src":"/script-samples/spo-remove-list-designs/assets/preview.png","alt":"Preview of the sample Delete custom SharePoint list designs"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListDesign","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListDesign.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPSiteScript","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteScript.html"},{"name":"Remove-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPList.html"},{"name":"Remove-PnPListDesign","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPListDesign.html"},{"name":"Remove-PnPSiteScript","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPSiteScript.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"bulk-undelete-from-recyclebin","title":"Undelete items from SharePoint Recycle bin","description":"This script allows users to undelete items from recycle bin and restore it in respective document library and list.","products":["sharepoint"],"categories":["Data"],"tags":["recycle bin","recover","Connect-PnPOnline","Get-PnPRecycleBinItem","Restore-PnPRecycleBinItem","m365 login","m365 status","m365 spo site recyclebinitem list","m365 spo site recyclebinitem restore"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.1.0"}],"created":"2021-06-25","updated":"2022-03-31","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"dips365","name":"Dipen Shah","pictureUrl":"https://github.com/dips365.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/bulk-undelete-from-recyclebin","url":"https://pnp.github.io/script-samples/samples/bulk-undelete-from-recyclebin/","legacyUrl":"https://pnp.github.io/script-samples/bulk-undelete-from-recyclebin/README.html","previews":[{"src":"/script-samples/bulk-undelete-from-recyclebin/assets/preview.png","alt":"Preview of the sample Undelete items from SharePoint Recycle bin"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPRecycleBinItem.html"},{"name":"Restore-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Restore-PnPRecycleBinItem.html"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo site recyclebinitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-recyclebinitem-list"},{"name":"m365 spo site recyclebinitem restore","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-recyclebinitem-restore"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-create-modern-pages-add-web-parts","title":"Create Modern SharePoint Pages and add web parts","description":"Create modern SharePoint pages and adding web parts without using a provisioning engine","products":["sharepoint"],"categories":["Configure"],"tags":[],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2022-03-29","updated":"2022-03-29","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-create-modern-pages-add-web-parts","url":"https://pnp.github.io/script-samples/samples/spo-create-modern-pages-add-web-parts/","legacyUrl":"https://pnp.github.io/script-samples/spo-create-modern-pages-add-web-parts/README.html","previews":[{"src":"/script-samples/spo-create-modern-pages-add-web-parts/assets/preview.png","alt":"Preview of the sample Create Modern SharePoint Pages"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"modernize-bulk-publishing-pages","title":"Bulk Convert Classic Publishing Pages to Modern Pages","description":"The sample script converts all SharePoint online classic publishing pages in a site collection to modern pages in a modern site","products":["sharepoint"],"categories":["Modernize"],"tags":["bash","classic","Connect-PnPOnline","ConvertTo-PnPPage","Get-PnPFile","Get-PnPList","Get-PnPListItem","Get-PnPWeb","Save-PnPPageConversionLog"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2022-03-25","updated":"2022-03-25","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about Transforming Classic Publishing to Modern Pages","description":"Classic SharePoint sites typically have classic pages being wiki pages, web part pages, blog pages or publishing pages and these pages cannot present themselves using a modern user interface. A classic site however can host modern pages which enable great end user experiences. You can find inspiration via the SharePoint Look Book as it allows you to discover the modern experiences you can build with SharePoint in Office 365. SharePoint PnP Modernization is part of the PnP Framework and PnP PowerShell to bring page transformation capabilities","url":"https://learn.microsoft.com/sharepoint/dev/transform/modernize-userinterface-site-pages"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/modernize-bulk-publishing-pages","url":"https://pnp.github.io/script-samples/samples/modernize-bulk-publishing-pages/","legacyUrl":"https://pnp.github.io/script-samples/modernize-bulk-publishing-pages/README.html","previews":[{"src":"/script-samples/modernize-bulk-publishing-pages/assets/preview.png","alt":"Preview of the sample <title>"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"ConvertTo-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/ConvertTo-PnPPage.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Save-PnPPageConversionLog","url":"https://pnp.github.io/powershell/cmdlets/Save-PnPPageConversionLog.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-add-tenant-theme","title":"Add a tenant theme to SharePoint Online","description":"This is example for adding a SharePoint Theme as an option for modern sites in the tenant","products":["sharepoint"],"categories":["Deploy"],"tags":["Connect-PnPOnline","Add-PnPTenantTheme","m365 status","m365 login","m365 spo theme set","Connect-SPOService","Add-SPOTheme"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.14.22"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"}],"created":"2021-10-02","updated":"2022-03-13","authors":[{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-tenant-theme","url":"https://pnp.github.io/script-samples/samples/spo-add-tenant-theme/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-tenant-theme/README.html","previews":[{"src":"/script-samples/spo-add-tenant-theme/assets/preview.png","alt":"Preview of the sample Add a tenant theme to SharePoint Online"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPTenantTheme","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPTenantTheme.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo theme set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/theme/theme-set"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Add-SPOTheme","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Add-SPOTheme"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-group-permission-report","title":"Get permission group report of a site","description":"The scripts get group permission report of site and each list on the site and prints it to console and also sends it as an adaptive card to Teams channel specified by webhook.","products":["sharepoint"],"categories":["Data","Security"],"tags":["m365 status","m365 login","m365 spo web get","m365 spo group list","m365 spo list list","m365 spo list get","m365 adaptivecard send"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"5.1.0"}],"created":"2022-03-06","updated":"2022-03-06","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-group-permission-report","url":"https://pnp.github.io/script-samples/samples/spo-group-permission-report/","legacyUrl":"https://pnp.github.io/script-samples/spo-group-permission-report/README.html","previews":[{"src":"/script-samples/spo-group-permission-report/assets/preview.png","alt":"Preview of the sample Get permission group report of a site"}],"commandReferences":[{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo web get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/web/web-get"},{"name":"m365 spo group list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/group/group-list"},{"name":"m365 spo list list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-list"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 adaptivecard send","url":"https://pnp.github.io/cli-microsoft365/cmd/adaptivecard/adaptivecard-send"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-files-and-versions","title":"Exporting Document libraries inc folders and versions for selected Site Collections to a Fileshare/drive","description":"The purpose of this script is to exporting Document libraries inc folders and versions for selected Site Collections to a Fileshare/drive","products":["sharepoint"],"categories":["Data"],"tags":["Get-PnPList","Get-PnPListItem","Get-PnPFile","Get-PnPContext","Get-PnPProperty","Connect-PnPOnline","Get-PnPTenantSite","Disconnect-PnPOnline","Get-PnPWeb","Get-PnPSubWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"}],"created":"2022-02-28","updated":"2022-02-28","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-files-and-versions","url":"https://pnp.github.io/script-samples/samples/spo-export-files-and-versions/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-files-and-versions/README.html","previews":[{"src":"/script-samples/spo-export-files-and-versions/assets/preview.png","alt":"Preview of the sample Exporting Document libraries inc folders and versions for selected Site Collections to a Fileshare/drive"}],"commandReferences":[{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPSubWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSubWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-full-report","title":"Teams Full Report","description":"Script to generate Team's full report, gathering all Teams,Channels,Tabs available info.","products":["teams"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPAccessToken","Get-PnPMicrosoft365Group","Get-PnPMicrosoft365GroupOwner","Get-PnPMicrosoft365GroupMember","Get-PnPTeamsUser","Disconnect-PnPOnline","m365 status","m365 login","m365 teams team list","m365 aad o365group","m365 teams user list","m365 teams channel list","m365 teams channel get","m365 teams tab list","m365 logout"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0,1.7.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2021-11-02","updated":"2022-02-26","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"scoutmanpt","name":"Rodrigo Pinto","pictureUrl":"https://github.com/scoutmanpt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-full-report","url":"https://pnp.github.io/script-samples/samples/teams-full-report/","legacyUrl":"https://pnp.github.io/script-samples/teams-full-report/README.html","previews":[{"src":"/script-samples/teams-full-report/assets/preview.png","alt":"Preview of the sample Teams Full Report"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPAccessToken","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPAccessToken.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"},{"name":"Get-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupOwner.html"},{"name":"Get-PnPMicrosoft365GroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupMember.html"},{"name":"Get-PnPTeamsUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsUser.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 teams team list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-list"},{"name":"m365 teams user list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/user/user-list"},{"name":"m365 teams channel list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/channel/channel-list"},{"name":"m365 teams channel get","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/channel/channel-get"},{"name":"m365 teams tab list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/tab/tab-list"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"teams-export-teams-information","title":"List all teams and teams members in Microsoft Teams in the tenant","description":"List all teams and teams members in Microsoft Teams in the tenant and exports the results in a CSV","products":["teams"],"categories":["Report","Security"],"tags":["Microsoft Teams","Microsoft 365","PowerShell","m365 login","m365 status","m365 teams team list","m365 teams user list","Connect-PnPOnline","Get-PnPTeamsTeam","Get-PnPTeamsUser"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"4.3.0"}],"created":"2022-02-22","updated":"2022-02-23","authors":[{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-export-teams-information","url":"https://pnp.github.io/script-samples/samples/teams-export-teams-information/","legacyUrl":"https://pnp.github.io/script-samples/teams-export-teams-information/README.html","previews":[{"src":"/script-samples/teams-export-teams-information/assets/preview.png","alt":"Preview of the sample List all teams and teams members in Microsoft Teams in the tenant"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 teams team list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/team/team-list"},{"name":"m365 teams user list","url":"https://pnp.github.io/cli-microsoft365/cmd/teams/user/user-list"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTeamsTeam","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsTeam.html"},{"name":"Get-PnPTeamsUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTeamsUser.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"modernize-classic-pages-from-publishing-sites","title":" Modernizing classic pages from on-premises sites","description":"Conversion of an on-premises 2013 publishing page to the modern experience","products":["sharepoint"],"categories":["Modernize"],"tags":["Connect-PnPOnline","ConvertTo-PnPClientSidePage","ConvertTo-PnPPage","Export-PnPPage","Export-PnPPageMapping"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"}],"created":"2021-05-11","updated":"2022-02-16","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about modernizing classic pages","description":"Check out the Microsoft documentation for Transform classic pages to modern pages to get started.","url":"https://learn.microsoft.com/sharepoint/dev/transform/modernize-userinterface-site-pages"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/modernize-classic-pages-from-publishing-sites","url":"https://pnp.github.io/script-samples/samples/modernize-classic-pages-from-publishing-sites/","legacyUrl":"https://pnp.github.io/script-samples/modernize-classic-pages-from-publishing-sites/README.html","previews":[{"src":"/script-samples/modernize-classic-pages-from-publishing-sites/assets/preview.png","alt":"Preview of the transformed pages"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"ConvertTo-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/ConvertTo-PnPPage.html"},{"name":"Export-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Export-PnPPage.html"},{"name":"Export-PnPPageMapping","url":"https://pnp.github.io/powershell/cmdlets/Export-PnPPageMapping.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"aad-analyze-users-hibp","title":"Analyze users for known data breaches with have i been pwned","description":"Validate all your users against known breaches with the have i been pwned api. That way you can quickly scan if your users are part of any known breaches","products":["entra"],"categories":["Report","Security"],"tags":["Azure","Microsoft 365","PowerShell","Imported CLI Sample","Security","m365 login","m365 status","m365 aad user hibp","m365 aad user list"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"4.3.0"}],"created":"2022-01-21","updated":"2022-02-11","authors":[{"handle":"appieschot","name":"Albert-Jan Schot","pictureUrl":"https://github.com/appieschot.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Analyze users for known data breaches with have i been pwned","description":"This sample first appeared on the CLI for Microsoft 365 documentation site","url":"https://pnp.github.io/cli-microsoft365/sample-scripts/aad/analyze-users-haveibeenpwnd/"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-analyze-users-hibp","url":"https://pnp.github.io/script-samples/samples/aad-analyze-users-hibp/","legacyUrl":"https://pnp.github.io/script-samples/aad-analyze-users-hibp/README.html","previews":[{"src":"/script-samples/aad-analyze-users-hibp/assets/preview.png","alt":"Preview of the sample Analyze users for known data breaches with have i been pwned"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-site-usage-reports","title":"Get Site Usage Reports And Export It To CSV","description":"This script sample shows how to get all site collections with usage information and Export to CSV.","products":["sharepoint"],"categories":["Data","Report"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","m365 spo site list","m365 status","m365 login"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2022-01-12","updated":"2022-02-10","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-site-usage-reports","url":"https://pnp.github.io/script-samples/samples/spo-export-site-usage-reports/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-site-usage-reports/README.html","previews":[{"src":"/script-samples/spo-export-site-usage-reports/assets/preview.png","alt":"Preview of the sample Get Site Usage Reports And Export It To CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-remove-orphaned-redirect-sites","title":"Remove orphaned redirect sites","description":"Provides you with an overview of all orphaned redirect sites and allows you to quickly delete them","products":["sharepoint"],"categories":["Report"],"tags":["SharePoint Online","Redirect sites","Connect-PnPOnline","Get-PnPTenant","Get-PnPTenantSite","Remove-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"}],"created":"2020-07-17","updated":"2022-02-08","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-orphaned-redirect-sites","url":"https://pnp.github.io/script-samples/samples/spo-remove-orphaned-redirect-sites/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-orphaned-redirect-sites/README.html","previews":[{"src":"/script-samples/spo-remove-orphaned-redirect-sites/assets/preview.png","alt":"Preview of the sample Remove orphaned redirect sites"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Remove-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPTenantSite.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"stream-report-videos","title":"Export a csv report on all Microsoft Stream videos","description":"This script export a report on all Microsoft Stream videos (complete list and all videos not yet migrated)","products":["microsoft-365"],"categories":["Data","Report"],"tags":["Stream","Report","Video"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2022-01-03","updated":"2022-02-02","authors":[{"handle":"teamneroblanco","name":"Twan van Beers","pictureUrl":"https://github.com/teamneroblanco.png?size=64"},{"handle":"scoutmanpt","name":"Rodrigo Pinto","pictureUrl":"https://github.com/scoutmanpt.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/stream-report-videos","url":"https://pnp.github.io/script-samples/samples/stream-report-videos/","legacyUrl":"https://pnp.github.io/script-samples/stream-report-videos/README.html","previews":[{"src":"/script-samples/stream-report-videos/assets/preview.png","alt":"Preview of the sample Export a csv report on all Microsoft Stream videos"}],"commandReferences":[],"scriptTabCount":2,"codeBlockCount":2},{"slug":"flow-runs-status-list-dashboard","title":"Flow run status list dashboard","description":"Powershell script that reports the status of the latest run of all flows by writing to a M365 list","products":["power-automate"],"categories":["Report"],"tags":["m365 status","m365 login","m365 flow environment list","m365 flow list","m365 spo listitem list","m365 flow run list","m365 spo listitem add","m365 spo listitem set"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2022-02-01","updated":"2022-02-01","authors":[{"handle":"Ryan365Apps","name":"Ryan Healy","pictureUrl":"https://github.com/Ryan365Apps.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/flow-runs-status-list-dashboard","url":"https://pnp.github.io/script-samples/samples/flow-runs-status-list-dashboard/","legacyUrl":"https://pnp.github.io/script-samples/flow-runs-status-list-dashboard/README.html","previews":[{"src":"/script-samples/flow-runs-status-list-dashboard/assets/preview.png","alt":"Preview of the sample Flow run status list dashboard"}],"commandReferences":[{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 flow environment list","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/environment/environment-list"},{"name":"m365 flow list","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/flow-list"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"},{"name":"m365 flow run list","url":"https://pnp.github.io/cli-microsoft365/cmd/flow/run/run-list"},{"name":"m365 spo listitem add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-add"},{"name":"m365 spo listitem set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-set"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-remove-large-library","title":"Delete a library exceeding the list threshold limit","description":"Delete a large SharePoint library by removing the files and folders before deleting the library","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPWeb","Get-PnPList","Get-PnPFolderItem","Remove-PnPFile","Remove-PnPFolder","Remove-PnPList","m365 status","m365 login","m365 spo folder list","m365 spo folder remove","m365 spo file list","m365 spo file remove","m365 spo list remove"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.8.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"4.4.0"}],"created":"2021-12-29","updated":"2022-01-29","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-remove-large-library","url":"https://pnp.github.io/script-samples/samples/spo-remove-large-library/","legacyUrl":"https://pnp.github.io/script-samples/spo-remove-large-library/README.html","previews":[{"src":"/script-samples/spo-remove-large-library/assets/preview.png","alt":"Preview of the sample Delete a library exceeding the list threshold limit"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPFolderItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderItem.html"},{"name":"Remove-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFile.html"},{"name":"Remove-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPFolder.html"},{"name":"Remove-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPList.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo folder list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/folder/folder-list"},{"name":"m365 spo folder remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/folder/folder-remove"},{"name":"m365 spo file list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-list"},{"name":"m365 spo file remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-remove"},{"name":"m365 spo list remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-remove"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-get-all-apps-from-appcatalog","title":"Get All Apps From The App Catalog And Export It To CSV","description":"This script sample shows how to get all apps from the app catalog and export it to CSV.","products":["sharepoint"],"categories":["Data","Report"],"tags":["Connect-PnPOnline","Get-PnPApp","m365 status","m365 login","m365 spo app list"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"4.4.0"}],"created":"2021-12-15","updated":"2022-01-25","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-get-all-apps-from-appcatalog","url":"https://pnp.github.io/script-samples/samples/spo-get-all-apps-from-appcatalog/","legacyUrl":"https://pnp.github.io/script-samples/spo-get-all-apps-from-appcatalog/README.html","previews":[{"src":"/script-samples/spo-get-all-apps-from-appcatalog/assets/preview.png","alt":"Preview of the sample Get All Apps From The App Catalog And Export It To CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPApp","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPApp.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo app list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/app/app-list"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"aad-replace-membership-of-selected-groups","title":"Replace a user's membership in selected Microsoft 365 Groups or Teams","description":"Replace the membership of a user for a selected list of Groups","products":["entra","teams"],"categories":["Configure","Security"],"tags":["Microsoft 365 Groups","Microsoft Teams","Governance","Add-PnPMicrosoft365GroupMember","Add-PnPMicrosoft365GroupOwner","Connect-PnPOnline","Get-PnPMicrosoft365Group","Get-PnPMicrosoft365GroupMember","Get-PnPMicrosoft365GroupOwner","Remove-PnPMicrosoft365Group","Remove-PnPMicrosoft365GroupMember","Remove-PnPMicrosoft365GroupOwner"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.9.0"}],"created":"2021-05-04","updated":"2022-01-19","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-replace-membership-of-selected-groups","url":"https://pnp.github.io/script-samples/samples/aad-replace-membership-of-selected-groups/","legacyUrl":"https://pnp.github.io/script-samples/aad-replace-membership-of-selected-groups/README.html","previews":[{"src":"/script-samples/aad-replace-membership-of-selected-groups/assets/preview.png","alt":"Preview of the sample Replace a user's membership in selected Microsoft 365 Groups or Teams"}],"commandReferences":[{"name":"Add-PnPMicrosoft365GroupMember","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPMicrosoft365GroupMember.html"},{"name":"Add-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPMicrosoft365GroupOwner.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"},{"name":"Get-PnPMicrosoft365GroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupMember.html"},{"name":"Get-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365GroupOwner.html"},{"name":"Remove-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPMicrosoft365Group.html"},{"name":"Remove-PnPMicrosoft365GroupMember","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPMicrosoft365GroupMember.html"},{"name":"Remove-PnPMicrosoft365GroupOwner","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPMicrosoft365GroupOwner.html"}],"scriptTabCount":1,"codeBlockCount":2},{"slug":"spo-recyclebin-items-to-csv","title":"Get SharePoint Site Recycle Bin Items And Export It To CSV","description":"This script sample shows how to get recycle bin items from SharePoint site and export it to CSV","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPRecycleBinItem","m365 status","m365 login","m365 spo site recyclebinitem list"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"4.4.0"}],"created":"2021-07-13","updated":"2022-01-18","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-recyclebin-items-to-csv","url":"https://pnp.github.io/script-samples/samples/spo-recyclebin-items-to-csv/","legacyUrl":"https://pnp.github.io/script-samples/spo-recyclebin-items-to-csv/README.html","previews":[{"src":"/script-samples/spo-recyclebin-items-to-csv/assets/preview.png","alt":"Preview of the sample Get SharePoint Site Recycle Bin Items And Export It To CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPRecycleBinItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPRecycleBinItem.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site recyclebinitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-recyclebinitem-list"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-run-jobs-in-parallel","title":"Run jobs in parallel using ForEach-Object -Parallel to iterate SharePoint site collections","description":"This script sample shows the basic of using ForEach-Object -Parallel to speed up trivial SharePoint operations across many site collections","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","Get-PnPList","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"}],"created":"2022-01-10","updated":"2022-01-10","authors":[{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-run-jobs-in-parallel","url":"https://pnp.github.io/script-samples/samples/spo-run-jobs-in-parallel/","legacyUrl":"https://pnp.github.io/script-samples/spo-run-jobs-in-parallel/README.html","previews":[{"src":"/script-samples/spo-run-jobs-in-parallel/assets/preview.png","alt":"Preview image of the sample for running jobs in parallel"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-large-list-items-to-pnp-template","title":"Add Large List items to PnP Template","description":"Add Large list items to PnP Template using PnP command","products":["sharepoint"],"categories":["Data","Provision"],"tags":["Connect-PnPOnline","Get-PnPContext","Get-PnPWeb","Add-PnPDataRowsToSiteTemplate","Get-PnPListItem","Disconnect-PnPOnline","Provisioning"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"}],"created":"2021-12-29","updated":"2021-12-29","authors":[{"handle":"Jitenparmar","name":"Jiten Parmar","pictureUrl":"https://github.com/Jitenparmar.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-large-list-items-to-pnp-template","url":"https://pnp.github.io/script-samples/samples/spo-large-list-items-to-pnp-template/","legacyUrl":"https://pnp.github.io/script-samples/spo-large-list-items-to-pnp-template/README.html","previews":[{"src":"/script-samples/spo-large-list-items-to-pnp-template/assets/preview.png","alt":"Preview of the sample Add Large List items to PnP Template"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Add-PnPDataRowsToSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPDataRowsToSiteTemplate.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-clone-team","title":"Clone a Microsoft Team with\\without content","description":"This script allow us to clone an existing team (structure and content!) into a new one with changed attributes including content.","products":["teams"],"categories":["Data","Deploy","Provision"],"tags":["Get-PnPFolderItem","Connect-PnPOnline","Get-PnPList","Get-PnPProperty","Get-PnPFolder","Copy-PnPFile","Get-PnPAccessToken","Get-PnPMicrosoft365Group","Get-PnPWeb","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0,1.7.0"}],"created":"2021-10-25","updated":"2021-12-29","authors":[{"handle":"scoutmanpt","name":"Rodrigo Pinto","pictureUrl":"https://github.com/scoutmanpt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-clone-team","url":"https://pnp.github.io/script-samples/samples/teams-clone-team/","legacyUrl":"https://pnp.github.io/script-samples/teams-clone-team/README.html","previews":[{"src":"/script-samples/teams-clone-team/assets/preview.png","alt":"Preview of the sample Clone a Microsoft Team with\\without content"}],"commandReferences":[{"name":"Get-PnPFolderItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderItem.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolder.html"},{"name":"Copy-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Copy-PnPFile.html"},{"name":"Get-PnPAccessToken","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPAccessToken.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-createteam-from-template","title":"Create a Teams based on a existing team template","description":"The script first exports a selected team template and create a new team based on the template.","products":["teams"],"categories":["Data"],"tags":["Get-PnPStoredCredential","Invoke-WebRequest","Invoke-RestMethod"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0,1.7.0"}],"created":"2021-12-29","updated":"2021-12-29","authors":[{"handle":"scoutmanpt","name":"Rodrigo Pinto","pictureUrl":"https://github.com/scoutmanpt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-createteam-from-template","url":"https://pnp.github.io/script-samples/samples/teams-createteam-from-template/","legacyUrl":"https://pnp.github.io/script-samples/teams-createteam-from-template/README.html","previews":[{"src":"/script-samples/teams-createteam-from-template/assets/preview.png","alt":"Preview of the sample Create a Teams based on a existing team template"}],"commandReferences":[{"name":"Get-PnPStoredCredential","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPStoredCredential.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"teams-get-templates","title":"Get Teams Templates","description":"This script allow us to collect and export current tenant Teams Templates","products":["teams"],"categories":["Data"],"tags":["Get-PnPStoredCredential","Invoke-WebRequest","Invoke-RestMethod"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0,1.7.0"}],"created":"2021-12-29","updated":"2021-12-29","authors":[{"handle":"scoutmanpt","name":"Rodrigo Pinto","pictureUrl":"https://github.com/scoutmanpt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-get-templates","url":"https://pnp.github.io/script-samples/samples/teams-get-templates/","legacyUrl":"https://pnp.github.io/script-samples/teams-get-templates/README.html","previews":[{"src":"/script-samples/teams-get-templates/assets/preview.png","alt":"Preview of the sample Get Teams Templates"}],"commandReferences":[{"name":"Get-PnPStoredCredential","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPStoredCredential.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-guest-signin-activity","title":"Inventory Guest Sign-In Activity with CLI for M365 and Microsoft Graph","description":"Inventories Guest accounts from Azure Active Directory to query all Guest accounts and signInActivity and saves report to SharePoint List","products":["sharepoint","graph","azure"],"categories":["Data","Report","Security"],"tags":["m365 status","m365 spo list get","m365 spo list add","m365 spo field add","m365 spo listitem list","m365 spo listitem add","m365 spo listitem set","m365 util accesstoken get"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2021-12-21","updated":"2021-12-21","authors":[{"handle":"pkskelly","name":"Pete Skelly","pictureUrl":"https://github.com/pkskelly.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-guest-signin-activity","url":"https://pnp.github.io/script-samples/samples/aad-guest-signin-activity/","legacyUrl":"https://pnp.github.io/script-samples/aad-guest-signin-activity/README.html","previews":[{"src":"/script-samples/aad-guest-signin-activity/assets/preview.png","alt":"Preview of the sample Inventory Guest Sign-In Activity with CLI for M365 and Microsoft Graph"}],"commandReferences":[{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 spo list add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-add"},{"name":"m365 spo field add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-add"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"},{"name":"m365 spo listitem add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-add"},{"name":"m365 spo listitem set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-set"},{"name":"m365 util accesstoken get","url":"https://pnp.github.io/cli-microsoft365/cmd/util/accesstoken/accesstoken-get"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"generate-markdown-lcids","title":"Generate Markdown Report of LCIDs","description":"Simple report listing out the language IDs in Markdown","products":["sharepoint"],"categories":["Report"],"tags":["Connect-PnPOnline","Get-PnPWeb","m365 status","m365 login","m365 spo web installedlanguage list"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.14.22"}],"created":"2021-05-11","updated":"2021-12-18","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/generate-markdown-lcids","url":"https://pnp.github.io/script-samples/samples/generate-markdown-lcids/","legacyUrl":"https://pnp.github.io/script-samples/generate-markdown-lcids/README.html","previews":[{"src":"/script-samples/generate-markdown-lcids/assets/preview.png","alt":"Preview of the sample Generate Markdown Report of LCIDs"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo web installedlanguage list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/web/web-installedlanguage-list"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"create-dummy-docs-in-library","title":"Create bulk dummy documents in SharePoint Document library","description":"This script sample can be useful to upload dummy documents to SP library by auto incrementing file name","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","Add-PnPFile","Add-PnPFolder"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.6.0"}],"created":"2021-12-15","updated":"2021-12-15","authors":[{"handle":"siddharth-vaghasia","name":"Siddharth Vaghasia","pictureUrl":"https://github.com/siddharth-vaghasia.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/create-dummy-docs-in-library","url":"https://pnp.github.io/script-samples/samples/create-dummy-docs-in-library/","legacyUrl":"https://pnp.github.io/script-samples/create-dummy-docs-in-library/README.html","previews":[{"src":"/script-samples/create-dummy-docs-in-library/assets/preview.png","alt":"Preview of the sample Create bulk dummy documents in SharePoint Document library"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"},{"name":"Add-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFolder.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-list-formatting","title":"Export / Import list formatting","description":"SharePoint Online provides user interface for defining column and view formatting and forms","products":["sharepoint"],"categories":["Configure"],"tags":["Add-PnPView","Connect-PnPOnline","Get-PnPContentType","Get-PnPContext","Get-PnPField","Get-PnPList","Get-PnPSite","Get-PnPSiteTemplate","Get-PnPView","Invoke-PnPSiteTemplate","Set-PnPField","Set-PnPView"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-12-08","updated":"2021-12-08","authors":[{"handle":"kkazala","name":"Kinga Kazala","pictureUrl":"https://github.com/kkazala.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-formatting","url":"https://pnp.github.io/script-samples/samples/spo-list-formatting/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-formatting/README.html","previews":[{"src":"/script-samples/spo-list-formatting/assets/preview.png","alt":"Preview of the sample Export / Import list formatting"}],"commandReferences":[{"name":"Add-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPView.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Get-PnPContext","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContext.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteTemplate.html"},{"name":"Get-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPView.html"},{"name":"Invoke-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSiteTemplate.html"},{"name":"Set-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPField.html"},{"name":"Set-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPView.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"report-private-teams-excel","title":"Report of Private Teams channels to Excel","description":"Gathers all of the teams private channels in your tenant and produces an Excel file","products":["sharepoint","teams"],"categories":["Report","Security"],"tags":["Connect-PnPOnline","Get-PnPTenantSite","Add-PnPFile","m365 status","m365 login","m365 spo site classic list","m365 spo file add"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.14.22"}],"created":"2021-02-27","updated":"2021-11-21","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/report-private-teams-excel","url":"https://pnp.github.io/script-samples/samples/report-private-teams-excel/","legacyUrl":"https://pnp.github.io/script-samples/report-private-teams-excel/README.html","previews":[{"src":"/script-samples/report-private-teams-excel/assets/preview.png","alt":"sample preview of report private teams"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo file add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-add-modern-calendar-view","title":"Adding a new modern calendar view to a SharePoint list","description":"This script allow you to add a new modern calendar view to an existing SharePoint list using the SharePoint REST API","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Invoke-PnPSPRestMethod","Set-PnPList","Set-PnPView"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.8.0"}],"created":"2021-11-12","updated":"2021-11-12","authors":[{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-modern-calendar-view","url":"https://pnp.github.io/script-samples/samples/spo-add-modern-calendar-view/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-modern-calendar-view/README.html","previews":[{"src":"/script-samples/spo-add-modern-calendar-view/assets/preview.png","alt":"Preview of the sample Adding a new modern calendar view to a SharePoint list"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Invoke-PnPSPRestMethod","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSPRestMethod.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Set-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPView.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-data-to-sharepoint-lists","title":"Export CSV To SharePoint List Data","description":"This script sample shows how to export CSV to SharePoint list data","products":["sharepoint"],"categories":["Data"],"tags":["m365 login","m365 status","m365 spo field add","m365 spo list add","m365 spo list view field add","m365 spo listitem add","Add-PnPField","Add-PnPListItem","New-PnPList"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"6.14.22"}],"created":"2021-07-12","updated":"2021-11-07","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-data-to-sharepoint-lists","url":"https://pnp.github.io/script-samples/samples/spo-export-data-to-sharepoint-lists/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-data-to-sharepoint-lists/README.html","previews":[{"src":"/script-samples/spo-export-data-to-sharepoint-lists/assets/preview.png","alt":"Preview of the sample Export CSV To SharePoint List Data"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo field add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/field/field-add"},{"name":"m365 spo list add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-add"},{"name":"m365 spo list view field add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-view-field-add"},{"name":"m365 spo listitem add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-add"},{"name":"Add-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPField.html"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-add-site-design-with-custom-list","title":"Creates and apply custom site design with custom column types","description":"Script that creates and applies custom site design with custom column types","products":["sharepoint"],"categories":["Modernize","Deploy","Provision"],"tags":["modern","m365 login","m365 logout","m365 status","m365 spo site get","m365 spo sitedesign add","m365 spo sitedesign apply","m365 spo sitedesign set","m365 spo sitescript add","Add-PnPSiteDesign","Add-PnPSiteScript","Connect-PnPOnline","Disconnect-PnPOnline","Invoke-PnPSiteDesign","Set-PnPSite","Set-PnPSiteDesign"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"4.1.0"}],"created":"2021-10-03","updated":"2021-11-03","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-site-design-with-custom-list","url":"https://pnp.github.io/script-samples/samples/spo-add-site-design-with-custom-list/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-site-design-with-custom-list/README.html","previews":[{"src":"/script-samples/spo-add-site-design-with-custom-list/assets/preview.png","alt":"Preview of the sample Creates and apply custom site design with custom column types"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 logout","url":"https://pnp.github.io/cli-microsoft365/cmd/logout/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo site get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-get"},{"name":"m365 spo sitedesign add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/sitedesign/sitedesign-add"},{"name":"m365 spo sitedesign apply","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/sitedesign/sitedesign-apply"},{"name":"m365 spo sitedesign set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/sitedesign/sitedesign-set"},{"name":"m365 spo sitescript add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/sitescript/sitescript-add"},{"name":"Add-PnPSiteDesign","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPSiteDesign.html"},{"name":"Add-PnPSiteScript","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPSiteScript.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Invoke-PnPSiteDesign","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSiteDesign.html"},{"name":"Set-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPSite.html"},{"name":"Set-PnPSiteDesign","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPSiteDesign.html"}],"scriptTabCount":4,"codeBlockCount":4},{"slug":"spo-add-multiple-document-libraries-with-list-template","title":"Creates multiple document libraries by applying custom list template","description":"Script that creates multiple libraries by applying custom list template with custom document library, site columns and site content types","products":["sharepoint"],"categories":["Modernize","Deploy","Provision"],"tags":["modern","Add-PnPNavigationNode","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPField","Get-PnPList","Invoke-PnPQuery","Set-PnPList","Connect-SPOService"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.8.0"}],"created":"2021-11-01","updated":"2021-11-02","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-multiple-document-libraries-with-list-template","url":"https://pnp.github.io/script-samples/samples/spo-add-multiple-document-libraries-with-list-template/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-multiple-document-libraries-with-list-template/README.html","previews":[{"src":"/script-samples/spo-add-multiple-document-libraries-with-list-template/assets/preview.png","alt":"Preview of the sample Creates multiple document libraries by applying custom list template"}],"commandReferences":[{"name":"Add-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPNavigationNode.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"teams-force-filestab-provision","title":"Force Team Files Tab Provision","description":"This script allow us to force Files tab provision, usefull for migrations or even for your Team's governance toolset..","products":["teams"],"categories":["Data"],"tags":["Get-PnPTenantId","Get-PnPStoredCredential","Connect-PnPOnline","Get-PnPAccessToken","Get-PnPMicrosoft365Group","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0,1.7.0"}],"created":"2021-11-02","updated":"2021-11-02","authors":[{"handle":"scoutmanpt","name":"Rodrigo Pinto","pictureUrl":"https://github.com/scoutmanpt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/teams-force-filestab-provision","url":"https://pnp.github.io/script-samples/samples/teams-force-filestab-provision/","legacyUrl":"https://pnp.github.io/script-samples/teams-force-filestab-provision/README.html","previews":[{"src":"/script-samples/teams-force-filestab-provision/assets/preview.png","alt":"Preview of the sample Force Team Files Tab Provision"}],"commandReferences":[{"name":"Get-PnPTenantId","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantId.html"},{"name":"Get-PnPStoredCredential","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPStoredCredential.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPAccessToken","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPAccessToken.html"},{"name":"Get-PnPMicrosoft365Group","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPMicrosoft365Group.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"aad-apps-expired-keys","title":"List out all Azure AD Apps along with their Credentials","description":"This script is helpful to identify and inventorize all the Azure AD Applications registered in your tenant","products":["graph","azure"],"categories":["Report","Security"],"tags":["Connect-MgGraph","Get-MgApplication","Get-MgApplicationOwner"],"tools":[{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","version":"1.0.0"}],"created":"2021-10-29","updated":"2021-10-29","authors":[{"handle":"svarukala","name":"SRINIVAS VARUKALA","pictureUrl":"https://github.com/svarukala.png?size=64"}],"references":[{"name":"Want to learn more about Microsoft Graph PowerShell SDK and the cmdlets","description":"Check out the Microsoft Graph PowerShell SDK documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/graph/powershell/get-started"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/aad-apps-expired-keys","url":"https://pnp.github.io/script-samples/samples/aad-apps-expired-keys/","legacyUrl":"https://pnp.github.io/script-samples/aad-apps-expired-keys/README.html","previews":[{"src":"/script-samples/aad-apps-expired-keys/assets/preview.png","alt":"Preview of the sample List out all Azure AD Apps along with their Credentials"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-add-list-template-with-custom-library","title":"Creates and apply custom list template","description":"Script that creates and applies custom list template with custom document library, site columns and site content types","products":["sharepoint"],"categories":["Modernize","Deploy","Provision"],"tags":["modern","Connect-PnPOnline","Disconnect-PnPOnline","Add-SPOSiteScript","Connect-SPOService","Get-SPOSite","Get-SPOSiteScript","Get-SPOSiteScriptFromList"],"tools":[{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"}],"created":"2021-10-28","updated":"2021-10-28","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-list-template-with-custom-library","url":"https://pnp.github.io/script-samples/samples/spo-add-list-template-with-custom-library/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-list-template-with-custom-library/README.html","previews":[{"src":"/script-samples/spo-add-list-template-with-custom-library/assets/preview.png","alt":"Preview of the sample Creates and apply custom list template"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Add-SPOSiteScript","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Add-SPOSiteScript"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"Get-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSite"},{"name":"Get-SPOSiteScript","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSiteScript"},{"name":"Get-SPOSiteScriptFromList","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Get-SPOSiteScriptFromList"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-add-multiple-lists-using-csv-file","title":"Add multiple lists or libraries using csv file","description":"This script sample shows how to bulk create lists or libraries using CSV file","products":["sharepoint"],"categories":["Data","Provision"],"tags":["Connect-PnPOnline","New-PnPList","Disconnect-PnPOnline","m365 status","m365 login","m365 spo list add","Migration"],"tools":[{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"},{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"}],"created":"2021-10-08","updated":"2021-10-25","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"},{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-add-multiple-lists-using-csv-file","url":"https://pnp.github.io/script-samples/samples/spo-add-multiple-lists-using-csv-file/","legacyUrl":"https://pnp.github.io/script-samples/spo-add-multiple-lists-using-csv-file/README.html","previews":[{"src":"/script-samples/spo-add-multiple-lists-using-csv-file/assets/preview.png","alt":"Preview of the sample Add multiple lists or libraries using csv file"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo list add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-add"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-export-site-all-content","title":"Export all content from an existing SharePoint site","description":"This script shows how to export all content from an existing SharePoint site ","products":["sharepoint"],"categories":["Data"],"tags":["Add-PnPFile","Add-PnPFileToSiteTemplate","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPFile","Get-PnPFolder","Get-PnPFolderItem","Get-PnPList","Get-PnPSite","Get-PnPSiteTemplate","Invoke-PnPSiteTemplate","Save-PnPSiteTemplate"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0,1.7.0"}],"created":"2021-10-19","updated":"2021-10-19","authors":[{"handle":"scoutmanpt","name":"Rodrigo Pinto","pictureUrl":"https://github.com/scoutmanpt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-site-all-content","url":"https://pnp.github.io/script-samples/samples/spo-export-site-all-content/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-site-all-content/README.html","previews":[{"src":"/script-samples/spo-export-site-all-content/assets/preview.png","alt":"Preview of the sample Export all content from an existing SharePoint site"}],"commandReferences":[{"name":"Add-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFile.html"},{"name":"Add-PnPFileToSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFileToSiteTemplate.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPFile","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFile.html"},{"name":"Get-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolder.html"},{"name":"Get-PnPFolderItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolderItem.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteTemplate.html"},{"name":"Invoke-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSiteTemplate.html"},{"name":"Save-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Save-PnPSiteTemplate.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-setup-example-site","title":"Setup example site","description":"This script is a good starting point for a setup script to create site with some assets like columns, content types, lists, navigation","products":["sharepoint"],"categories":["Provision","Configure"],"tags":["SharePoint Online","Create Site","Create Field","Create Content type","Create List","Modify View","Modify Navigation","Add-PnPContentType","Add-PnPContentTypeToList","Add-PnPField","Add-PnPFieldFromXml","Add-PnPFieldToContentType","Add-PnPFolder","Add-PnPNavigationNode","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPContentType","Get-PnPField","Get-PnPFolder","Get-PnPList","Get-PnPNavigationNode","Get-PnPTenant","Get-PnPTenantSite","Get-PnPView","New-PnPList","New-PnPSite","Remove-PnPNavigationNode","Set-PnPList","Set-PnPView"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-04-10","updated":"2021-10-19","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-setup-example-site","url":"https://pnp.github.io/script-samples/samples/spo-setup-example-site/","legacyUrl":"https://pnp.github.io/script-samples/spo-setup-example-site/README.html","previews":[{"src":"/script-samples/spo-setup-example-site/assets/preview.png","alt":"Preview of the sample Setup example site"}],"commandReferences":[{"name":"Add-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentType.html"},{"name":"Add-PnPContentTypeToList","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPContentTypeToList.html"},{"name":"Add-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPField.html"},{"name":"Add-PnPFieldFromXml","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFieldFromXml.html"},{"name":"Add-PnPFieldToContentType","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFieldToContentType.html"},{"name":"Add-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPFolder.html"},{"name":"Add-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPNavigationNode.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPContentType","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPContentType.html"},{"name":"Get-PnPField","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPField.html"},{"name":"Get-PnPFolder","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPFolder.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPNavigationNode.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"},{"name":"Get-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPView.html"},{"name":"New-PnPList","url":"https://pnp.github.io/powershell/cmdlets/New-PnPList.html"},{"name":"New-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/New-PnPSite.html"},{"name":"Remove-PnPNavigationNode","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPNavigationNode.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Set-PnPView","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPView.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-translate-list","title":"Translate columns in a SharePoint list","description":"Say we have PowerApp that is storing its data in SharePoint lists. We want to make the app multilingual. This sample shows you the process.","products":["sharepoint"],"categories":["Configure"],"tags":["Document Library","Conversion","PDF","Add-PnPListItem","Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Remove-PnPList","Remove-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-10-18","updated":"2021-10-18","authors":[{"handle":"russgove","name":"Russell Gove","pictureUrl":"https://github.com/russgove.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-translate-list","url":"https://pnp.github.io/script-samples/samples/spo-translate-list/","legacyUrl":"https://pnp.github.io/script-samples/spo-translate-list/README.html","previews":[{"src":"/script-samples/spo-translate-list/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Remove-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPList.html"},{"name":"Remove-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-import-csv-data-to-existing-sharepoint-list","title":"Import CSV to an existing SharePoint List","description":"This script shows how to import a CSV to an existing SharePoint list without explicitly enumerating all list fields ","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline","New-PnPBatch","Invoke-PnPBatch","Add-PnPListItem","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0,1.7.0"}],"created":"2021-10-16","updated":"2021-10-16","authors":[{"handle":"scoutmanpt","name":"Rodrigo Pinto","pictureUrl":"https://github.com/scoutmanpt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-import-csv-data-to-existing-sharepoint-list","url":"https://pnp.github.io/script-samples/samples/spo-import-csv-data-to-existing-sharepoint-list/","legacyUrl":"https://pnp.github.io/script-samples/spo-import-csv-data-to-existing-sharepoint-list/README.html","previews":[{"src":"/script-samples/spo-import-csv-data-to-existing-sharepoint-list/assets/preview.png","alt":"Preview of the sample Import CSV to an existing SharePoint List"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"New-PnPBatch","url":"https://pnp.github.io/powershell/cmdlets/New-PnPBatch.html"},{"name":"Invoke-PnPBatch","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPBatch.html"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"create-comm-sites-specific-locale","title":"Create Modern Sites as alternative primary language","description":"Create a modern site in another language as the primary language","products":["sharepoint"],"categories":["Provision"],"tags":["Connect-PnPOnline","New-PnPTenantSite","Connect-SPOService","New-SPOSite","m365 status","m365 login","m365 spo site add"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","version":"16.0.21116.12000"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2021-05-11","updated":"2021-10-13","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Introduction to the SharePoint Online Management Shell","description":"Check out the SPO Management Shell documentation site to get started and for the reference to the cmdlets.","url":"https://learn.microsoft.com/powershell/sharepoint/sharepoint-online/introduction-sharepoint-online-management-shell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/create-comm-sites-specific-locale","url":"https://pnp.github.io/script-samples/samples/create-comm-sites-specific-locale/","legacyUrl":"https://pnp.github.io/script-samples/create-comm-sites-specific-locale/README.html","previews":[{"src":"/script-samples/create-comm-sites-specific-locale/assets/preview.png","alt":"Preview of the resulting site as another language"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"New-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/New-PnPTenantSite.html"},{"name":"Connect-SPOService","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/Connect-SPOService"},{"name":"New-SPOSite","url":"https://learn.microsoft.com/powershell/module/microsoft.online.sharepoint.powershell/New-SPOSite"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 spo site add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-add"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"spo-detect-theme","title":"Detect Installed Theme","description":"This script will detect install theme for particular site","products":["sharepoint"],"categories":["Deploy"],"tags":["SharePoint Online","SPO Theme","Connect-PnPOnline","Get-PnPTenant","Get-PnPTenantTheme","Get-PnPWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"}],"created":"2021-10-13","updated":"2021-10-13","authors":[{"handle":"dips365","name":"Dipen Shah","pictureUrl":"https://github.com/dips365.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-detect-theme","url":"https://pnp.github.io/script-samples/samples/spo-detect-theme/","legacyUrl":"https://pnp.github.io/script-samples/spo-detect-theme/README.html","previews":[{"src":"/script-samples/spo-detect-theme/assets/preview.png","alt":"Preview of the sample Detect Installed Theme"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantTheme","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantTheme.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-export-sitecollection-permission-with-subwebs","title":"Get SharePoint Site Collection and their Subwebs Permissions And Export It To CSV","description":"This script sample shows how to get permission for site collection with their subwebs and export it to CSV with some required details","products":["sharepoint"],"categories":["Data","Report","Security"],"tags":["Connect-PnPOnline","Get-PnPGroup","Get-PnPGroupMember","Get-PnPProperty","Get-PnPSubWeb","Get-PnPWeb"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-10-13","updated":"2021-10-13","authors":[{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-sitecollection-permission-with-subwebs","url":"https://pnp.github.io/script-samples/samples/spo-export-sitecollection-permission-with-subwebs/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-sitecollection-permission-with-subwebs/README.html","previews":[{"src":"/script-samples/spo-export-sitecollection-permission-with-subwebs/assets/preview.png","alt":"Preview of the sample Get SharePoint Site Collection and their Subwebs Permissions And Export It To CSV"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroup.html"},{"name":"Get-PnPGroupMember","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPGroupMember.html"},{"name":"Get-PnPProperty","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPProperty.html"},{"name":"Get-PnPSubWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSubWeb.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-set-sharepoint-regional-settings","title":"Set SharePoint regional settings","description":"Script will set custom regional settings in your sharepoint site","products":["sharepoint"],"categories":["Configure"],"tags":["Connect-PnPOnline","Get-PnPWeb","Invoke-PnPQuery","Disconnect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-10-12","updated":"2021-10-12","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-set-sharepoint-regional-settings","url":"https://pnp.github.io/script-samples/samples/spo-set-sharepoint-regional-settings/","legacyUrl":"https://pnp.github.io/script-samples/spo-set-sharepoint-regional-settings/README.html","previews":[{"src":"/script-samples/spo-set-sharepoint-regional-settings/assets/preview.png","alt":"Preview of the sample Set SharePoint regional settings"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Invoke-PnPQuery","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPQuery.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-generate-demo-events","title":"Generate Demo Events for SharePoint Events List","description":"This sample script generates demo events for the SharePoint Events List within a modern site using a CSV file","products":["sharepoint"],"categories":["Data"],"tags":["modern","m365 login","m365 status","m365 spo listitem add","Add-PnPListItem","Connect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2021-09-08","updated":"2021-10-10","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-generate-demo-events","url":"https://pnp.github.io/script-samples/samples/spo-generate-demo-events/","legacyUrl":"https://pnp.github.io/script-samples/spo-generate-demo-events/README.html","previews":[{"src":"/script-samples/spo-generate-demo-events/assets/preview.png","alt":"Preview of the sample Generate Demo Events for SharePoint Events List"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo listitem add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-add"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"}],"scriptTabCount":3,"codeBlockCount":3},{"slug":"get-all-site-collections-subwebs","title":"How to to get all site collections with their sub webs","description":"Get site collections with all the sub-webs","products":["sharepoint"],"categories":["Report"],"tags":["m365 login","m365 status","m365 spo site classic list","m365 spo site list","m365 spo web list","Connect-PnPOnline","Get-PnPSubWeb","Get-PnPTenant","Get-PnPTenantSite"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2021-05-05","updated":"2021-10-10","authors":[{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=64"},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/get-all-site-collections-subwebs","url":"https://pnp.github.io/script-samples/samples/get-all-site-collections-subwebs/","legacyUrl":"https://pnp.github.io/script-samples/get-all-site-collections-subwebs/README.html","previews":[{"src":"/script-samples/get-all-site-collections-subwebs/assets/preview.png","alt":"Preview of the sample How to to get all site collections with their sub webs"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo site list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/site/site-list"},{"name":"m365 spo web list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/web/web-list"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPSubWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSubWeb.html"},{"name":"Get-PnPTenant","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenant.html"},{"name":"Get-PnPTenantSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTenantSite.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-copy-webparts-to-another-page","title":"Copy Webparts From One Page To Another Page","description":"This script sample shows how to copy webparts from one page to another page in the same site collection.","products":["sharepoint"],"categories":["Data"],"tags":["Connect-PnPOnline"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-10-05","updated":"2021-10-05","authors":[{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-copy-webparts-to-another-page","url":"https://pnp.github.io/script-samples/samples/spo-copy-webparts-to-another-page/","legacyUrl":"https://pnp.github.io/script-samples/spo-copy-webparts-to-another-page/README.html","previews":[{"src":"/script-samples/spo-copy-webparts-to-another-page/assets/example.png","alt":"Preview of the sample Copy Webparts From One Page To Another Page"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-list-items-large-lists","title":"Get/add/update/delete list items in large lists","description":"Get/add/update/delete items in large SharePoint list","products":["sharepoint"],"categories":["Data"],"tags":["m365 login","m365 status","m365 spo list get","m365 spo listitem add","m365 spo listitem list","m365 spo listitem remove","m365 spo listitem set","Add-PnPListItem","Connect-PnPOnline","Get-PnPList","Get-PnPListItem","Invoke-PnPBatch","New-PnPBatch","Remove-PnPList","Remove-PnPListItem","Set-PnPList","Set-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","version":"3.7.0"}],"created":"2021-09-24","updated":"2021-09-27","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"},{"name":"Want to learn more about CLI for Microsoft 365 and the commands","description":"Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.","url":"https://aka.ms/cli-m365"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-list-items-large-lists","url":"https://pnp.github.io/script-samples/samples/spo-list-items-large-lists/","legacyUrl":"https://pnp.github.io/script-samples/spo-list-items-large-lists/README.html","previews":[{"src":"/script-samples/spo-list-items-large-lists/assets/preview.png","alt":"Preview of the sample Get/add/update/delete list items in large lists"}],"commandReferences":[{"name":"m365 login","url":"https://pnp.github.io/cli-microsoft365/cmd/login/"},{"name":"m365 status","url":"https://pnp.github.io/cli-microsoft365/cmd/status/"},{"name":"m365 spo list get","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/list/list-get"},{"name":"m365 spo listitem add","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-add"},{"name":"m365 spo listitem list","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-list"},{"name":"m365 spo listitem remove","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-remove"},{"name":"m365 spo listitem set","url":"https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-set"},{"name":"Add-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Add-PnPListItem.html"},{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Invoke-PnPBatch","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPBatch.html"},{"name":"New-PnPBatch","url":"https://pnp.github.io/powershell/cmdlets/New-PnPBatch.html"},{"name":"Remove-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPList.html"},{"name":"Remove-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Remove-PnPListItem.html"},{"name":"Set-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPList.html"},{"name":"Set-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPListItem.html"}],"scriptTabCount":2,"codeBlockCount":2},{"slug":"spo-export-space-page-as-template-and-save-to-sharepoint","title":"Extract Space content type page as template and save to SharePoint","description":"Script that extract space content type page as template and save it to SharePoint","products":["sharepoint"],"categories":["Modernize","Data","Deploy","Provision"],"tags":["modern","Connect-PnPOnline","Get-PnPHomePage","Get-PnPList","Get-PnPListItem","Get-PnPSite","Get-PnPSiteTemplate","Get-PnPWeb","Invoke-PnPSiteTemplate","Set-PnPHomePage"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"}],"created":"2021-09-24","updated":"2021-09-24","authors":[{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-export-space-page-as-template-and-save-to-sharepoint","url":"https://pnp.github.io/script-samples/samples/spo-export-space-page-as-template-and-save-to-sharepoint/","legacyUrl":"https://pnp.github.io/script-samples/spo-export-space-page-as-template-and-save-to-sharepoint/README.html","previews":[{"src":"/script-samples/spo-export-space-page-as-template-and-save-to-sharepoint/assets/preview.png","alt":"Preview of the sample Extract Space content type page as template and save to SharePoint"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPHomePage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPHomePage.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"},{"name":"Get-PnPSite","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSite.html"},{"name":"Get-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPSiteTemplate.html"},{"name":"Get-PnPWeb","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPWeb.html"},{"name":"Invoke-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSiteTemplate.html"},{"name":"Set-PnPHomePage","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPHomePage.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-extract-modern-pages","title":"Extract Modern Pages to Individual Provisioning Files","description":"Script that extracts all the pages in the pages library","products":["sharepoint"],"categories":["Modernize","Data","Deploy","Provision"],"tags":["modern","Connect-PnPOnline","Export-PnPPage","Get-PnPList","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.7.0"}],"created":"2021-09-03","updated":"2021-09-03","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-extract-modern-pages","url":"https://pnp.github.io/script-samples/samples/spo-extract-modern-pages/","legacyUrl":"https://pnp.github.io/script-samples/spo-extract-modern-pages/README.html","previews":[{"src":"/script-samples/spo-extract-modern-pages/assets/preview.png","alt":"Preview of the sample Extract Modern Pages to Individual Provisioning Files"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Export-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Export-PnPPage.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-provision-homepage","title":"Provision Home Page to a SharePoint site","description":"The script exports the page from a source site and provisions it to a destination site","products":["sharepoint"],"categories":["Data","Provision"],"tags":["classic","Connect-PnPOnline","Export-PnPPage","Invoke-PnPSiteTemplate","Set-PnPHomePage"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-09-02","updated":"2021-09-02","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-provision-homepage","url":"https://pnp.github.io/script-samples/samples/spo-provision-homepage/","legacyUrl":"https://pnp.github.io/script-samples/spo-provision-homepage/README.html","previews":[{"src":"/script-samples/spo-provision-homepage/assets/preview.png","alt":"preview image showing there is no preview"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Export-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Export-PnPPage.html"},{"name":"Invoke-PnPSiteTemplate","url":"https://pnp.github.io/powershell/cmdlets/Invoke-PnPSiteTemplate.html"},{"name":"Set-PnPHomePage","url":"https://pnp.github.io/powershell/cmdlets/Set-PnPHomePage.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"graph-assign-permissions-managed-identity","title":"Assign Graph permissions to a Managed Identity","description":"A sample of script to provision Azure Function including storage account, resource group, and assign permissions","products":["graph","entra","azure"],"categories":["Provision","Security"],"tags":["functions","azure"],"tools":[{"id":"AZURE-CLI","label":"Azure CLI","version":"2.27.0"}],"created":"2021-08-10","updated":"2021-08-12","authors":[{"handle":"LuiseFreese","name":"Luise Freese","pictureUrl":"https://github.com/LuiseFreese.png?size=64"}],"references":[{"name":"Want to learn more about Azure CLI and the commands","description":"Check out the Azure CLI documentation site to get started and for the reference to the commands.","url":"https://learn.microsoft.com/cli/azure/"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/graph-assign-permissions-managed-identity","url":"https://pnp.github.io/script-samples/samples/graph-assign-permissions-managed-identity/","legacyUrl":"https://pnp.github.io/script-samples/graph-assign-permissions-managed-identity/README.html","previews":[{"src":"/script-samples/graph-assign-permissions-managed-identity/assets/preview.png","alt":"Preview of the sample Assign Graph permissions to a Managed Identity"}],"commandReferences":[],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-import-taxonomy-terms-labels","title":"Import taxonomy terms and labels into a term set","description":"The sample is a small set of terms to showcase the use case but the requirement was to import 100s of terms with labels into SharePoint Online.","products":["sharepoint"],"categories":["Data"],"tags":["classic","Connect-PnPOnline","Get-PnPTerm","Get-PnPTermGroup","Get-PnPTermLabel","Import-PnPTermSet","New-PnPTerm","New-PnPTermGroup"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-08-07","updated":"2021-08-07","authors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-import-taxonomy-terms-labels","url":"https://pnp.github.io/script-samples/samples/spo-import-taxonomy-terms-labels/","legacyUrl":"https://pnp.github.io/script-samples/spo-import-taxonomy-terms-labels/README.html","previews":[{"src":"/script-samples/spo-import-taxonomy-terms-labels/assets/preview.png","alt":"preview image showing there is no preview"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPTerm","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTerm.html"},{"name":"Get-PnPTermGroup","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTermGroup.html"},{"name":"Get-PnPTermLabel","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPTermLabel.html"},{"name":"Import-PnPTermSet","url":"https://pnp.github.io/powershell/cmdlets/Import-PnPTermSet.html"},{"name":"New-PnPTerm","url":"https://pnp.github.io/powershell/cmdlets/New-PnPTerm.html"},{"name":"New-PnPTermGroup","url":"https://pnp.github.io/powershell/cmdlets/New-PnPTermGroup.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"spo-copy-webpart-settings","title":"Copy Custom Web Part Settings","description":"Script to copy custom SPFx web part settings from one page to other pages","products":["sharepoint"],"categories":["Configure"],"tags":["Modern page","SPFx","Web Part Settings","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPPage"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-07-05","updated":"2021-07-05","authors":[{"handle":"anoopt","name":"Anoop Tatti","pictureUrl":"https://github.com/anoopt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-copy-webpart-settings","url":"https://pnp.github.io/script-samples/samples/spo-copy-webpart-settings/","legacyUrl":"https://pnp.github.io/script-samples/spo-copy-webpart-settings/README.html","previews":[{"src":"/script-samples/spo-copy-webpart-settings/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPage.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"magic-tooltips-module","title":"Get Started with Tooltip for Connected Account","description":"The Magic Tooltips module can be installed to help determine the account that is connected to Microsoft 365 or Azure.","products":["graph"],"categories":["Configure"],"tags":["magic tooltips","magic","Import-Module"],"tools":[{"id":"POWERSHELL","label":"PowerShell","version":"7.2.0"}],"created":"2021-06-21","updated":"2021-06-21","authors":[{"handle":"pschaeflein","name":"Paul Schaeflein","pictureUrl":"https://github.com/pschaeflein.png?size=64"}],"references":[],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/magic-tooltips-module","url":"https://pnp.github.io/script-samples/samples/magic-tooltips-module/","legacyUrl":"https://pnp.github.io/script-samples/magic-tooltips-module/README.html","previews":[{"src":"/script-samples/magic-tooltips-module/assets/preview.png","alt":"Preview of the mogic tool tips module"}],"commandReferences":[],"scriptTabCount":0,"codeBlockCount":1},{"slug":"spo-set-page-authorbyline","title":"Set Page Author Byline","description":"Sets the author by line of a modern page","products":["sharepoint"],"categories":["Configure"],"tags":["Modern page","Author byline","Connect-PnPOnline","Disconnect-PnPOnline","Get-PnPConnection","Get-PnPPage","Get-PnPUser","New-PnPUser"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-06-17","updated":"2021-06-17","authors":[{"handle":"anoopt","name":"Anoop Tatti","pictureUrl":"https://github.com/anoopt.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/spo-set-page-authorbyline","url":"https://pnp.github.io/script-samples/samples/spo-set-page-authorbyline/","legacyUrl":"https://pnp.github.io/script-samples/spo-set-page-authorbyline/README.html","previews":[{"src":"/script-samples/spo-set-page-authorbyline/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Disconnect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Disconnect-PnPOnline.html"},{"name":"Get-PnPConnection","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPConnection.html"},{"name":"Get-PnPPage","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPPage.html"},{"name":"Get-PnPUser","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPUser.html"},{"name":"New-PnPUser","url":"https://pnp.github.io/powershell/cmdlets/New-PnPUser.html"}],"scriptTabCount":1,"codeBlockCount":1},{"slug":"modernize-blog-pages","title":"Modernize Blog Pages","description":"Converts all blog pages in a site","products":["sharepoint"],"categories":["Modernize"],"tags":["Connect-PnPOnline","ConvertTo-PnPClientSidePage","Get-PnPList","Get-PnPListItem"],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","version":"1.5.0"}],"created":"2021-05-11","updated":"2021-05-11","authors":[{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=64"}],"references":[{"name":"Want to learn more about PnP PowerShell and the cmdlets","description":"Check out the PnP PowerShell site to get started and for the reference to the cmdlets.","url":"https://aka.ms/pnp/powershell"}],"sourceUrl":"https://github.com/pnp/script-samples/tree/main/scripts/modernize-blog-pages","url":"https://pnp.github.io/script-samples/samples/modernize-blog-pages/","legacyUrl":"https://pnp.github.io/script-samples/modernize-blog-pages/README.html","previews":[{"src":"/script-samples/modernize-blog-pages/assets/preview.png","alt":"This sample does not contain a preview image"}],"commandReferences":[{"name":"Connect-PnPOnline","url":"https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html"},{"name":"Get-PnPList","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPList.html"},{"name":"Get-PnPListItem","url":"https://pnp.github.io/powershell/cmdlets/Get-PnPListItem.html"}],"scriptTabCount":1,"codeBlockCount":1}],"products":[{"id":"sharepoint","label":"SharePoint","image":"SharePoint_512.png","featured":true,"monogram":"","count":334},{"id":"graph","label":"Microsoft Graph","image":"graph.svg","featured":true,"monogram":"","count":56},{"id":"teams","label":"Teams","image":"Teams_512.png","featured":true,"monogram":"","count":48},{"id":"microsoft-365","label":"Microsoft 365","image":"office.svg","featured":false,"monogram":"","count":34},{"id":"azure","label":"Azure","image":"azure.svg","featured":false,"monogram":"","count":29},{"id":"copilot","label":"Microsoft Copilot","image":"copilot.png","searchAliases":["Microsoft 365 Copilot","M365 Copilot"],"featured":false,"monogram":"","count":21},{"id":"entra","label":"Microsoft Entra","image":"aad.svg","featured":false,"monogram":"","count":21},{"id":"power-automate","label":"Power Automate","image":"powerautomate_256x256.png","featured":true,"monogram":"","count":16},{"id":"power-platform","label":"Power Platform","image":"powerplatform_256x256.png","featured":true,"monogram":"","count":13},{"id":"todo","label":"Microsoft To Do","image":"todo.svg","featured":false,"monogram":"","count":6},{"id":"openai","label":"OpenAI","monogram":"AI","featured":false,"image":"","count":3},{"id":"exchange","label":"Exchange","monogram":"Ex","featured":false,"image":"","count":2},{"id":"purview","label":"Microsoft Purview","monogram":"Pr","featured":false,"image":"","count":2},{"id":"planner","label":"Planner","monogram":"P","featured":false,"image":"","count":2},{"id":"github","label":"GitHub","monogram":"GH","featured":false,"image":"","count":1},{"id":"search","label":"Microsoft Search","monogram":"S","featured":false,"image":"","count":1},{"id":"stream","label":"Stream","monogram":"St","featured":false,"image":"","count":1},{"id":"whiteboard","label":"Whiteboard","monogram":"W","featured":false,"image":"","count":1}],"tools":[{"id":"PNP-POWERSHELL","label":"PnP PowerShell","count":335},{"id":"CLI-FOR-MICROSOFT365","label":"CLI for Microsoft 365","count":128},{"id":"POWERSHELL","label":"PowerShell","count":49},{"id":"GRAPH-POWERSHELL","label":"Microsoft Graph PowerShell","count":36},{"id":"SPO-MANAGEMENT-SHELL","label":"SPO Management Shell","count":25},{"id":"POWERAPPS-POWERSHELL","label":"Power Apps PowerShell","count":7},{"id":"AZURE-CLI","label":"Azure CLI","count":5},{"id":"JAVASCRIPT","label":"JavaScript","count":2},{"id":"MICROSOFTTEAMS-POWERSHELL","label":"Teams PowerShell","count":2},{"id":"BASH","label":"Bash","count":1},{"id":"GITHUB","label":"GitHub","count":1},{"id":"MICROSOFTWHITEBOARDADMIN","label":"Whiteboard Admin","count":1}],"contributors":[{"handle":"reshmee011","name":"Reshmee Auckloo","pictureUrl":"https://github.com/reshmee011.png?size=144","count":83},{"handle":"ganesh-sanap","name":"Ganesh Sanap","pictureUrl":"https://github.com/ganesh-sanap.png?size=144","count":48},{"handle":"kasperbolarsen","name":"Kasper Larsen","pictureUrl":"https://github.com/kasperbolarsen.png?size=144","count":42},{"handle":"ojopiyo","name":"Josiah Opiyo","pictureUrl":"https://github.com/ojopiyo.png?size=144","count":36},{"handle":"pkbullock","name":"Paul Bullock","pictureUrl":"https://github.com/pkbullock.png?size=144","count":35},{"handle":"ValerasNarbutas","name":"Valeras Narbutas","pictureUrl":"https://github.com/ValerasNarbutas.png?size=144","count":30},{"handle":"Adam-it","name":"Adam Wójcik","pictureUrl":"https://github.com/Adam-it.png?size=144","count":29},{"handle":"chandaniprajapati","name":"Chandani Prajapati","pictureUrl":"https://github.com/chandaniprajapati.png?size=144","count":25},{"handle":"nanddeepn","name":"Nanddeep Nachan","pictureUrl":"https://github.com/nanddeepn.png?size=144","count":17},{"handle":"LeonArmston","name":"Leon Armston","pictureUrl":"https://github.com/LeonArmston.png?size=144","count":13},{"handle":"Tanddant","name":"Dan Toft","pictureUrl":"https://github.com/Tanddant.png?size=144","count":10},{"handle":"SmitaNachan","name":"Smita Nachan","pictureUrl":"https://github.com/SmitaNachan.png?size=144","count":9},{"handle":"scoutmanpt","name":"Rodrigo Pinto","pictureUrl":"https://github.com/scoutmanpt.png?size=144","count":8},{"handle":"siddharth-vaghasia","name":"Siddharth Vaghasia","pictureUrl":"https://github.com/siddharth-vaghasia.png?size=144","count":8},{"handle":"Jwaegebaert","name":"Jasey Waegebaert","pictureUrl":"https://github.com/Jwaegebaert.png?size=144","count":7},{"handle":"fabianhutzli","name":"Fabian Hutzli","pictureUrl":"https://github.com/fabianhutzli.png?size=144","count":6},{"handle":"russgove","name":"Russell Gove","pictureUrl":"https://github.com/russgove.png?size=144","count":5},{"handle":"nelladath","name":"Sujin Nelladath","pictureUrl":"https://github.com/nelladath.png?size=144","count":5},{"handle":"anoopt","name":"Anoop Tatti","pictureUrl":"https://github.com/anoopt.png?size=144","count":4},{"handle":"dips365","name":"Dipen Shah","pictureUrl":"https://github.com/dips365.png?size=144","count":4},{"handle":"kkazala","name":"Kinga Kazala","pictureUrl":"https://github.com/kkazala.png?size=144","count":4},{"handle":"mkm17","name":"Michał Kornet","pictureUrl":"https://github.com/mkm17.png?size=144","count":4},{"handle":"tecchan1107","name":"Tetsuya Kawahara","pictureUrl":"https://github.com/tecchan1107.png?size=144","count":4},{"handle":"ToddKlindt","name":"Todd Klindt","pictureUrl":"https://github.com/ToddKlindt.png?size=144","count":4},{"handle":"gvijaikumar9","name":"Vijay Kumar G","pictureUrl":"https://github.com/gvijaikumar9.png?size=144","count":4},{"handle":"aaclage","name":"André Lage","pictureUrl":"https://github.com/aaclage.png?size=144","count":3},{"handle":"divya-akula","name":"Divya Akula","pictureUrl":"https://github.com/divya-akula.png?size=144","count":3},{"handle":"donkirkham","name":"Don Kirkham","pictureUrl":"https://github.com/donkirkham.png?size=144","count":3},{"handle":"jackpoz","name":"Giacomo Pozzoni","pictureUrl":"https://github.com/jackpoz.png?size=144","count":3},{"handle":"Jitenparmar","name":"Jiten Parmar","pictureUrl":"https://github.com/Jitenparmar.png?size=144","count":3},{"handle":"martinlingstuyl","name":"Martin Lingstuyl","pictureUrl":"https://github.com/martinlingstuyl.png?size=144","count":3},{"handle":"petkir","name":"Peter Paul Kirschner","pictureUrl":"https://github.com/petkir.png?size=144","count":3},{"handle":"AhmadiRamin","name":"Ramin Ahmadi","pictureUrl":"https://github.com/AhmadiRamin.png?size=144","count":3},{"handle":"ahamedfazil","name":"Ahamed Fazil Buhari","pictureUrl":"https://github.com/ahamedfazil.png?size=144","count":2},{"handle":"a1mery","name":"Aimery Thomas","pictureUrl":"https://github.com/a1mery.png?size=144","count":2},{"handle":"appieschot","name":"Albert-Jan Schot","pictureUrl":"https://github.com/appieschot.png?size=144","count":2},{"handle":"Amanp17","name":"Aman Panjwani","pictureUrl":"https://github.com/Amanp17.png?size=144","count":2},{"handle":"GeorgiaGit","name":"Andrew Burns","pictureUrl":"https://github.com/GeorgiaGit.png?size=144","count":2},{"handle":"andrew-s-taylor","name":"Andrew Taylor","pictureUrl":"https://github.com/andrew-s-taylor.png?size=144","count":2},{"handle":"dkaaven","name":"Daniel Kåven","pictureUrl":"https://github.com/dkaaven.png?size=144","count":2},{"handle":"EilafBarmare","name":"Eilaf Barmare","pictureUrl":"https://github.com/EilafBarmare.png?size=144","count":2},{"handle":"OwnOptic","name":"Elliot Margot","pictureUrl":"https://github.com/OwnOptic.png?size=144","count":2},{"handle":"HarminderSethi","name":"Harminder Singh","pictureUrl":"https://github.com/HarminderSethi.png?size=144","count":2},{"handle":"JimmyHang","name":"Jimmy Hang","pictureUrl":"https://github.com/JimmyHang.png?size=144","count":2},{"handle":"juandresrodca","name":"juandresrodca","pictureUrl":"https://github.com/juandresrodca.png?size=144","count":2},{"handle":"kzkalra","name":"Kshitiz Kalra","pictureUrl":"https://github.com/kzkalra.png?size=144","count":2},{"handle":"LuiseFreese","name":"Luise Freese","pictureUrl":"https://github.com/LuiseFreese.png?size=144","count":2},{"handle":"sympmarc","name":"Marc D Anderson","pictureUrl":"https://github.com/sympmarc.png?size=144","count":2},{"handle":"mathijsverbeeck","name":"Mathijs Verbeeck","pictureUrl":"https://github.com/mathijsverbeeck.png?size=144","count":2},{"handle":"Maher256","name":"Matt Maher","pictureUrl":"https://github.com/Maher256.png?size=144","count":2},{"handle":"srpmtt","name":"Matteo Serpi","pictureUrl":"https://github.com/srpmtt.png?size=144","count":2},{"handle":"MichaelRoth42","name":"Michael Roth","pictureUrl":"https://github.com/MichaelRoth42.png?size=144","count":2},{"handle":"mromiszewski","name":"Michał Romiszewski","pictureUrl":"https://github.com/mromiszewski.png?size=144","count":2},{"handle":"milanholemans","name":"Milan Holemans","pictureUrl":"https://github.com/milanholemans.png?size=144","count":2},{"handle":"nbrattoli","name":"Nick Brattoli","pictureUrl":"https://github.com/nbrattoli.png?size=144","count":2},{"handle":"nicodecleyre","name":"Nico De Cleyre","pictureUrl":"https://github.com/nicodecleyre.png?size=144","count":2},{"handle":"pmatthews05","name":"Paul Matthews","pictureUrl":"https://github.com/pmatthews05.png?size=144","count":2},{"handle":"salarson","name":"Sam Larson","pictureUrl":"https://github.com/salarson.png?size=144","count":2},{"handle":"tmaestrini","name":"Tobias Maestrini","pictureUrl":"https://github.com/tmaestrini.png?size=144","count":2},{"handle":"getalex","name":"Alex Talarico","pictureUrl":"https://github.com/getalex.png?size=144","count":1},{"handle":"Barbarur","name":"Alvaro Avila Ruiz","pictureUrl":"https://github.com/Barbarur.png?size=144","count":1},{"handle":"a-villarruel","name":"Antonio Villarruel","pictureUrl":"https://github.com/a-villarruel.png?size=144","count":1},{"handle":"ArashAghajani","name":"Arash Aghajani","pictureUrl":"https://github.com/ArashAghajani.png?size=144","count":1},{"handle":"ari20089","name":"Arindam Choudhury","pictureUrl":"https://github.com/ari20089.png?size=144","count":1},{"handle":"arjunumenon","name":"Arjun Menon","pictureUrl":"https://github.com/arjunumenon.png?size=144","count":1},{"handle":"bjdekker","name":"Bart-Jan Dekker","pictureUrl":"https://github.com/bjdekker.png?size=144","count":1},{"handle":"Goonie78","name":"Brad Chaney","pictureUrl":"https://github.com/Goonie78.png?size=144","count":1},{"handle":"brianpmccullough","name":"Brian P. McCullough","pictureUrl":"https://github.com/brianpmccullough.png?size=144","count":1},{"handle":"ChVeen","name":"Christian Veenhuis","pictureUrl":"https://github.com/ChVeen.png?size=144","count":1},{"handle":"expiscornovus","name":"Dennis Goedegebuure","pictureUrl":"https://github.com/expiscornovus.png?size=144","count":1},{"handle":"Diksha-Bhura","name":"Diksha Bhura","pictureUrl":"https://github.com/Diksha-Bhura.png?size=144","count":1},{"handle":"erwinvanhunen","name":"Erwin van Hunen","pictureUrl":"https://github.com/erwinvanhunen.png?size=144","count":1},{"handle":"garrytrinder","name":"Garry Trinder","pictureUrl":"https://github.com/garrytrinder.png?size=144","count":1},{"handle":"mistrb01","name":"George Brooks","pictureUrl":"https://github.com/mistrb01.png?size=144","count":1},{"handle":"GuidoZam","name":"Guido Zambarda","pictureUrl":"https://github.com/GuidoZam.png?size=144","count":1},{"handle":"HeinrichKrause","name":"Heinrich Krause","pictureUrl":"https://github.com/HeinrichKrause.png?size=144","count":1},{"handle":"IoannisGianko","name":"Ioannis Gianko","pictureUrl":"https://github.com/IoannisGianko.png?size=144","count":1},{"handle":"jagopauwels","name":"Jago Pauwels","pictureUrl":"https://github.com/jagopauwels.png?size=144","count":1},{"handle":"Jasonwbaxter","name":"Jason Baxter","pictureUrl":"https://github.com/Jasonwbaxter.png?size=144","count":1},{"handle":"jeppesc11","name":"Jeppe Spanggaard","pictureUrl":"https://github.com/jeppesc11.png?size=144","count":1},{"handle":"JillTh","name":"Jill McClenahan","pictureUrl":"https://github.com/JillTh.png?size=144","count":1},{"handle":"jimmywim","name":"Jim Love","pictureUrl":"https://github.com/jimmywim.png?size=144","count":1},{"handle":"joshua-probst","name":"Joshua Probst","pictureUrl":"https://github.com/joshua-probst.png?size=144","count":1},{"handle":"kevmcdonk","name":"Kevin McDonnell","pictureUrl":"https://github.com/kevmcdonk.png?size=144","count":1},{"handle":"kunj-sangani","name":"Kunj Balkrishna Sangani","pictureUrl":"https://github.com/kunj-sangani.png?size=144","count":1},{"handle":"lewisdoesdev","name":"Lewis Baybutt","pictureUrl":"https://github.com/lewisdoesdev.png?size=144","count":1},{"handle":"Lotsamocha01","name":"Lotsamocha01","pictureUrl":"https://github.com/Lotsamocha01.png?size=144","count":1},{"handle":"Marijnsomers","name":"Marijn Somers","pictureUrl":"https://github.com/Marijnsomers.png?size=144","count":1},{"handle":"MartinM85","name":"Martin Macháček","pictureUrl":"https://github.com/MartinM85.png?size=144","count":1},{"handle":"mjimison","name":"Matt Jimison","pictureUrl":"https://github.com/mjimison.png?size=144","count":1},{"handle":"michaelmaillot","name":"Michaël Maillot","pictureUrl":"https://github.com/michaelmaillot.png?size=144","count":1},{"handle":"wobba","name":"Mikael Svenson","pictureUrl":"https://github.com/wobba.png?size=144","count":1},{"handle":"nikcharlebois","name":"Nik Charlebois","pictureUrl":"https://github.com/nikcharlebois.png?size=144","count":1},{"handle":"nirav-raval","name":"Nirav Raval","pictureUrl":"https://github.com/nirav-raval.png?size=144","count":1},{"handle":"NishkalankBezawada","name":"Nishkalank Bezawada","pictureUrl":"https://github.com/NishkalankBezawada.png?size=144","count":1},{"handle":"pbadoni","name":"Pankaj Badoni","pictureUrl":"https://github.com/pbadoni.png?size=144","count":1},{"handle":"pschaeflein","name":"Paul Schaeflein","pictureUrl":"https://github.com/pschaeflein.png?size=144","count":1},{"handle":"pkskelly","name":"Pete Skelly","pictureUrl":"https://github.com/pkskelly.png?size=144","count":1},{"handle":"ralisp","name":"R. Ali","pictureUrl":"https://github.com/ralisp.png?size=144","count":1},{"handle":"RichaPandit","name":"Richa Pandit","pictureUrl":"https://github.com/RichaPandit.png?size=144","count":1},{"handle":"ee61re","name":"Rob Ellis","pictureUrl":"https://github.com/ee61re.png?size=144","count":1},{"handle":"Ryan365Apps","name":"Ryan Healy","pictureUrl":"https://github.com/Ryan365Apps.png?size=144","count":1},{"handle":"Sandeep-FED","name":"Sandeep P S","pictureUrl":"https://github.com/Sandeep-FED.png?size=144","count":1},{"handle":"svarukala","name":"SRINIVAS VARUKALA","pictureUrl":"https://github.com/svarukala.png?size=144","count":1},{"handle":"tvahk","name":"Tanel Vahk","pictureUrl":"https://github.com/tvahk.png?size=144","count":1},{"handle":"TiloGit","name":"TiloGit","pictureUrl":"https://github.com/TiloGit.png?size=144","count":1},{"handle":"timtatam","name":"Timo Vomstein","pictureUrl":"https://github.com/timtatam.png?size=144","count":1},{"handle":"teamneroblanco","name":"Twan van Beers","pictureUrl":"https://github.com/teamneroblanco.png?size=144","count":1}]}
