Please do not commit changes to this file, it is maintained by the repo owner.
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Fixed
Get-PnPGroupMember -Usernot properly returning the specified user. - Removed
Add-PnPClientSidePageas that was marked deprecated. UseAdd-PnPPageinstead. - Added optional
-ScheduledPublishDateparameter toAdd-PnPPageandSet-PnPPageto allow for scheduling a page to be published. - Added
-RemoveScheduledPublishtoSet-PnPPageto allow for a page publish schedule to be removed. - Added support for off peak SharePoint Syntex content classification and extraction for lists and folders via new
-OffPeakand-Folderparameters forRequest-PnPSyntexClassifyAndExtract - Fixed an issue where
Set-PnPPagewould not be able to find a page if you would start the-Identitywith a forward slash - Fixed an issue where
Set-PnPPagewould not return its parent Folder - Improved
Get-PnPFilecmdlet to handle large file downloads. - Added support for off peak SharePoint Syntex content classification and extraction for lists and folders via new
-OffPeakand-Folderparameters forRequest-PnPSyntexClassifyAndExtract. - Fix
Set-PnPListItemnot working when usingLabelandValuesparameters together. - Updated
Sync-PnPSharePointUserProfilesFromAzureActiveDirectoryto also allow results fromGet-PnPAzureADUser -Deltato be provided through-Users
- Koen Zomers [koenzomers]
- Bert Jansen [jansenbe]
- Gautam Sheth [gautamdsheth]
- [reusto]
- Added flexibility to mix and pipe
Add\Get\Remove-PnPListItemwithGet-PnPList - Added ability to remove all list items from a list using
Remove-PnPListItem -List <listname>and not providing a list item identifier. - Added
Get-PnPMessageCenterAnnouncent,Get-PnPServiceCurrentHealthandGet-PnPServiceHealthIssuecmdlets which pull their data out of the Microsoft Graph API and are replacing the formerGet-PnPOffice365CurrentServiceStatus,Get-PnPOffice365HistoricalServiceStatusandGet-PnPoffice365ServiceMessagecmdlets which pull their data from the Office Health and Communications API which is to be deprecated on December 17, 2021. If you're using any of these last three cmdlets, please rewrite your functionality to start using one of the first three cmdlets before this date. - Fixed
Get-PnPChangeLog -Nightlynot returning anything - Added option which allows new SharePoint 2013 Workflow creation to be disabled tenant wide by using
Set-PnPTenant -StopNew2013Workflowsand requesting its current setting usingGet-PnPTenant | Select StopNew2013Workflows - Fixed issue with
Get-PnPUser -Identity xignoring additional requested attributes using-Includes - Added lots of extra information getting returned when using
Get-PnPFlow. - Removed
ConvertTo-PnPClientSidePagecmdlet as it has been replaced byConvertTo-PnPPage - Added option which allows the Explorer View for Microsoft Edge to be enabled tenant wide by using
Set-PnPTenant -ViewInFileExplorerEnabledand requesting its current setting usingGet-PnPTenant | Select ViewInFileExplorerEnabled. It can be that this option is not enabled yet on your tenant in which case trying to set it results in toSet-PnPTenant: The requested operation is part of an experimental feature that is not supported in the current environment.. In that case try again later. - Fixed issue with
Set-PnPDefaultColumnValues -List "Documents" -Folder "Földer" -Field "Text" -Value "123"not working when having a folder name with special characters in it. - Fixed
Get-PnPExceptionthrowing an exception and not showing the last exception if the last cmdlet throwing an exception used-ErrorAction Stop - Fixed
Get-PnPException -Allthrowing an exception. - Fixed an issue with
Set-PnPSite -Identity <url> -Owner <upn>not working if the URL would be a OneDrive for Business site. - Renamed
Get-PnPFlowEnvironmenttoGet-PnPPowerAutomateEnvironment - Added lots of extra information getting returned when using
Get-PnPPowerPlatformEnvironment - Added the option to use
-VerbosewithExport-PnPFlowso it wil show details on why an export failed when it is not possible to export the flow. - Removed
Add-PnPUserToGroupas it has been replaced byAdd-PnPGroupMember - Fixed an issue with
Get-PnPSiteScriptFromWebrequiring an Include parameter next to providing lists and fixed specifying lists through List\ListName not working. - Changed
Get-PnPSiteScriptFromWebto get a site script of the currently connected to site if-Urlis omitted. - Improved
Find-PnPFileerror message. - Removed
Get-PnPGroupMemberscmdlet alias and related warning. The cmdletGet-PnPGroupMember(singular) is available. - Removed
Remove-PnPUserFromGroupcmdlet alias and related warning. The cmdletRemove-PnPGroupMemberis available. - Removed
Initialize-PnPPowerShellAuthenticationcmdlet alias and related warning. The cmdletRegister-PnPAzureADAppis the replacement. Get-PnPFileVersioncmdlet documentation improved with additional example.Add-PnPNavigationNodecmdlet documentation improved with additional example feature which shows how to add a navigation node as a label.- Added option to add/list/remove event receivers from the site scope using
Add-PnPEventReceiver -Scope <Site/Web>,Get-PnPEventReceiver -Scope <All/Site/Web>andRemove-PnPEventReceiver -Scope <All/Site/Web> - Added
-Urlparameter toNew-PnPUPABulkImportJobwhich allows providing a URL to an existing SharePoint User Profile import mapping instruction file stored on SharePoint Online - Fixed an issue with several PnP PowerShell cmdlets such as
Get-PnPTeamsUserwhere not all results would be returned - Added
Add-PnPSiteDesignFromWebwhich combinesGet-PnPSiteScriptFromWeb,Add-PnPSiteScriptandAdd-PnPSiteDesigninto one cmdlet to allow for a specific site to directly be added as a site design to allow other sites to be configured similarly - Added
Update-PnPSiteDesignFromWebwhich combinesGet-PnPSiteScriptFromWebandSet-PnPSiteScriptinto one cmdlet to allow for a specific site design to directly be updated based on an existing site which can function as a template - Changed
Get-PnPSiteDesignandInvoke-PnPSiteDesignto when providing a name through-Identityto be able to work with all site designs having that same name instead of just the first one - Fixed unable to piping the output of
Get-PnPRoleDefinitionto i.e. filter by RoleTypeKind. - Changed
Set-PnPListItemPermissionto support piping in a roledefinition for-AddRoleand-RemoveRole - Added
Sync-PnPSharePointUserProfilesFromAzureActiveDirectorycmdlet which allows direct synchronization of user profile properties of choice between user profiles in Azure Active Directory and their SharePoint Online User Profile Service user profile equivallents - Fixed issue with
Remove-PnPSiteDesign -Identitynot accepting a site design name, only a GUID. - Fixed issue with
Get-PnPUPABulkImportStatuswhere it did not allow you to pipe its output to i.e. get the most recent one usingSelect -Latest 1or the ones that failed using? State -ne "Succeeded"
- Koen Zomers [koenzomers]
- Yuriy Samorodov [YuriySamorodov]
- Asad Refai [asadrefai]
- James Eccles [jameseccles]
- Giacomo Pozzoni [jackpoz]
- Todd Klindt [ToddKlindt]
- Rolands Strakis [wonderplayer]
- Bhishma Bhandari [bhishma]
- [reusto]
- [4ndri]
- [WimVandierendonck]
- Updated CSOM release
- Fixes issue with Get-PnPTenantSite
- Get-PnPPage now can load pages living in a folder by specifying "folder/page.aspx"
- Added
-DisableBackToClassicoption to Set-PnPTenant
- [thomassmart]
- Bert Jansen [jansenbe]
- Added
Request-PnPSyntexClassifyAndExtractcmdlet to request classification and extraction of a file or all files in a list - Added
Get-PnPSyntexModelcmdlet to list the defined SharePoint Syntex models in a SharePoint Syntex content center site - Added
Publish-PnPSyntexModelcmdlet to publish a SharePoint Syntex model to a library - Added
Unpublish-PnPSyntexModelcmdlet to unpublish a SharePoint Syntex model from a library - Added
Get-PnPSyntexModelPublicationcmdlet to list the libraries to which a SharePoint Syntex model was published
- Bert Jansen [jansenbe]
- Koen Zomers [koenzomers]
- Gautam Sheth [gautamdsheth]
- Veronique Lengelle [veronicageek]
- Added
-IncludeOwnerstoGet-PnPMicrosoft365Group. - Added
-AssignedTotoAdd-PnPPlannerTaskandSet-PnPPlannerTaskallowing you to assign users to a task. - Added
Get-PnPAzureADApp,Get-PnPAzureADAppPermissionandRemove-PnPAzureADAppto manage Azure AD apps. - Added All Graph permissions and all SharePoint permissions for selection to
Register-PnPAzureADApp. - Added
-Templateparameter to New-PnPTeamsTeam to create teams with EDU templates (your tenant needs an EDU license) - Added fixes for authentication to GCC, GCC High and GCC DoD environments using certificate or interactive login.
- Added
Grant-PnPAzureADAppSitePermission,Get-PnPAzureADAppSitePermission,Set-PnPAzureADAppSitePermissionandRevoke-PnPAzureADAppSitePermission - Added
-SkipHiddenWebPartsparameter to theConvertTo-PnPPagecmdlet that allows to skip hidden webparts during page transformation
- Improved batching speed when creating or updating multiple items that set similar values for taxonomy fields.
- Changed
Register-PnPAzureADAppregistration to by default turn on the ability to authenticate with credentials for a newly created Azure App registration (allowPublicClient: true). - Refactored
Register-PnPAzureADApp. Marked-Scopesas obsolete and introduced-GraphApplicationPermissions,-GraphDelegatePermissions,-SharePointApplicationPermissionsand-SharePointDelegatePermissions. Added additional permission scopes. - Re-enabled Console Logging with Set-PnPTraceLog -On
- Fixed warning showing to use -Interactive instead of -UseWebLogin to show correct url.
- Documentation updates
- Mahesh Chintha [chinthamahesh]
- John Bontjer [JohnBontjer]
- Todd Klindt [ToddKlindt]
- Koen Zomers [koenzomers]
- Veronique Lengelle [veronicageek]
- Mike Jensen [michael-jensen]
- Leon Armston [leonarmston]
- Ganesh Sanap [ganesh-sanap]
- vin-ol [vin-ol]
- Bert Jansen [jansenbe]
- Added
-HideTitleInHeaderparameter toSet-PnPWebto hide or show the title in the header. Use-HideTitleInHeaderto hide it and-HideTitleInHeader:$falseto show it. - Added
-ShowContentUrlparameter toRegister-PnPManagementShellAccessretrieve the url to consent to the PnP Management Shell application by an administrator. - Added
-IsFavoriteByDefaultparameter on Set-PnPTeamsChannel and Add-PnPTeamsChannel - Added
-GroupIdDefinedboolean parameter to Get-PnPTenantSite to allow filtering on sites which belong to a Microsoft 365 Group - Added
-Interactivelogin option toConnect-PnPOnlinewhich is similar to-UseWebLoginbut without the limitations of the latter. The-UseWebLoginis using cookie based authentication towards SharePoint and cannot access Graph tokens. Using-Interactivewe use Azure AD Authentication and as a result we are able to acquire Graph tokens.
- Fixed certificate clean up issue on Windows platform when using
Connect-PnPOnlinewith a certificate. - Fixed issues with
Register-PnPAzureADAppwhen using the various auth options (-DeviceLogin / -Interactive) - Renamed the
-PnPManagementShelloption to-DeviceLoginonConnect-PnPOnline.-PnPManagementShellis still available as an alias. - Added
-ClientIdoption to-DeviceLoginallowing device code authentication with custom app registrations. - Changed
-Urlparameter on Get-PnPTenantSite and Set-PnPTenantSite to-Identity. Made-Urlavailable as an alias. - Updated
Set-PnPTenantSiteto support same parameters asSet-SPOSite - Updated
Get-PnPTenantSiteto return same properties asGet-SPOSite - Fixed issue where
-InteractiveonConnect-PnPOnlinewould prompt for credentials when connecting to new site within same tenant. Added -ForceLogin parameter to force - Get-PnPUser and any other cmdlet that takes a UserPipeBind parameter as input now allows users to be specified by name besides loginname or id.
- Fixed issue where retrieving a single site with Get-PnPTenantSite vs retrieving all sites showed different properties.
- Invoke-PnPSPRestMethod now returns usable objects
- Updated
Set-PnPListItemto have anUpdateTypeparameter. ObsoletedSystemUpdate. Also updated the backend logic so can now also specifyUpdateOverwriteVersionto update the editor, author, modified and created fields. Register-PnPAzureADAppnow outputs the base64 encoded version of the certificate which can be used withConnect-PnPOnline -ClientId -CertificateBase64Encoded- Fixed issue with moving and copying files to subfolder, Issue #165.
- fixed issue where Get-PnPTenantSite was not returning all properties correct, Issue #151
- Added
-Interactivelogin option to Register-PnPManagementApp which allows for an interactive authentication flow not using device login for environments that require Multi-Factor Authentication. - Updated all Microsoft365Group cmdlets to only load the SiteUrl of the underlying Microsoft 365 Group where required. This means that
Get-PnPMicrosoft365Group -Identitywill not by default load the site url. Specify-IncludeSiteUrlto include it.
- Mike Jensen [michael-jensen]
- Koen Zomers [koenzomers]
- Gautam Sheth [gautamdsheth]
- Todd Klindt [ToddKlindt]
- Giacomo Pozzoni [jackpoz]
- Added
-NoWaitswitch toCopy-PnPFileandMove-PnPFile - Added
Receive-PnPCopyMoveJobStatuscmdlet which works in combination with the-NoWaitparameter onCopy-PnPFileandMove-PnPFile. See the documentation for usage.
- Fixed issue with
Invoke-PnPSPRestMethodto throw an non authorized exception in certain scenarios. - Fixed issue with using
-UseWebLoginand site names longer than the length of the managed path it resides in. - Fixed issue with tenant admin site detection on environment with vanity domains
- Fixed issues with
Copy-PnPFileandMove-PnPFile - Updated
Get-PnPTenantSiteto support-DisableSharingForNonOwnersStatus
- Added
-NoWaitswitch toCopy-PnPFileandMove-PnPFile - Added
Receive-PnPCopyMoveJobStatuscmdlet which works in combination with the-NoWaitparameter onCopy-PnPFileandMove-PnPFile. See the documentation for usage.
- Fixed issue with
Invoke-PnPSPRestMethodto throw an non authorized exception in certain scenarios. - Fixed issue with using
-UseWebLoginand site names longer than the length of the managed path it resides in.
- Fixed issue with tenant admin site detection on environment with vanity domains
- Fixed issues with
Copy-PnPFileandMove-PnPFile - Updated
Get-PnPTenantSiteto support-DisableSharingForNonOwnersStatus
First released version of PnP PowerShell
- Added
Get-PnPFlow,Get-PnPFlowEnvironment,Enable-PnPFlow,Disable-PnPFlow,Remove-PnPFlow,Export-PnPFlowcmdlets
- Documentation updates
- Yannick Reekmans [YannickRe]
- Reintroduced
-CertificateBase64EncodedonConnect-PnPOnline
- Reorganized Connect-PnPOnline and simplified/cleared up usage. See https://pnp.github.io/powershell/cmdlets/connect-pnponline.html and https://pnp.github.io/powershell/articles/connecting.html for more information.
- Reorganized internals with regards to access token handling.
- Fixed issue with
Set-PnPGroupPermissionsnot removing roles from list correctly.
- Leon Armston [leonarmston]
- Koen Zomers [koenzomers]
- Updated certificate handling for
Register-PnPAzureADAppandNew-PnPAzureCertificate - Updated
Register-PnPAzureAppto use popup windows on Microsoft Windows. Added the-NoPopupswitch to disable this behavior. - Updated
Invoke-PnPBatchto fully execute a batch by default if one of the requests in the large batch throws an exception. Specify the-StopOnExceptionswitch to immmediately stop after an exception occurs. The rest of the batch will be skipped where possible. See https://pnp.github.io/powershell/articles/batching for more information. - Documentation updates
- Leon Armston [leonarmston]
- Added -ClientSideHostProperties to
Set-PnPApplicationCustomizer - Documentation updates for Teams cmdlets
- Leon Armston [leonarmston]
- Added batching support to
Remove-PnPListItem
- Added initial batching support. See
New-PnPBatch,Invoke-PnPBatch,Add-PnPListItemandSet-PnPListItem - Updated documentation
- Deprecated the use of the
-Webcmdlet parameters due to API reasons. UseConnect-PnPOnline -Url [fullsubweburl]instead to connect to a subweb. - Updated
Get-PnPLabelto allow returning available compliance tags for a site - Updated several cmdlets to use the Code SDK behind the scenes
- Veronique Lengelle [veronicageek]
- Leon Armston [leonarmston]
- Added
Get-PnPListPermissionscmdlet.
- Fixed issue where using
Connect-PnPOnlinein a loop would through after several iterations an exception message from MSAL not being able to retrieve a token due to a looped request. We fixed this by trying to reuse the in-memory token cache in scenarios where non-interactive logins are being used. Connect-PnPOnline -Url [url] -PnPManagementShell -LaunchBrowserwill not try to attempt to close the popup window automatically anymore.Set-PnPLabelwill now check first if a label is available.- Documentation fixes
- Leon Armston [leonarmston]
- Bhishma Bhandari [bhishma]
- Renamed
Add-PnPUserToGrouptoAdd-PnPGroupMember. Alias for the old cmdlet name is available. - Renamed
Remove-PnPUserFromGrouptoRemove-PnPGroupMember. Alias for the old cmdlet name is available. - Renamed
Get-PnPGroupMemberstoGet-PnPGroupMember. Alias for the old cmdlet name is available.
- Fixed issue when using
Connect-PnPOnlineusing either-UseWebLoginor-SPOManagementShelland invoking a site template containing modern pages, or when trying to create or update modern pages using the PnP Cmdlets.
Register-PnPManagementShellAccesswill not automatically close the window after consent anymore.Connect-PnPOnline -UseWebLoginnow allows you to return the connection with-ReturnConnectionPR #71Remove-PnPTermGroupnow includes a-Forceparameter PR #70Get-PnPListItemnow can filter on both the GUID or the UniqueId value by specifying the -UniqueId parameter. PR #68
- Gautam Sheth [gautamdsheth]
- Added
-ReadSecurityand-WriteSecuritytoSet-PnPListcmdlet (0.3.15)
- Renamed
Add-PnPClientSidePagetoAdd-PnPPage(0.3.15) - Renamed
Add-PnPClientSidePageSectiontoAdd-PnPPageSection(0.3.15) - Renamed
Add-PnPClientSideTexttoAdd-PnPPageTextPart(0.3.15) - Renamed
Add-PnPClientSideWebtoAdd-PnPPageWebPart(0.3.15) - Renamed
Export-PnPClientSidePagetoExport-PnPPage(0.3.15) - Renamed
Export-PnPClientSidePageMappingtoExport-PnPPageMapping(0.3.15) - Deprecated
Get-AvailableClientSidePageComponents. UseGet-PnPPageComponents -Page <yourpage> -ListAvailable(0.3.15) - Renamed
Get-PnPClientSidePageComponentstoGet-PnPPageComponents(0.3.15) - Renamed
Get-PnPClientSidePagetoGet-PnPPage(0.3.15) - Renamed
Move-PnPClientSidePageComponenttoMove-PnPPageComponent(0.3.15) - Renamed
Remove-PnPClientSidePagetoRemove-PnPPage(0.3.15) - Renamed
Remove-PnPClientSideComponenttoRemove-PnPPageComponent(0.3.15) - Renamed
Save-PnPClientSidePageConversionLogtoSave-PnPPageConversionLog(0.3.15) - Renamed
Set-PnPClientSidePagetoSet-PnPPage(0.3.15) - Renamed
Set-PnPClientSideTexttoSet-PnPPageTextPart(0.3.15) - Renamed
Set-PnPClientSideWebParttoSet-PnPPageWebPart(0.3.15) - Removed '-Url' parameter from
Set-PnPWebPermission. Use-Identityinstead. (0.3.13) - Renamed
Get-PnPSubWebstoGet-PnPSubWebwhich is in line with PowerShell naming standards which state that cmdlets should use a singalar noun. Alias forGet-PnPSubWebsis available. (0.3.13) Register-PnPManagementShellAccessnow uses a popup window to authenticate you when your run the cmdlet on Windows (0.3.10)- Breaking change: we changed
Grant-PnPTenantServicePrincipalPermissionandRevoke-PnPTenantServicePrincipalPermissionto use the Graph behind the scenes. This is a breaking change when it comes to the required permissions, but the new approach is more future proof. (0.3.8) - Refactored internal code to use hardcoded PnP prefixes for cmdlets, which allows $PSDefaultParameterValues in PowerShell to work as expected. (0.3.7)
- Added
-HeaderLayoutTypeparameter toSet-PnPClientSidePage(0.3.6) - Fixed documentation for
Clear-PnPRecycleBinItem(0.3.6) - Fixed issue with
Invoke-PnPTenantTemplatenot being able to acquire correct access token (0.3.6) - Added
GrouplessTeamSiteoption to-WebTemplateparameter forAdd-PnPSiteDesignandSet-PnPSiteDesign(0.3.6)
- Gautam Sheth [gautamdsheth]
- Todd Klindt [toddklindt]
- Michael Jensen [michael-jensen]
- Frank Potrafky [FPotrafky]
- Veronique Lengelle [veronicageek]
- James May [fowl2]
- Added
Convert-PnPSiteTemplateToMarkdownto convert an existing XML based template to a markdown report. Notice that this is work in progress and the functionality will increase. See also the 'Changed' section below for information aboutGet-PnPSiteTemplate(0.3.5) - Added
-UseWebloginand-ForceAuthenticationtoConnect-PnPOnlineto allow using Multi-Factor Authentication. Notice this uses cookie based authentication, which is limited in its functionality. Using -UseWebLogin we will for instance not be able to acquire an access token for the Graph, and as a result none of the Graph related cmdlets will work. Also some of the functionality of the provisioning engine (Get-PnPSiteTemplate,Get-PnPTenantTemplate,Invoke-PnPSiteTemplate,Invoke-PnPTenantTemplate) will not work because of this reason. The cookies will in general expire within a few days and if you use-UseWebLoginwithin that time popup window will appear that will dissappear immediately, this is expected. Use-ForceAuthenticationto reset the authentication cookies and force a new login. (0.2.25) - Allowed to specify -ClientId when logging in with credentials so people can use their own Azure AD apps and credentials for authentication towards SharePoint Online (0.2.17)
- Added environment variable check (set
PNPPOWERSHELL_UPDATECHECKtoOff) to Connect-PnPOnline to skip version check if set. (0.2.15) - Added
Get-PnPChangeLogcmdlet which returns this changelog. (0.2.14) - Added
-DeviceLoginparameter toRegister-PnPAzureADApp(renamed from Initialize-PnPPowerShellAuthentication in 0.2.15) which allows for users with MFA to setup a custom app (0.2.12) - Added
NoVersionCheckoptional flag toConnect-PnPOnlinePR#28 (0.2.9) - Added native support for Secret Management Modules (0.1.34)
- Marked -ExcludeSiteUrl as obselete on
Get-PnPMicrosoft365Groupfor performance reasons. Use -IncludeSiteUrl instead. - Added -CloudShell switch to
Connect-PnPOnlinewhich can be used in the Azure Cloud Shell. If specified you will automatically authenticate using the current identity you're logged in with to the Azure Cloud Shell. Notice: only Graph based cmdlets (Teams, Microsoft Groups etc.) will function. For SharePoint connectivity use one of the other connection options withConnect-PnPOnline. - Added -DisableCustomAppAuthentication to
Set-PnPTenantand added support for DisableCustomAppAuthentication inGet-PnPTenant.
- Added
Add-PnPHubToHubAssociationcmdlet. - Added
Export-PnPUserInfocmdlet. - Added
Add-PnPSiteScriptPackagecmdlet. - Added
Export-PnPUserProfilecmdlet (0.1.6). - Added
Get-PnPAppErrorscmdlet (0.1.6) - Added
Get-PnPAppInfocmdlet (0.1.6) - Added
Get-PnPBrowserIdleSignOutcmdlet (0.1.6) - Added
Set-PnPBrowserIdleSignOutcmdlet (0.1.6) - Added
Get-PnPBuiltInDesignPackageVisibilitycmdlet (0.1.6) - Added
Set-PnPBuiltInDesignPackageVisibilitycmdlet (0.1.7) - Added
Get-PnPExternalUsercmdlet (0.1.7) - Added
Remove-PnPExternalUsercmdlet (0.1.7) - Added
Get-PnPSiteCollectionAppCatalogscmdlet (0.1.7) - Added
Request-PnPPersonalSitecmdlet (0.1.7) - Added
Get-PnPSiteGroupcmdlet (0.1.8) - Added
Get-PnPSiteUserInvitationscmdlet (0.1.8) - Added
Invoke-PnPSiteSwapcmdlet (0.1.8) - Added
New-PnPSdnProvidercmdlet (0.1.8) - Added
Remove-PnPSdnProvidercmdlet (0.1.8) - Added
Remove-PnPHubToHubAssocationcmdlet (0.1.9) - Added
Remove-PnPSiteUserInvitationscmdlet (0.1.9) - Added
Remove-PnPTenantSyncClientRestrictioncmdlet (0.1.9) - Added
Remove-PnPUserInfocmdlet (0.1.9) - Added
Remove-PnPUserProfilecmdlet (0.1.9) - Added
Repair-PnPSitecmdlet (0.1.9) - Added
Test-PnPSitecmdlet (0.1.9) - Added
Revoke-PnPUserSessioncmdlet (0.1.9) - Added
New-PnPSiteGroupcmdlet (0.1.9) - Added
Remove-PnPSiteGroupcmdlet (0.1.9) - Added
Set-PnPSiteGroupcmdlet (0.1.9) - Added
Set-PnPSiteScriptPackagecmdlet (0.1.9) - Added
Update-PnPUserTypecmdlet (0.1.9) - Added
Get-SPOStructuralNavigationCacheSiteStatecmdlet (0.1.10) - Added
Get-SPOStructuralNavigationCacheWebStatecmdlet (0.1.10) - Added
Set-SPOStructuralNavigationCacheSiteStatecmdlet (0.1.10) - Added
Set-SPOStructuralNavigationCacheWebStatecmdlet (0.1.10) - Added
Add-PnPTermToTermcmdlet (0.1.11) - Added
Get-PnPTermLabelcmdlet (0.1.11) - Added
Remove-PnPTermLabelcmdlet (0.1.11) - Added
Remove-PnPTermcmdlet (0.1.11) - Added
Set-PnPTermcmdlet (0.1.11) - Added
Add-PnPPlannerBucketcmdlet (0.1.16) - Added
Add-PnPPlannerTaskcmdlet (0.1.16) - Added
Get-PnPPlannerBucketcmdlet (0.1.16) - Added
Get-PnPPlannerPlancmdlet (0.1.16) - Added
Get-PnPPlannerTaskcmdlet (0.1.16) - Added
New-PnPPlannerPlancmdlet (0.1.16) - Added
Set-PnPPlannerBucketcmdlet (0.1.16) - Added
Set-PnPPlannerPlancmdlet (0.1.16) - Added
Remove-PnPPlannerBucketcmdlet (0.1.17) - Added
Remove-PnPPlannerPlancmdlet (0.1.17) - Added
Remove-PnPPlannerTaskcmdlet (0.1.17) - Added
Set-PnPPlannerTaskcmdlet (0.1.18)
- Added filename support for .md file with
Get-PnPSiteTemplateto generate a markdown file. e.g. you can now execute for instanceGet-PnPSiteTemplate -Out .\myreport.md -Handlers Lists,ContentTypes,Features,WebSettingsto generate an markdown report of those artifacts. This is work in progress. - Fixed issue with
-UseWebLoginthrows a 403 error when connecting to a different site collection than the root site collection. - Removed
Enable-PnPPowerShellTelemetryandDisable-PnPPowerShellTelemetry. See Configure PnP PowerShell for more information on how to enable or disable telemetry collection (0.2.22) - Obsoleted
-NoTelemetryand-NoVersionCheckonConnect-PnPOnline. You can set these as environment variables now. See Configure PnP PowerShell for more information (0.2.22) - Updated telemetry handling. If the environment variable
PNPPOWERSHELL_DISABLETELEMETRYis set totrue, no telemetry will be recorded. If the .pnppowershelltelemetry file is present in the home folder of the user then the the contents of this file will override the environment variable settings. SeeEnable-PnPPowerShellTelemetryandDisable-PnPPowerShellTelemetryto manage this file. (0.2.21) - Renamed
-CloudShellto-ManagedIdentityonConnect-PnPOnline(0.2.20) -CertificatePathonConnect-PnPOnlinenow accepts a relative path (0.2.19)- Reintroduced
-SPOManagementShellas login option withConnect-PnPOnline(0.2.18) - Fixed issue where Connect-PnPOnline -Url [url] -AccessToken [token] is not creating an client context. (0.2.17)
- Renamed
Initialize-PnPPowerShellAuthenticationtoRegister-PnPAzureADApp(0.2.15) - Updated
Get-PnPAzureCertificateto work on Windows and Non-Windows OSes. (0.2.15) - Updated
Get-PnPAzureCertificateto use-Pathand-Passwordparameters instead of-CertificatePathand-CertificatePasswordparameters (0.2.15) - Fixed using
New-PnPAzureCertificateandGet-PnPAzureCertificatethrowing an exception PR #30 (0.2.15) - Updated
Initialize-PnPPowerShellAuthenticationso it can generate self-signed certs on other platforms than Windows. - Updated
Get-PnPUnifiedAuditLogto support paged results. - Removed SiteUrl parameter from
Register-PnPManagementShellas it is not required anymore - Fixed documentation on Add-PnPTeamsChannel PR#9
- Fixed documentation on Remove-PnPTeamsUser PR#10
- Renamed
Apply-PnPProvisioningTemplatetoInvoke-PnPSiteTemplate. - Renamed
Get-PnPProvisioningTemplatetoGet-PnPSiteTemplate. - Renamed
Add-PnPDataRowsToProvisioningTemplatetoAdd-PnPDataRowsToSiteTemplate. - Renamed
Add-PnPFileToProvisioningTemplatetoAdd-PnPFileToSiteTemplate. - Renamed
Add-PnPListFoldersToProvisioningTemplatetoAdd-PnPListFoldersToSiteTemplate. - Renamed
Convert-PnPFolderToProvisioningTemplatetoConvert-PnPFolderToSiteTemplate. - Renamed
Convert-PnPProvisioningTemplatetoConvert-PnPSiteTemplate. - Renamed
Export-PnPListToProvisioningTemplatetoExport-PnPListToSiteTemplate. - Renamed
New-PnPProvisioningTemplatetoNew-PnPSiteTemplate. - Renamed
New-PnPProvisioningTemplateFromFoldertoNew-PnPSiteTemplateFromFolder. - Renamed
Read-PnPProvisioningTemplatetoRead-PnPSiteTemplate. - Renamed
Remove-PnPFileFromProvisioningTemplatetoRemove-PnPFileFromSiteTemplate. - Renamed
Save-PnPProvisioningTemplatetoSave-PnPSiteTemplate. - Renamed
Set-PnPProvisioningTemplateMetadatatoSet-PnPSiteTemplateMetadata. - Renamed
Add-PnPProvisioningTemplatetoAdd-PnPSiteTemplate. - Renamed
Apply-PnPTenantTemplatetoInvoke-PnPTenantTemplate. - Removed
Get-PnPAppInstance. UseGet-PnPAppinstead. - Removed
Import-PnPAppPackage. UseInstal-PnPAppinstead. - Removed
Uninstall-AppInstance. UseUninstall-PnPAppinstead. - Removed
Get-PnPHealthScoreas the value reported is only applicable to on-premises. - Removed
-MinimalHealthScorefromConnect-PnPOnlineas the value reported from the server only applies to on-premises. - Removed
-SkipTenantAdminCheckfromConnect-PnPOnline. Check will be executed everytime where applicable. - Removed Obsolete parameter
-FromRecycleBinfromRemove-PnPTenantSite. UseClear-PnPTenantRecycleBinIteminstead. - Removed
-UserCodeMaximumLeveland-UserCodeWarningLevelfromSet-PnPTenantSite: sandboxed solutions have been deprecated from SharePoint Online and these values are not applicable anymore. - Removed
-Outparameter onNew-PnPAzureCertificate. Use-OutPfxinstead. - Removed
Enable-PnPResponsiveUIandDisable-PnPResponsiveUI. - Removed
Disable-PnPInPlaceRecordsManagementForSite. UseSet-PnPInPlaceRecordsManagement -Enabled $false. - Removed
Enable-PnPInPlaceRecordsManagementForSite. UseSet-PnPInPlaceRecordsManagement -Enabled $true. - Removed
Measure-PnPResponseTime. Use Fiddler for more detailed data instead. - Removed
-Identityfrom Get-PnPAvailableLanguage as it does not apply to SharePoint Online. - Removed
Get-PnPManagementApiAccessTokenandGet-PnPOfficeManagementApiAccessTokencmdlets. Use Connect-PnPOnline instead with either the -Scopes parameter and other optional parameters - Removed alias
Connect-PnPHubsite. UseAdd-PnPHubSiteAssociation. - Removed alias
Disconnect-PnPHubSite. UseRemove-PnPHubSiteAssociation. - Removed alias
Add-PnPOffice365GroupToSite. UseAdd-PnPMicrosoft365GroupToSite. - Removed alias
Add-PnPUnifiedGroupMember. UseAdd-PnPMicrosoft365GroupMember. - Removed alias
Add-PnPUnifiedGroupOwner. UseAdd-PnPMicrosoft365GroupOwner. - Removed alias
Clear-PnPUnifiedGroupMember. UseClear-PnPMicrosoft365GroupMember. - Removed alias
Clear-PnPUnifiedGroupOwner. UseClear-PnPMicrosoft365GroupOwner. - Removed alias
Get-PnPDeletedUnifiedGroup. UseGet-PnPDeletedMicrosoft365Group. - Removed alias
Get-PnPUnifiedGroup. UseGet-PnPMicrosoft365Group. - Removed alias
Get-PnPUnifiedGroupMembers. UseGet-PnPMicrosoft365GroupMembers. - Removed alias
Get-PnPUnifiedGroupOwners. UseGet-PnPMicrosoft365GroupOwners. - Removed alias
New-PnPUnifiedGroup. UseNew-PnPMicrosoft365Group. - Removed alias
Remove-PnPDeletedUnifiedGroup. UseRemove-PnPDeletedMicrosoft365Group. - Removed alias
Remove-PnPUnifiedGroup. UseRemove-PnPMicrosoft365Group. - Removed alias
Remove-PnPUnifiedGroupMember. UseRemove-PnPMicrosoft365GroupMember. - Removed alias
Remove-PnPUnifiedGroupOwner. UseRemove-PnPMicrosoft365GroupOwner. - Removed alias
Restore-PnPDeletedUnifiedGroup. UseRestore-PnPDeletedMicrosoft365Group. - Removed alias
Set-PnPUnifiedGroup. UseSet-PnPMicrosoft365Group. - Removed alias
Execute-PnPQuery. UseInvoke-PnPQuery. - Removed alias
Ensure-PnPFolder. UseResolve-PnPFolder. - Removed
Install-PnPSolution. Sandboxed solutions have been deprecated. - Removed
Add-PnPWorkflowDefinition,Add-PnPWorkflowSubscription,Get-PnPWorkflowDefinition,Get-PnPWorkflowInstances,Get-PnPWorkflowSubscription,Remove-PnPWorkflowDefinition,Remove-PnPWorkflowSubscription,Resume-PnPWorkflowInstance,Start-PnPWorkflowInstanceandStop-PnPWorkflowInstancedue to deprecated of the Workflow Services in SharePoint Online. - Renamed
Test-PnPOffice365AliasIsUsedtoTest-PnPMicrosoft365AliasIsUsed - Refactored some of the Taxonomy cmdlet parameters. See documentation.
- Change in
Copy-PnPFilewhich should resolve some issues you may run into when copying files PR #2796 - Fixed several issues with
Get-PnPSubwebsand added optional parameter-IncludeRootWebPR #3011
- Koen Zomers [koenzomers]
- Carlos Marins Jr [kadu-jr]
- Aimery Thomas [a1mery]
- Veronique Lengelle [veronicageek]