Skip to content

Releases: pnp/powershell

Release 1.12.0

10 Nov 17:21
9be73c3

Choose a tag to compare

[1.12.0]

Added

  • Added -DisableGridEditing option to Set-PnPList which allows gridview editing to be enabled or disabled on a list #2188
  • Added verbose logging for Invoke-PnPSiteSwap, Restore-PnPTenantSite and cmdlets which depend on SpoOperation. #2207
  • Added support for DisplayNamesOfFileViewers and DisplayNamesOfFileViewersInSpo properties in Get-PnPTenant and Set-PnPTenant cmdlets to show/hide viewers in property pane for a file. #2271
  • Added MailEnabled, PreferredDataLocation, PreferredLanguage and SecurityEnabled parameters to New-PnPMicrosoft365Group cmdlet. #2268
  • Added -DraftVersionVisibility parameter to the Set-PnPList cmdlet to specify draft item security for list items. #2285
  • Added support for -ErrorAction:Stop to PnP PowerShell cmdlets. Notice that if you were using this in combination with the specific try/catch [System.Management.Automation.PSInvalidOperationException], it will no longer catch the exception. It will throw an System.Management.Automation.ErrorRecord exception instead. Remove the -ErrorAction:Stop parameter from your cmdlet or catch this new exception type to avoid this behavior. #2288
  • Added ability to create shared Teams channels using Add-PnPTeamsChannel -ChannelType Shared #2308
  • Added support for IsLoopEnabled properties in Get-PnPTenant and Set-PnPTenant cmdlets to to enable/disable loop components in the tenant. #2307
  • Added support for SubscribeMembersToCalendarEventsDisabled resource behavior option in New-PnPMicrosoft365Group and New-PnPTeamsTeam cmdlet. #2349
  • Added -OneDriveRequestFilesLinkEnabled option to Set-PnPTenant to allow configuring the request files anonymously feature on the tenant level #2360
  • Added -RequestFilesLinkEnabled option to Set-PnPSite to allow configuring the request files anonymously feature on a per site collection level #2360
  • Added ScriptSafeDomainName option to Set-PnPSite to allow contributors to insert iframe from specified domains only. #2363
  • Added AlertTemplateName paramter to Add-PnPAlert to allow configuring the Alert Template type name in the email. #2362
  • Added Get-PnPAzureADActivityReportDirectoryAudit to retrieve the audit logs generated by Azure AD. #2095
  • Added -Path option to Set-PnPList which allows the url of a list to be changed within the same site #2381
  • Added -Force option to Set-PnPListem to force it to update a list item even without changing something. Can be useful in i.e. triggering a webhook. #2396
  • Added ImageUrl, PageImageAlignment, ImageHeight and ImageWidth parameters to Add-PnPPageTextPart cmdlet so that users can add an inline image into a text webpart. #2401
  • Added TextBeforeImage and TextAfterImage parameters to Add-PnPPageTextPart cmdlet so that users can add before and after text for an inline image into a text webpart. #2403
  • Added Add-PnPPageImageWebPart cmdlet to allow users to easily add Image to a modern page. #2406
  • Added system assigned Managed Identity support for SharePoint Online cmdlets. #2354
  • Added user assigned Managed Identity support for Microsoft Graph and SharePoint Online cmdlets. #2491
  • Added Get-PnPTeamsTag cmdlet to retrieve Team tags information. #2414
  • Added Properties attribute to Update-PnPVivaConnectionsDashboardACE to allow for updating the properties of a Viva Connections dashboard ACE component using its typed properties #2433
  • Added Set-PnPTeamsTag cmdlet to update Team tags information. #2419
  • Added Remove-PnPTeamsTag cmdlet to delete a Team tag. #2419
  • Added Disable-PnPPowerShellTelemetry cmdlet to disable telemetry collection. #2432
  • Added Enable-PnPPowerShellTelemetry cmdlet to enable telemetry collection. #2432
  • Added Get-PnPAzureADActivityReportSignIn cmdlet to enable retrieving of Azure AD sign ins. #2436
  • Added support to remove the site collection app catalog by using Id of the site collection in Remove-PnPSiteCollectionAppCatalog cmdlet. #2452
  • Added support for the EnableRestrictedAccessControl parameter to Set-PnPTenant and RestrictedAccessControl for Set-PnPSite to restrict site access to members of a Microsoft 365 group. #2462
  • Added Set-PnPImageListItemColumn cmdlet to support setting of the new image/thumbnail value for a SharePoint list item.#2468
  • Added -Filter parameter to Get-PnPTeamsTeam cmdlet to retrieve specific teams based on filter conditions. It supports simple and advanced queries. #2467 , #2474
  • Added Get-PnPMicrosoft365ExpiringGroup cmdlet to retrieve Microsoft 365 groups which are nearing expiration.#2466
  • Added additional parameters to Set-PnPContentType cmdlet to support SPFx form customizer related properties.#2456
  • Added -Filter parameter to Get-PnPAzureADApp cmdlet to retrieve specific Azure AD apps based on filter conditions. It suppports simple and advanced queries. #2477
  • Added Get-PnPDeletedTeam cmdlet to retrieve all deleted Microsoft Teams teams #2487
  • Added -ServerRelativePath and -Path parameters to Set-PnPImageListItemColumn cmdlet to allow for file to be uploaded for the Image type column. #2503
  • Added support for sovereign tenants in Get-PnPTenandId by utilizing the -AzureEnvironment parameter. #2512

