powershell
2216 TopicsHow to Use Scoped Graph Permissions to Access SharePoint Files
Scoped permissions grant apps granular access to files and folders in SharePoint Online and OneDrive for Business sites using the Files.SelectedOperations.Selected Graph permission. The permission allows apps to access specific files or all the files in a folder. It’s a great way to make sure that apps don’t have unfettered access to confidential documents. Not that any app would try to have that kind of access… https://office365itpros.com/2026/02/18/scoped-access-files-and-folders/14Views0likes0CommentsPrimer: How to Use RBAC for Applications to Control App Use of the Mail.Send Permission
The temptation to use the Mail.Send application permission in scripts can lead PowerShell developers into trouble because the permission allows access to all mailboxes, including sensitive executive and financial mailboxes. Fortunately, RBAC for Applications allows tenants to control the access that apps have to mailboxes and other Exchange content. All explained here with an example script to test RBAC of Applications. https://office365itpros.com/2026/02/17/mail-send-rbac-for-applications/37Views2likes4CommentsExchange Online PowerShell Dumps the Credential Parameter
On February 12, Microsoft announced the deprecation of the Credential parameter for the Connect-ExchangeOnline cmdlet in the Exchange Online PowerShell module. The deprecation won’t affect interactive sessions (which should all be protected by MFA), but it might stop some background jobs running when Microsoft retires the server components that currently support the ROPC authentication flow. Time to check scripts! https://office365itpros.com/2026/02/16/exchange-online-powershell-ropc/41Views0likes0CommentsHow to Deactivate an Entra ID Application
This article explores how to deactivate applications (aka disable apps) in Entra ID. Everything is done through PowerShell and the Microsoft Graph PowerShell SDK because the feature isn’t currently available in the Entra admin center. We’ve even included a fully functional example script to show you how the process works. Feel free to fix or enhance our code in GitHub! https://office365itpros.com/2026/02/11/deactivate-application-entra/34Views0likes0CommentsDocument libraries added programmatically as tabs to Shared Channels are not visible
With the recent Teams UX updates, any document libraries added programmatically to Shared Channels no longer appear in the Teams interface even though they do show up when queried through PowerShell. Following the guidance in https://learn.microsoft.com/en-us/graph/teams-configuring-builtin-tabs%22https://learn.microsoft.com/en-us/graph/teams-configuring-builtin-tabs%22https://learn.microsoft.com/en-us/graph/teams-configuring-builtin-tabs%22https://learn.microsoft.com/en-us/graph/teams-configuring-builtin-tabs%22as well as the approaches I outlined in my blog post https://reshmeeauckloo.com/posts/powershell-teams-add-documentlibrary-as-tab/%22https://reshmeeauckloo.com/posts/powershell-teams-add-documentlibrary-as-tab/%22 using Microsoft Graph or PnP PowerShell, the tabs still fail to surface in the new Teams experience. The behaviour is inconsistent: The same tab‑creation methods work perfectly in standard channels. They also work for users who haven’t yet received the new Teams UX. And if the document libraries are added manually, they appear as expected in shared channels. At the moment, I’m trying to determine whether there is a supported way to add document library tabs to shared channels programmatically so that they remain visible in the new Teams interface. Any insights or confirmed workarounds would be appreciated.48Views0likes0CommentsHow to Report Adaptive Scope Membership
The Get-AdaptiveScopeMembers cmdlet reveals details of adaptive scope membership to make it possible to report this information programmatically. The task is not as simple as you might imagine. Summary records must be separated from member records, which can reflect add or remove operations. And there’s the question of pagination for large adaptive scope. All explained here with a PowerShell script to help. https://office365itpros.com/2026/02/09/adaptive-scope-membership/16Views0likes0CommentsFile Type Version Limits
Hi all, In trying to solve an old issue I stumbled across this new feature currently in preview and am wondering if the file type arrays will be editable or if new arrays could be or will be added? I have a handful of file types which do not need 100 versions, let alone a version every 2-5 minutes, requiring frequent culling... Ling. https://learn.microsoft.com/en-us/sharepoint/file-type-version-limits27Views0likes0CommentsCannot install PnP.Powershell
Something has changed recently I can no longer execute scripts that I had. So I decided to re-install various bits and pieces. When I come to install PnP.Powershell I get an error: 'WARNING: Unable to resolve package source 'https://www.powershellgallery.com/api/v2'.1.1KViews1like7CommentsHow get a report where "everyone except external users" group is used in my site collections
Hi all, I'm searching a way to get a report, via powershell, to all sites collections that “Everyone except external users” group is existing Someone could help me to build an efficient script? every suggestion is appreciated Massimo467Views0likes2CommentsTrimming SharePoint Version History - Minor Versions
Hello, I am a SharePoint Admin at my organization and I have been asked to reduce our total storage usage by reducing the number of versions and minor versions in our environment on all SharePoint sites. I have written a simple PowerShell script that loops through a csv file with site addresses, and runs this command per site -> New-SPOSiteFileVersionBatchDeleteJob -Identity $site.siteURL -MajorVersionLimit 100 -MajorWithMinorVersionsLimit 5 It was my understanding that for all sites in the csv file, for all document libraries on the site, and for all files in the libraries this command will reduce the file to the last 100 Major versions, and the last 5 minor versions of each major version. Unfortunately, this command is not actually reducing the minor versions. It is working with the Major versions just fine, but all minor versions are being retained for each major version retained. Is my understanding of this command wrong, or is it not working? Are there other factors to consider? Does anyone know of an alternative that can fit my needs? The overall plan is to trim the current version history, then apply the automatic version setting to each library in our tenant. Here is the MS guide I referenced, maybe I missed something -> https://learn.microsoft.com/en-us/sharepoint/tutorial-queue-a-trim-job Any help is greatly appreciated, Cam102Views1like1Comment