Welcome to my blog! Be inspired and keep inspiring. Sharing is Caring
Recent posts
Fixing SPFx: Unable to Use the Latest Version in scaffolding project
Introduction The SharePoint Framework (SPFx) 1.20.0 has been generally available since September 2024. However, if you work with SPFx, you might encounter issues when trying to use the latest version. SPFx still requires Node.js 18.x.x. In this blog post, I’ll walk you through the steps I took to install Node.js 18.20.4 using NVM, install the SPFx toolchain, and troubleshoot an issue where the project scaffolding defaulted to an older version of SPFx.
read moreManage 'Everyone' and 'Everyone except external users' claim within a SharePoint site using PowerShell
Introduction As part of Microsoft 365 Copilot readiness, you may want to find where “Everyone and “Everyone except external users” claims are granted permissions which is a cause of oversharing. This blog post will guide you through using PowerShell to manage and audit the “Everyone” and “Everyone except external users” claims within your SharePoint site collection.
For more insights on why the “Everyone except external users” group is riskier than “People in your organization,” refer to Copilot for Microsoft 365 Data Ready – Where “Everyone except external users” group is more risky than “People in your organization” links!
read morePowerShell: Fetch Files with Retention or Sensitivity Labels in SharePoint Online
Introduction Understanding the sensitivity and retention labels applied to files in your SharePoint Online sites is essential for maintaining data security and compliance. These labels enable you to manage and protect your data by defining retention periods and handling sensitive information appropriately. This is particularly important for initiatives like the Microsoft 365 Copilot rollout, ensuring that the correct files are stored within the appropriate SharePoint sites. For example, if a SharePoint site is a public Team site, files labeled as confidential should be moved to a private Team site or existing Team site updated from public to private.
read morePnP Powershell GetPnPflow using asAdmin parameter
As part of the multi tenant app registration for PnP PowerShell deprecated on the 9th September 2024, we need to have our own app registration and grant the required permissions. Read more from Changes in PnP Management Shell registration in Microsoft 365
For the cmdlet Get-PnPFlow it requires permissions Azure: management.azure.com which is Azure Service Management
Simply adding the permission as it does not require admin consent and executing the cmdlet below yields no results
read moreSharePoint - working round restore a library link missing
Introduction Have you ever encountered the frustrating situation where the Restore a library link in SharePoint is missing or inconsistently available? This can be a significant issue when you need to restore a library urgently.
The Problem Typically, you would expect to see the link ‘Restore This Library’ in the SharePoint interface: Restore library
However, in some cases, this link might be missing:
Restore Library Missing
The Workaround After some investigation, I discovered a workaround.
read morePower Automate - Trigger a Flow from multiple Libraries and sites
Introduction In this blog post, we’ll explore how to trigger a single Power Automate flow from multiple SharePoint libraries and sites. This approach is particularly useful for scenarios where you need to standardize workflows across different document libraries and sites. It will avoid the need replicating the flows multiple times which may be harder to maintain and deploy.
The For a selected file action is used to achieve this. I have tried the Manually trigger a flowin vain as the context (site URL, library ID/name, and item ID) is not passed to the flow.
read moreAudit Service Principal Access to SharePoint Sites with Sites.Selected Permissions
Ensuring the security and compliance of your SharePoint environment is crucial, especially when dealing with service principals, Entra ID apps, or federated identities. These entities often have elevated permissions that, if mismanaged, can lead to unauthorized access and potential data breaches. Regularly auditing these permissions is a best practice for maintaining a secure and compliant SharePoint environment.
Application only or granular access to individual site instead of whole tenant, scope called “Sites.
read moreSharePoint Search for Documents: Modified Date and Title of Results
Introduction Have you ever encountered a situation where the search results in SharePoint show incorrect document titles and modified dates? This can be frustrating, especially when you rely on accurate metadata for document management. In this blog post, we’ll explore why this happens and how to resolve it.
Problem Statement A business user reported that the search results for a particular document displayed the wrong name and modified date. Upon investigation, we found that the title and modified date were being pulled from the document properties rather than the metadata shown in the SharePoint library.
read moreGet Library Drive Id using Power Automate
When using Power Automate with Excel for Business actions, the drive ID for a library is automatically determined. However, if you deploy a Power Automate solution across different environments and use a library as a datasource environment variable, referencing this variable in the flow can result in an error due to an invalid drive ID.
Referencing the variable in the Power Automate flow, it will throw an error message failing to work our the drive id of the library.
read moreRemove Expired Sharing Links and Update Sharing Link Role to Read
Updating the expiration time and role for sharing links is still limited. Although it seems possible through the Graph API Update permission, I have been unable to pass the roles as body parameters.
Graph Explorer Attempts Using the following script:
Invoke-PnPGraphMethod -Url "v1.0/drives/$driveId/items/$driveItemId/permissions/$($ShareLink.Id)" -Method Patch -Content @{ roles = @("read") } threw the error message
“Invalid input: No Information provided to update the specifed permission”
From the UI Anyone link can’t be edited Organisation link can’t be edited Specific people links can be edited Using the network tab from the browser developer tools enables identifying the endpoint to update specific people links only.
read more