Changed

  • Changed to no longer require https:// to be prefixed when using Connect-PnPOnline -Url tenant.sharepoint.com #2139
  • Get-PnPAvailableSensitivityLabel cmdlet now uses the non-deprecated Graph API to retrieve sensitivity label. #2234
  • Improved Get-PnPMicrosoft365Group cmdlet to better check the Id, DisplayName and MailNickname of Microsoft 365 Group. #2258
  • Improved Get-PnPStorageEntity cmdlet when Key parameter is specified. #2275
  • Improved Get-PnPAuthenticationRealm cmdlet to use HTTP Client instead of WebRequest. #2304
  • Changed Get-PnPRoleDefinition so that it now also supports the role definition Id to be used with -Identity as well as the role definition name #2336
  • Creating private Teams channels formerly using Add-PnPTeamsChannel -Private should now use Add-PnPTeamsChannel -ChannelType Private instead #2308
  • Improved Get-PnPAuthenticationRealm cmdlet to use HTTPClient instead of WebRequest. #2304
  • Improved Connect-PnPOnline with ACS method. Replace the usage of WebRequest with HTTPClient. #2352
  • Improved Remove-PnPFieldFromContentType cmdlet to ensure proper null check for non-existing fields. It will now throw proper Field not found error. #2407
  • Changed the Microsoft 365 Groups cmdlets to use the v1.0 endpoint instead of the beta #2426
  • Changed Add-PnPMicrosoft365GroupToSite to longer require the -Url parameter to be specified. If its not provided, the currently connected to site will be groupified. #2496
  • Changed Restore-PnPRecycleBinItem , made -Identity parameter as non-mandatory. #2499

Removed

  • Marked -Resource parameter from Get-PnPAccessToken cmdlet as obsolete as it was not used anymore anyway. It will be removed in a future version. #2182
  • Removed -SystemUpdate option from Set-PnPListItem as it has been deprecated two years ago. Use -UpdateType SystemUpdate instead #2396

Fixed

  • Fixed issue where passing in -Connection to Disconnect-PnPOnline would throw an exception #2093
  • Fixed Get-PnPSiteSearchQueryResults thr...
Read more

Release 1.11.0

01 Jul 14:10
8fbb9f1

Choose a tag to compare

Added

  • Added -Wait and -Verbose optional paramarers to New-PnPUPABulkImportJob #1752
  • Added Add-PnPTeamsChannelUser which allows members and owners to be added to private channels in Teams #1735
  • Added Channel parameter to Add-PnPTeamsUser cmdlet which if specified will allow owners and members to be added to private channels in a Teams Team. #1772
  • Added the ability to retrieve site collection information by its Id using Get-PnPTenantSite -Identity <id> #1766
  • Added ResourceBehaviorOptions option in New-PnPMicrosoft365Group cmdlet to set ResourceBehaviorOptions while provisioning a Microsoft 365 Group. #1774
  • Added Add-PnPTeamsChannelUser which allows members and owners to be added to private channels in Teams #1735
  • Added ExcludeVisualPromotedResults parameter to Get-PnPSearchConfiguration which excludes promoted results #1750
  • Added MediaTranscription parameter to Set-PnPTenantSite and Set-PnPSite cmdlets which when enabled allows videos to have transcripts generated on demand or generated automatically in certain scenarios.
  • Added -SensitivityLabels parameter to New-PnPTeamsTeam and New-PnPMicrosoft365Group cmdlets to apply sensitivity label to the Microsoft 365 Group and Team.
  • Added -SensitivityLabels parameter to Set-PnPMicrosoft365Group cmdlets to apply sensitivity label to the Microsoft 365 Group and Team.
  • Added MediaTranscription parameter to Set-PnPTenantSite and Set-PnPSite cmdlets which when enabled allows videos to have transcripts generated on demand or generated automatically in certain scenarios
  • Added Get-PnPTeamsChannelFilesFolder cmdlet to retrieve metadata for the location where files of a Teams channel are stored. #1799
  • Added Get-PnPVivaConnectionsDashboardACE to retrieve the Adaptive Card extensions from the Viva connections dashboard page. #1805
  • Added Add-PnPVivaConnectionsDashboardACE to add an Adaptive Card extension to the Viva connections dashboard page. #1805
  • Added Update-PnPVivaConnectionsDashboardACE to update an Adaptive Card extension in the Viva connections dashboard page. #1805
  • Added Remove-PnPVivaConnectionsDashboardACE to remove an Adaptive Card extension in the Viva connections dashboard page. #1805
  • Added Accept parameter to Invoke-PnPSPRestMethod cmdlet which if specified will pass the Accept HTTP request header. #1795
  • Added Get-PnPFlowRun cmdlet to retrieve a specific run, or all runs from a specific Power Automate flow. #1819
  • Added Invoke-PnPGraphMethod cmdlet to invoke generic Microsoft Graph API Methods. #1820
  • Added TimeZone parameter to New-PnPSite cmdlet which allows setting of the site collection in the specified timezone.
  • Added Stop-PnPFlowRun cmdlet to stop/cancel a specific Power Automate flow run. #1838
  • Added Remove-PnPTeamsChannelUser cmdlet to remove a user from a private channel. #1840
  • Added Get-PnPListItemPermission cmdlet to retrieve item level permissions. #1534
  • Added Get-PnPTeamsChannelMessageReply to retrieve all replies or a specific reply of a message in a Teams channel #1885
  • Added -Identity parameter to Get-PnPTeamsChannelMessage cmdlet to retrieve a specific message #1887
  • Added new PnP.PowerShell image which also gets published to Docker Hub. #1580
  • Added capability to Debug the module in Visual Studio. #1880
  • Added Set-PnPTeamsChannelUser cmdlet to update the role of user in a private channel. #1865
  • Added Restart-PnPFlowRun which allows for a failed Power Automate flow run to be retried #1915
  • Added optional -Connection parameter to Get-PnPConnection, Get-PnPContext and Set-PnPContext which allows for using any of these for a specific connection #1919
  • Added -IncludeDeprecated parameter to Get-PnPTerm cmdlet to fetch deprecated terms if specified #1903
  • Added -IncludeContentType parameter, which if specified will retrieve content type information of the list items. #1921
  • Added optional -ValidateConnection to Connect-PnPOnline which will check if the site you are connecting to exists and if not, will throw an exception #1924
  • Added -Description and -Priority to Set-PnPPlannerTask #1947
  • Added AllowTenantMoveWithDataMigration to Get-PnPPlannerConfiguration and Set-PnPPlannerConfiguration #1934
  • Added the ability to retrieve a Planner plan by only its Id using Get-PnPPlannerPlan -Identity <id> #1935
  • Added Add-PnPListItemAttachment cmdlet to provide ability to upload a file as an attachment to a SharePoint list item. #1932
  • Added Remove-PnPListItemAttachment cmdlet to provide ability to delete a list item attachment. #1932
  • Added Get-PnPListItemAttachment cmdlet to download the attachments from a list item. #1932
  • Added -ReturnTyped parameter to Get-PnPField cmdlet so that it returns specific type instead of the generic field type. [#1888] (#1888)
  • Added Add-PnPViewsFromXML cmdlet to create one or more views in a list based on an XML string. #1963
  • Added -ExemptFromBlockDownloadOfNonViewableFiles parameter to Set-PnPList cmdlet to configure access capabilites for unmanaged devices at list level. #1973
  • Added -PercentComplete, -Priority, -StartDateTime, -DueDateTime and -Description to Add-PnPPlannerTask #1964
  • Added Set-PnPContentType cmdlet to update the properties of the Content Types in a list or a web. #1981
  • Added -SharingCapability parameter to the New-PnPTenantSite cmdlet to update the Sharing capabilties of the newly provisioned classic site collection. #1994
  • Added optional -IncludeAllLists to Get-PnPSiteScriptFromWeb which will include the JSON definition of all custom lists of the current site in the output #1987
  • Added -UpdateChildren parameter to Add-PnPFieldToContentType cmdlet. This allows users to skip pushing the fields to child content types. #1992
  • Added optional -SensitivityLabel to Set-PnPSite which allows for a Microsoft Purview sensitivitylabel to be set #2024
  • Added -UpdateChildren parameter to Add-PnPFieldToContentType cmdlet. This allows users to skip pushing the fields to child content types. #1092
  • Added Get-PnPAvailableSensitivityLabel cmdlet to retrieve Microsoft Purview sensitivity labels available on the tenant #2023
  • Added Get-PnPSiteSensitivityLabel cmdlet to retrieve the Microsoft Purview sensitivity label set on the current site #2036
  • Added Set-PnPSiteClassification cmdlet which allows setting a classic site classification on the current site #2036
  • Added Set-PnPSiteSensitivityLabel cmdlet which allows setting a Microsoft Purview sensitivity label on the current site #2036
  • Added Remove-PnPSiteSensitivityLabel cmdlet which allows removing the Microsoft Purview sensitivity label from the current site #2036
  • Added Get-PnPSensitivityLabel cmdlet to retrieve Microsoft Purview sensitivity labels available on the tenant #2023
  • Added Get-Microsoft365GroupYammerCommunity cmdlet to retrieve details on the Yammer Community connected to a Microsoft 365 Group #2038
  • Added Get-Microsoft365GroupTeam cmdlet to retrieve details on the Microsoft Teams team connected to a Microsoft 365 Group #2038
  • Added Get-Microsoft365GroupEndpoints cmdlet to retrieve details on all endpoints connected to a Microsoft 365 Group #2038
  • Added -ExcludeDeletedSites optional parameter to Get-PnPSiteCollectionAppCatalogs which allows for site collections with App Catalogs that are in the re...
Read more

Release 1.10.0

30 Mar 13:44
21634c2

Choose a tag to compare

Added

  • Added additional properties to the users returned by Get-PnPMicrosoft365GroupMember such as userType #1474
  • Added Update-PnPTeamsUser cmdlet to change the role of a user in an existing Teams team #1499
  • Added Get\New\Remove\Set-PnPMicrosoft365GroupSettings cmdlets to interact with Microsoft 365 Group settings.
  • Added Get-PnPMicrosoft365GroupSettingTemplates cmdlet to retrieve system wide Microsoft 365 Group setting templates.
  • Added Add\Remove\Invoke\Get-PnPListDesign cmdlets to add a list design, remove a list design and apply the list design.
  • Added DisablePersonalListCreation parameter to Set-PnPTenant cmdlet to provide ability to disable personal lists creation #1545
  • Added DisabledModernListTemplateIds and EnableModernListTemplateIds parameters to Set-PnPTenant cmdlet to provide ability to disable or enable modern lists with specific Ids #1545
  • Added DisablePersonalListCreation and DisabledModernListTemplateIds values to be displayed when using Get-PnPTenant cmdlet #1545
  • Added Add\Remove\Set-PnPAdaptiveScopeProperty cmdlets to add/update/remove a property bag value while dealing with the noscript toggling in one cmdlet #1556
  • Added support to add multiple owners and members in New-PnPTeamsTeam cmdlet #1241
  • Added the ability to set the title of a new modern page in SharePoint Online using Add-PnPPage to be different from its filename by using -Title
  • Added optional -UseBeta parameter to Get-PnPAzureADUser to force it to use the Microsoft Graph beta endpoint. This can be necessary when i.e. using -Select "PreferredDataLocation" to query for users with a specific multi geo location as this property is only available through the beta endpoint. #1559
  • Added -Content option to Add-PnPFile which allows creating a new file on SharePoint Online and directly providing its textual content, i.e. to upload a log file of the execution #1559
  • Added Get-PnPTeamsPrimaryChannel to get the primary Teams channel, general, of a Team #1572
  • Added IgnoreDefaultProperties parameter to Get-PnPAzureADUser to allow for the default properties not to be retrieved but instead just the ones you specify using Select #1575
  • Added Publish\Unpublish-PnPContentType to allow for content types to be published or unpublished on hub sites #1597
  • Added Get-PnPContentTypePublishingStatus to get te current publication state of a content type in the content type hub site #1597
  • Added ability to pipe the output of Get-PnPTenantDeletedSite to either Restore-PnPTenantDeletedSite or Remove-PnPTenantDeletedSite #1596
  • Added Rename-PnPTenantSite to rename a SharePoint Online site URL #1606
  • Added optional -Wait option to Sync-PnPSharePointUserProfilesFromAzureActiveDirectory to allow for the script to wait until the user profile sync has completed
  • Added optional -Verbose option to Sync-PnPSharePointUserProfilesFromAzureActiveDirectory to allow for seeing the progress of the synchronization process
  • Added Copy-PnPTeamsTeam which allows an existing Teams team to be copied into a new Team #1624
  • Added Set-PnPMessageCenterAnnouncementAsRead which allows setting one or more message center announcements as read for the current user #1151
  • Added Set-PnPMessageCenterAnnouncementAsUnread which allows setting one or more message center announcements as unread for the current user #1151
  • Added Set-PnPMessageCenterAnnouncementAsArchived which allows setting one or more message center announcements as archived for the current user #1151
  • Added Set-PnPMessageCenterAnnouncementAsNotArchived which allows setting one or more message center announcements as not archived for the current user #1151
  • Added Set-PnPMessageCenterAnnouncementAsFavorite which allows setting one or more message center announcements as favorite for the current user #1151
  • Added Set-PnPMessageCenterAnnouncementAsNotFavorite which allows setting one or more message center announcements as not favorite for the current user #1151
  • Added -AsMemoryStream option to Get-PnPFile to allow for downloading of a file from SharePoint Online in memory for further processing #1638
  • Added -Stream option to Read-PnPSiteTemplate to allow for processing on a PnP Provisioning Template coming from memory #1638
  • Added New-PnPAzureADUserTemporaryAccessPass which allows creation of a Temporary Access Pass for a specific user in Azure Active Directory
  • Added -Force option to Set-PnPTenant to allow skipping the confirmation question for certain other parameters like SignInAccelerationDomain,EnableGuestSignInAcceleration,BccExternalSharingInvitations,OrphanedPersonalSitesRetentionPeriod,OneDriveForGuestsEnabled,AllowDownloadingNonWebViewableFiles.
  • Added Get-PnPCompatibleHubContentTypes which allows the list of content types present in the content type hub site that can be added to the root web or a list on a target site to be returned #1678

Changed

  • Improved Add-PnPTeamsUser cmdlet. The cmdlet executes faster and we can now add users in batches of 200. #1548
  • The Move\Remove\Rename-PnPFolder cmdlets now support pipebinds.
  • Changed Add-PnPDataRowsToSiteTemplate, it will return a warning if user(s) are not found during list item extraction. Earlier it used to throw error and stop extraction of list items.
  • Changed the return type of Sync-PnPSharePointUserProfilesFromAzureActiveDirectory to return our own entity instead of the one returned by CSOM #1559
  • Changed running Sync-PnPSharePointUserProfilesFromAzureActiveDirectory with -WhatIf to also provide a return entity providing the path to where the JSON file has been uploaded to #1559
  • Disabling telemetry collection now requires either setting the environment variable or creating the telemetry file (documentation) #1504
  • Changed Get-PnPAzureADUser to now return all the users in Azure Active Directory by default, instead of only the first 999, unless you specified -EndIndex:$null #1565
  • Changed Get-PnPTenantDeletedSite -Identity no longer returning an unknown exception when no site collection with the provided Url exists in the tenant recycle bin but instead returning no output to align with other cmdlets #1596
  • Changed Connect-PnPOnline -UseWebLogin to no longer suppress errors which should allow for certificate logins to be used #1706
  • The cmdlet New-PnPTeamsTeam no longer supports adding members or owners through their e-mail addresses, if they differ from their UPNs. The User Principal Names must be used instead #1241

Fixed

  • Fixed Set-PnPSite not working with DisableCompanyWideSharingLinks parameter.
  • Fixed Get-PnPListPermissions returning wrong information in case of broken inheritance.
  • Fixed Submit-PnPSearchQuery -Query "somequery" yielding an error when no results #1520
  • Fixed Set-PnPTenantSite not setting SharingCapability property correctly.
  • Fixed Get-PnPMicrosoft365Group retrieving non-Unified groups when parameters are not specified.
  • Fixed Get-PnPRecycleBinListItem not retrieving second stage items if only RowLimit is specified.
  • Fixed Add-PnPDataRowsToSiteTemplate issue with PnP templates when it contained multilingual references.
  • Fixed Copy-PnPItemProxy is not recognized as the name of a cmdlet, function, script file, or operable program error with the cmdlet.
  • Fixed Add-PnPMicrosoft365GroupMember, Remove-PnPMicrosoft365GroupMember, Add-PnPTeamsUser and Remove-PnPTeamsUser not being able to handle guest accounts containing # characters #1523
  • Fixed not being able to pipe Get-PnPHubSite to Get-PnPHubSiteChild to retrieve all site collections which are associated to any hub site #1571
  • Fixed Add-PnPFileToSiteTemplate when used alongside Get-PnPFile where the FileStream tried to overwrite an already open filestream when a file was located in the same directory as the template file itself.
  • Fixed Get-PnPMessageCenterAnnouncement returning an error #1607
  • Fixed New-PnPTeamsTeam issue when adding Owners and Members.
  • Fixed running an admin cmdlet not always returning to the same cont...
Read more

Release 1.9.0

22 Dec 22:43
ce4e2e2

Choose a tag to compare

Added

  • Added Get-PnPTenantInstance which will return one or more tenant instances, depending if you have a multi-geo or single-geo (default) tenant.
  • Added optional -ScheduledPublishDate parameter to Add-PnPPage and Set-PnPPage to allow for scheduling a page to be published
  • Added -RemoveScheduledPublish to Set-PnPPage to 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 -OffPeak and -Folder parameters for Request-PnPSyntexClassifyAndExtract
  • Added Get\Set-PnPPlannerConfiguration to allow working with the Microsoft Planner tenant configuration
  • Added Get\Set-PnPPlannerUserPolicy to allow setting Microsoft Planner user policies for specific users
  • Added Get\Add\Remove-PnPPlannerRoster which allows a Microsoft Planner Roster to be created, retrieved or removed
  • Added Get\Add\Remove-PnPPlannerRosterMember to be able to read, add and remove members from a Microsft Planner Roster
  • Added Get-PnPPlannerRosterPlan to be able to retrieve the Microsoft Planner plans inside a Microsoft Planner Roster or the ones belonging to a specific user
  • Added support for off peak SharePoint Syntex content classification and extraction for lists and folders via new -OffPeak and -Folder parameters for Request-PnPSyntexClassifyAndExtract
  • Added Invoke-PnPSiteScript which allows for a Site Script to be executed on a site without needing to have it registered in a site design or site script first
  • Added Copy-PnPList which allows for a copy of a SharePoint list to be made in the same site or to another site. Copying along list item data is not yet possible but will follow in a later release.
  • Added Get\Set-PnPWebHeader to work with the Change the look > Header options of a site
  • Added Enable-PnPPageScheduling and Disable-PnPPageScheduling to enable or disable page publishing scheduling on modern pages
  • Added ability to add multiple users to a Teams team in the Add-PnPTeamsUser cmdlet
  • Added -Credentials $cred or -CurrentCredentials to be allowed to be used in combination with Connect-PnPOnline -SPOManagementshell
  • Added -InformationBarriersMode in the Set-PnPTenantSite cmdlet which allows fine tuning of the information barriers mode per site collection
  • Added -InformationBarriersSuspension in the Set-PnPTenant cmdlet which allows information barriers to be enabled or disabled in a tenant
  • Added -Recycle parameter to Remove-PnPPage to delete the page and send it to the recycle bin. This prevents permanently deleting the page and you can also restore it.
  • Added -DemoteNewsArticle parameter to the Set-PnPPage cmdlet to demote an existing news post to a regular page.
  • Added -Translate and -TranslationLanguageCodes parameters to Set-PnPPage and Add-PnPPage. This enables multilingual page creation in sites.
  • Added DisableSpacesActivation state to be returned with Get-PnPTenant
  • Added -AllowFilesWithKeepLabelToBeDeletedSPO and -AllowFilesWithKeepLabelToBeDeletedODB options to Set-PnPTenant which allows configuration of files on SharePoint Online and OneDrive for Business being blocked by a retention policy to be possible to be deleted anyway and then moved to the preservation hold library. The default for SharePoint Online for this will change as announced in Message Center announcement MC264360. This will allow reverting it. The current values can be retrieved using Get-PnPTenant.
  • Added DisableAddToOneDrive state to be returned with Get-PnPTenant cmdlet.
  • Added -DisableAddToOneDrive to Set-PnPTenant cmdlet to enable/disable users from adding shortcuts to OneDrive.
  • Added optional -Site parameter to Add-PnPContentTypesFromContenTypeHub which allows a specific site to be specified to add the content type hub content types to
  • Added Set-PnPBuiltInSiteTemplateSettings and Get-PnPBuiltInSiteTemplateSettings to allow making the built in SharePoint Online site templates visible or hidden and getting their current settings
  • Added support for Channel sites (ID 69) to Add-PnPSiteDesign, Set-PnPSiteDesign and Add-PnPSiteDesignFromWeb
  • Added optional -IsDefault option to Get-PnPPowerPlatformEnvironment which allows just the default or non default environments to be returned. If not provided, all environments will be returned as was the case before this addition.
  • Added ResourceBehaviorOptions option in New-PnPTeamsTeam cmdlet to set ResourceBehaviorOptions while provisioning a Team
  • Added alias on Copy-PnPFile for Copy-PnPFolder. It could already be used to copy a folder, but to make this more clear, and as we already had a Copy/Move-PnPFolder as well, the same cmdlet is now also available under its alternative cmdlet name.
  • Added IsFluidEnabled state to be returned with Get-PnPTenant cmdlet.
  • Added -IsFluidEnabled to Set-PnPTenant cmdlet to enable/disable users from using Fluid components.
  • Added Add\Get\Remove-PnPListItemComment cmdlets to deal with list item comments. Using these cmdlets, you will now be able to add, retrieve and delete list item comments. #1462
  • Added -ResourceTypeName and -ResourceUrl parameters to Get-PnPAccessToken to fetch access token of specified resource. #1451

Changed

  • Improved Get-PnPFile cmdlet to handle large file downloads
  • Updated Sync-PnPSharePointUserProfilesFromAzureActiveDirectory to also allow results from Get-PnPAzureADUser -Delta to be provided through -Users.
  • A clearer error message will now be returned when using Add-PnPListItem -List and specifying an invalid list name.
  • Response of Add-PnPContentTypesFromContenTypeHub is now returned in the root of the response as well as under Value as it was previously for backwards compatibility.
  • Improved synopsis documentation for Update-PnPUserType cmdlet.
  • Improved documentation of Add-PnPField, reflects the missing -AddToAllContentTypes parameter.
  • Improved documentation of Get-PnPTaxonomyItem with addition of new example and removing obsolete parameters.
  • Improved documentation of Get-PnPTerm, fixed typos.
  • Improved Add-PnPHubToHubAssociation. It will now throw error if both, source and destination, sites are not Hub sites, currently it fails silently without any information to the user. #1390

Fixed

  • Fixed Get-PnPGroupMember -User not properly returning the specified user
  • Fixed group member retrieval through Get-PnPAzureADGroupOwner and Get-PnPAzureAdGroupMember throwing an exception when a security group has been placed in the Azure Active Directory group being queried
  • Fixed an issue where Set-PnPPage would not be able to find a page if you would start the -Identity with a forward slash
  • Fixed an issue where Set-PnPPage would not return its parent Folder
  • Fixed Set-PnPListItem not working when using Label and Values parameters together
  • Fixed documentation for Get-PnPFlow and Enable-PnPFlow cmdlets
  • Fixed issue with Add-PnPListFoldersToProvisioningTemplate not working when having nested folder structure
  • Fixed documentation for Get-PnPFlow and Enable-PnPFlow cmdlets
  • Fixed Sync-PnPSharePointUserProfilesFromAzureActiveDirectory not being able to deal with multi value properties on the Azure Active Directory side, such as BusinessPhones
  • Fixed Add-PnPListItem issue with setting MultiChoice columns when using -Batch parameter
  • Fixed issue with Remove-PnPListItem when trying to use it with Batch parameter
  • Fixed Add-PnPDataRowsToSiteTemplate not exporting TaxonomyFieldValues properly
  • Fixed Add/Set-PnPListItem issue with managed metadata / taxonomy field value failing in a batched request.
  • Fixed Set-PnPListItem issue with setting Modified date value properly when using -Batch parameter.
  • Fixed Get-PnPTeamsTeam -Identity throwing an exception if the name of the team would contain special characters
  • Fixed Get-PnPTerm throwing an exception when used in combination with -Includes #1384
  • Fixed Get-PnPDiagnostics throwing an unable to cast exception under some circumstances #1380
  • Fixed Get-PnPTeamsTab issue with missing TeamsApp object values. It will now populate TeamsApp object with Id, DisplayName, ExternalId and DistributionMethod properties if available. #1459

Removed

  • Removed Add-PnPClientSidePage as that was marked deprecated. Use Add-PnPPage instead.
  • Removed Get-PnPSubWebs as that was marked deprecated a year ago. Use Get-PnPSubWeb instead. #1394

Contributors

  • Koen Zomers [koenzomers]
  • Bert Jansen [jansenbe]
  • Gautam Sheth [gautamdsheth]
  • [reusto]
  • Asad Refai [asadrefai]
  • Daniel Huber [daniel0611]
  • Bart-Jan Dekker [bjdekker]
  • Giacomo Pozzoni [jackpoz]
  • Chris Kent [thechriskent]
  • Filip Bosmans [FilipBosmans]
  • [zylantha]
  • Justin [pagejustin]
  • Collin Argo [SCollinA]
  • Leon Armston [LeonArmston]
  • Lars Höög [h00g]
  • [kachihro]
  • [Andy-Dawson]
  • David Aeschlimann [TashunkoWitko]
  • [outorted]
  • [dkardokas]
  • Asad Refai [asadrefai]

Release 1.8.0

08 Oct 14:32
2e72a72

Choose a tag to compare

Added

  • Added flexibility to mix and pipe Add\Get\Remove-PnPListItem with Get-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-PnPServiceCurrentHealth and Get-PnPServiceHealthIssue cmdlets which pull their data out of the Microsoft Graph API and are replacing the former Get-PnPOffice365CurrentServiceStatus, Get-PnPOffice365HistoricalServiceStatus and Get-PnPoffice365ServiceMessage cmdlets 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.
  • Added option which allows new SharePoint 2013 Workflow creation to be disabled tenant wide by using Set-PnPTenant -StopNew2013Workflows and requesting its current setting using Get-PnPTenant | Select StopNew2013Workflows
  • Added lots of extra information getting returned when using Get-PnPFlow.
  • Added option which allows the Explorer View for Microsoft Edge to be enabled tenant wide by using Set-PnPTenant -ViewInFileExplorerEnabled and requesting its current setting using Get-PnPTenant | Select ViewInFileExplorerEnabled. It can be that this feature is not enabled on your tenant yet, in which case it will return an error. Try it again later in that case.
  • Added lots of extra information getting returned when using Get-PnPPowerPlatformEnvironment
  • Added the option to use -Verbose with Export-PnPFlow so it wil show details on why an export failed when it is not possible to export the flow.
  • Added option to add/list/remove event receivers from the site scope using Add-PnPEventReceiver -Scope <Site/Web>, Get-PnPEventReceiver -Scope <All/Site/Web> and Remove-PnPEventReceiver -Scope <All/Site/Web>
  • Added -Url parameter to New-PnPUPABulkImportJob which allows providing a URL to an existing SharePoint User Profile import mapping instruction file stored on SharePoint Online
  • Added Add-PnPSiteDesignFromWeb which combines Get-PnPSiteScriptFromWeb, Add-PnPSiteScript and Add-PnPSiteDesign into 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-PnPSiteDesignFromWeb which combines Get-PnPSiteScriptFromWeb and Set-PnPSiteScript into one cmdlet to allow for a specific site design to directly be updated based on an existing site which can function as a template
  • Added Sync-PnPSharePointUserProfilesFromAzureActiveDirectory cmdlet 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

Changed

  • Renamed Get-PnPFlowEnvironment to Get-PnPPowerAutomateEnvironment
  • Changed Get-PnPSiteScriptFromWeb to get a site script of the currently connected to site if -Url is omitted.
  • Improved Find-PnPFile error message
  • Get-PnPFileVersion cmdlet documentation improved with additional example.
  • Add-PnPNavigationNode cmdlet documentation improved with additional example feature which shows how to add a navigation node as a label.
  • Changed Get-PnPSiteDesign and Invoke-PnPSiteDesign to when providing a name through -Identity to be able to work with all site designs having that same name instead of just the first one
  • Changed Set-PnPListItemPermission to support piping in a roledefinition for -AddRole and -RemoveRole
  • Changed that Get-PnPSiteScript -Identity now also works with the site script name instead of just the site script Id

Fixed

  • Fixed Get-PnPChangeLog -Nightly not returning anything
  • Fixed issue with Get-PnPUser -Identity x ignoring additional requested attributes using -Includes
  • 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-PnPException throwing an exception and not showing the last exception if the last cmdlet throwing an exception used -ErrorAction Stop
  • Fixed Get-PnPException -All throwing an exception.
  • Fixed an issue with Set-PnPSite -Identity <url> -Owner <upn> not working if the URL would be a OneDrive for Business site.
  • Fixed an issue with Get-PnPSiteScriptFromWeb requiring an Include parameter next to providing lists and fixed specifying lists through List\ListName not working.
  • Fixed issue with 'Remove-PnPSiteDesign -Identity` not accepting a site design name, only a GUID.
  • Fixed unable to piping the output of Get-PnPRoleDefinition to i.e. filter by RoleTypeKind.
  • Fixed an issue with several PnP PowerShell cmdlets such as Get-PnPTeamsUser where not all results would be returned
  • Fixed issue with Remove-PnPSiteDesign -Identity not accepting a site design name, only a GUID.
  • Fixed issue with Get-PnPUPABulkImportStatus where it did not allow you to pipe its output to i.e. get the most recent one using Select -Latest 1 or the ones that failed using ? State -ne "Succeeded"

Removed

  • Removed ConvertTo-PnPClientSidePage cmdlet as it has been replaced by ConvertTo-PnPPage
    this option is not enabled yet on your tenant in which case trying to set it results in to Set-PnPTenant: The requested operation is part of an experimental feature that is not supported in the current environment.. In that case try again later.
  • Removed Add-PnPUserToGroup as it has been replaced by Add-PnPGroupMember
  • Removed Get-PnPGroupMembers cmdlet alias and related warning. The cmdlet Get-PnPGroupMember (singular) is available.
  • Removed Remove-PnPUserFromGroup cmdlet alias and related warning. The cmdlet Remove-PnPGroupMember is available.
  • Removed Initialize-PnPPowerShellAuthentication cmdlet alias and related warning. The cmdlet Register-PnPAzureADApp is the replacement.

Release 1.7.0.

26 Jul 11:19

Choose a tag to compare

Changed

  • Updated CSOM release
  • Fixes issue with Get-PnPTenantSite

Release 1.6.0

07 Jun 14:26
0050811

Choose a tag to compare

Changed

  • Get-PnPPage now can load pages living in a folder by specifying "folder/page.aspx"
  • Added -DisableBackToClassic option to Set-PnPTenant

Contributors

  • [thomassmart]
  • Bert Jansen [jansenbe]

Release 1.5.0

01 Apr 08:56
fc683c8

Choose a tag to compare

Added

  • Added Request-PnPSyntexClassifyAndExtract cmdlet to request classification and extraction of a file or all files in a list
  • Added Get-PnPSyntexModel cmdlet to list the defined SharePoint Syntex models in a SharePoint Syntex content center site
  • Added Publish-PnPSyntexModel cmdlet to publish a SharePoint Syntex model to a library
  • Added Unpublish-PnPSyntexModel cmdlet to unpublish a SharePoint Syntex model from a library
  • Added Get-PnPSyntexModelPublication cmdlet to list the libraries to which a SharePoint Syntex model was published

Contributors

  • Bert Jansen [jansenbe]
  • Koen Zomers [koenzomers]
  • Gautam Sheth [gautamdsheth]
  • Veronique Lengelle [veronicageek]

Release 1.4.0

10 Mar 17:45
17196cc

Choose a tag to compare

Added

  • Added -IncludeOwners to Get-PnPMicrosoft365Group.
  • Added -AssignedTo to Add-PnPPlannerTask and Set-PnPPlannerTask allowing you to assign users to a task.
  • Added Get-PnPAzureADApp, Get-PnPAzureADAppPermission and Remove-PnPAzureADApp to manage Azure AD apps.
  • Added All Graph permissions and all SharePoint permissions for selection to Register-PnPAzureADApp.
  • Added -Template parameter 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-PnPAzureADAppSitePermission and Revoke-PnPAzureADAppSitePermission
  • Added -SkipHiddenWebParts parameter to the ConvertTo-PnPPage cmdlet that allows to skip hidden webparts during page transformation

Changed

  • Improved batching speed when creating or updating multiple items that set similar values for taxonomy fields.
  • Changed Register-PnPAzureADApp registration to by default turn on the ability to authenticate with credentials for a newly created Azure App registration (allowPublicClient: true).
  • Refactored Register-PnPAzureADApp. Marked -Scopes as obsolete and introduced -GraphApplicationPermissions, -GraphDelegatePermissions, -SharePointApplicationPermissions and -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

Release 1.3.0

11 Feb 13:00

Choose a tag to compare

Added

  • Added -HideTitleInHeader parameter to Set-PnPWeb to hide or show the title in the header. Use -HideTitleInHeader to hide it and -HideTitleInHeader:$false to show it.
  • Added -ShowContentUrl parameter to Register-PnPManagementShellAccess retrieve the url to consent to the PnP Management Shell application by an administrator.
  • Added -IsFavoriteByDefault parameter on Set-PnPTeamsChannel and Add-PnPTeamsChannel
  • Added -GroupIdDefined boolean parameter to Get-PnPTenantSite to allow filtering on sites which belong to a Microsoft 365 Group
  • Added -Interactive login option to Connect-PnPOnline which is similar to -UseWebLogin but without the limitations of the latter. The -UseWebLogin is using cookie based authentication towards SharePoint and cannot access Graph tokens. Using -Interactive we use Azure AD Authentication and as a result we are able to acquire Graph tokens.

Changed

  • Fixed certificate clean up issue on Windows platform when using Connect-PnPOnline with a certificate.
  • Fixed issues with Register-PnPAzureADApp when using the various auth options (-DeviceLogin / -Interactive)
  • Renamed the -PnPManagementShell option to -DeviceLogin on Connect-PnPOnline. -PnPManagementShell is still available as an alias.
  • Added -ClientId option to -DeviceLogin allowing device code authentication with custom app registrations.
  • Changed -Url parameter on Get-PnPTenantSite and Set-PnPTenantSite to -Identity. Made -Url available as an alias.
  • Updated Set-PnPTenantSite to support same parameters as Set-SPOSite
  • Updated Get-PnPTenantSite to return same properties as Get-SPOSite
  • Fixed issue where -Interactive on Connect-PnPOnline would 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-PnPListItem to have an UpdateType parameter. Obsoleted SystemUpdate. Also updated the backend logic so can now also specify UpdateOverwriteVersion to update the editor, author, modified and created fields.
  • Register-PnPAzureADApp now outputs the base64 encoded version of the certificate which can be used with Connect-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 -Interactive login 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 -Identity will not by default load the site url. Specify -IncludeSiteUrl to include it.

Installation

Install-Module -Name PnP.PowerShell