Releases: pnp/powershell
Releases · pnp/powershell
Release 1.12.0
[1.12.0]
Added
- Added
-DisableGridEditingoption toSet-PnPListwhich allows gridview editing to be enabled or disabled on a list #2188 - Added verbose logging for
Invoke-PnPSiteSwap,Restore-PnPTenantSiteand cmdlets which depend onSpoOperation. #2207 - Added support for
DisplayNamesOfFileViewersandDisplayNamesOfFileViewersInSpoproperties inGet-PnPTenantandSet-PnPTenantcmdlets to show/hide viewers in property pane for a file. #2271 - Added
MailEnabled,PreferredDataLocation,PreferredLanguageandSecurityEnabledparameters toNew-PnPMicrosoft365Groupcmdlet. #2268 - Added
-DraftVersionVisibilityparameter to theSet-PnPListcmdlet to specify draft item security for list items. #2285 - Added support for
-ErrorAction:Stopto 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 anSystem.Management.Automation.ErrorRecordexception instead. Remove the-ErrorAction:Stopparameter 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
IsLoopEnabledproperties inGet-PnPTenantandSet-PnPTenantcmdlets to to enable/disable loop components in the tenant. #2307 - Added support for
SubscribeMembersToCalendarEventsDisabledresource behavior option inNew-PnPMicrosoft365GroupandNew-PnPTeamsTeamcmdlet. #2349 - Added
-OneDriveRequestFilesLinkEnabledoption toSet-PnPTenantto allow configuring the request files anonymously feature on the tenant level #2360 - Added
-RequestFilesLinkEnabledoption toSet-PnPSiteto allow configuring the request files anonymously feature on a per site collection level #2360 - Added
ScriptSafeDomainNameoption toSet-PnPSiteto allow contributors to insert iframe from specified domains only. #2363 - Added
AlertTemplateNameparamter toAdd-PnPAlertto allow configuring the Alert Template type name in the email. #2362 - Added
Get-PnPAzureADActivityReportDirectoryAuditto retrieve the audit logs generated by Azure AD. #2095 - Added
-Pathoption toSet-PnPListwhich allows the url of a list to be changed within the same site #2381 - Added
-Forceoption toSet-PnPListemto force it to update a list item even without changing something. Can be useful in i.e. triggering a webhook. #2396 - Added
ImageUrl,PageImageAlignment,ImageHeightandImageWidthparameters toAdd-PnPPageTextPartcmdlet so that users can add an inline image into a text webpart. #2401 - Added
TextBeforeImageandTextAfterImageparameters toAdd-PnPPageTextPartcmdlet so that users can add before and after text for an inline image into a text webpart. #2403 - Added
Add-PnPPageImageWebPartcmdlet 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-PnPTeamsTagcmdlet to retrieve Team tags information. #2414 - Added
Propertiesattribute toUpdate-PnPVivaConnectionsDashboardACEto allow for updating the properties of a Viva Connections dashboard ACE component using its typed properties #2433 - Added
Set-PnPTeamsTagcmdlet to update Team tags information. #2419 - Added
Remove-PnPTeamsTagcmdlet to delete a Team tag. #2419 - Added
Disable-PnPPowerShellTelemetrycmdlet to disable telemetry collection. #2432 - Added
Enable-PnPPowerShellTelemetrycmdlet to enable telemetry collection. #2432 - Added
Get-PnPAzureADActivityReportSignIncmdlet 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-PnPSiteCollectionAppCatalogcmdlet. #2452 - Added support for the
EnableRestrictedAccessControlparameter toSet-PnPTenantandRestrictedAccessControlforSet-PnPSiteto restrict site access to members of a Microsoft 365 group. #2462 - Added
Set-PnPImageListItemColumncmdlet to support setting of the new image/thumbnail value for a SharePoint list item.#2468 - Added
-Filterparameter toGet-PnPTeamsTeamcmdlet to retrieve specific teams based on filter conditions. It supports simple and advanced queries. #2467 , #2474 - Added
Get-PnPMicrosoft365ExpiringGroupcmdlet to retrieve Microsoft 365 groups which are nearing expiration.#2466 - Added additional parameters to
Set-PnPContentTypecmdlet to support SPFx form customizer related properties.#2456 - Added
-Filterparameter toGet-PnPAzureADAppcmdlet to retrieve specific Azure AD apps based on filter conditions. It suppports simple and advanced queries. #2477 - Added
Get-PnPDeletedTeamcmdlet to retrieve all deleted Microsoft Teams teams #2487 - Added
-ServerRelativePathand-Pathparameters toSet-PnPImageListItemColumncmdlet to allow for file to be uploaded for the Image type column. #2503 - Added support for sovereign tenants in
Get-PnPTenandIdby utilizing the-AzureEnvironmentparameter. #2512
Changed
- Changed to no longer require
https://to be prefixed when usingConnect-PnPOnline -Url tenant.sharepoint.com#2139 Get-PnPAvailableSensitivityLabelcmdlet now uses the non-deprecated Graph API to retrieve sensitivity label. #2234- Improved
Get-PnPMicrosoft365Groupcmdlet to better check the Id, DisplayName and MailNickname of Microsoft 365 Group. #2258 - Improved
Get-PnPStorageEntitycmdlet whenKeyparameter is specified. #2275 - Improved
Get-PnPAuthenticationRealmcmdlet to useHTTP Clientinstead ofWebRequest. #2304 - Changed
Get-PnPRoleDefinitionso that it now also supports the role definition Id to be used with-Identityas well as the role definition name #2336 - Creating private Teams channels formerly using
Add-PnPTeamsChannel -Privateshould now useAdd-PnPTeamsChannel -ChannelType Privateinstead #2308 - Improved
Get-PnPAuthenticationRealmcmdlet to useHTTPClientinstead ofWebRequest. #2304 - Improved
Connect-PnPOnlinewith ACS method. Replace the usage ofWebRequestwithHTTPClient. #2352 - Improved
Remove-PnPFieldFromContentTypecmdlet to ensure proper null check for non-existing fields. It will now throw properField not founderror. #2407 - Changed the Microsoft 365 Groups cmdlets to use the
v1.0endpoint instead of thebeta#2426 - Changed
Add-PnPMicrosoft365GroupToSiteto longer require the-Urlparameter to be specified. If its not provided, the currently connected to site will be groupified. #2496 - Changed
Restore-PnPRecycleBinItem, made-Identityparameter as non-mandatory. #2499
Removed
- Marked
-Resourceparameter fromGet-PnPAccessTokencmdlet as obsolete as it was not used anymore anyway. It will be removed in a future version. #2182 - Removed
-SystemUpdateoption fromSet-PnPListItemas it has been deprecated two years ago. Use-UpdateType SystemUpdateinstead #2396
Fixed
- Fixed issue where passing in
-ConnectiontoDisconnect-PnPOnlinewould throw an exception #2093 - Fixed
Get-PnPSiteSearchQueryResultsthr...
Release 1.11.0
Added
- Added
-Waitand-Verboseoptional paramarers toNew-PnPUPABulkImportJob#1752 - Added
Add-PnPTeamsChannelUserwhich allows members and owners to be added to private channels in Teams #1735 - Added
Channelparameter toAdd-PnPTeamsUsercmdlet 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
ResourceBehaviorOptionsoption inNew-PnPMicrosoft365Groupcmdlet to setResourceBehaviorOptionswhile provisioning a Microsoft 365 Group. #1774 - Added
Add-PnPTeamsChannelUserwhich allows members and owners to be added to private channels in Teams #1735 - Added
ExcludeVisualPromotedResultsparameter toGet-PnPSearchConfigurationwhich excludes promoted results #1750 - Added
MediaTranscriptionparameter toSet-PnPTenantSiteandSet-PnPSitecmdlets which when enabled allows videos to have transcripts generated on demand or generated automatically in certain scenarios. - Added
-SensitivityLabelsparameter toNew-PnPTeamsTeamandNew-PnPMicrosoft365Groupcmdlets to apply sensitivity label to the Microsoft 365 Group and Team. - Added
-SensitivityLabelsparameter toSet-PnPMicrosoft365Groupcmdlets to apply sensitivity label to the Microsoft 365 Group and Team. - Added
MediaTranscriptionparameter toSet-PnPTenantSiteandSet-PnPSitecmdlets which when enabled allows videos to have transcripts generated on demand or generated automatically in certain scenarios - Added
Get-PnPTeamsChannelFilesFoldercmdlet to retrieve metadata for the location where files of a Teams channel are stored. #1799 - Added
Get-PnPVivaConnectionsDashboardACEto retrieve the Adaptive Card extensions from the Viva connections dashboard page. #1805 - Added
Add-PnPVivaConnectionsDashboardACEto add an Adaptive Card extension to the Viva connections dashboard page. #1805 - Added
Update-PnPVivaConnectionsDashboardACEto update an Adaptive Card extension in the Viva connections dashboard page. #1805 - Added
Remove-PnPVivaConnectionsDashboardACEto remove an Adaptive Card extension in the Viva connections dashboard page. #1805 - Added
Acceptparameter toInvoke-PnPSPRestMethodcmdlet which if specified will pass the Accept HTTP request header. #1795 - Added
Get-PnPFlowRuncmdlet to retrieve a specific run, or all runs from a specific Power Automate flow. #1819 - Added
Invoke-PnPGraphMethodcmdlet to invoke generic Microsoft Graph API Methods. #1820 - Added
TimeZoneparameter toNew-PnPSitecmdlet which allows setting of the site collection in the specified timezone. - Added
Stop-PnPFlowRuncmdlet to stop/cancel a specific Power Automate flow run. #1838 - Added
Remove-PnPTeamsChannelUsercmdlet to remove a user from a private channel. #1840 - Added
Get-PnPListItemPermissioncmdlet to retrieve item level permissions. #1534 - Added
Get-PnPTeamsChannelMessageReplyto retrieve all replies or a specific reply of a message in a Teams channel #1885 - Added
-Identityparameter toGet-PnPTeamsChannelMessagecmdlet to retrieve a specific message #1887 - Added new
PnP.PowerShellimage which also gets published to Docker Hub. #1580 - Added capability to Debug the module in Visual Studio. #1880
- Added
Set-PnPTeamsChannelUsercmdlet to update the role of user in a private channel. #1865 - Added
Restart-PnPFlowRunwhich allows for a failed Power Automate flow run to be retried #1915 - Added optional
-Connectionparameter toGet-PnPConnection,Get-PnPContextandSet-PnPContextwhich allows for using any of these for a specific connection #1919 - Added
-IncludeDeprecatedparameter toGet-PnPTermcmdlet to fetch deprecated terms if specified #1903 - Added
-IncludeContentTypeparameter, which if specified will retrieve content type information of the list items. #1921 - Added optional
-ValidateConnectiontoConnect-PnPOnlinewhich will check if the site you are connecting to exists and if not, will throw an exception #1924 - Added
-Descriptionand-PrioritytoSet-PnPPlannerTask#1947 - Added
AllowTenantMoveWithDataMigrationtoGet-PnPPlannerConfigurationandSet-PnPPlannerConfiguration#1934 - Added the ability to retrieve a Planner plan by only its Id using
Get-PnPPlannerPlan -Identity <id>#1935 - Added
Add-PnPListItemAttachmentcmdlet to provide ability to upload a file as an attachment to a SharePoint list item. #1932 - Added
Remove-PnPListItemAttachmentcmdlet to provide ability to delete a list item attachment. #1932 - Added
Get-PnPListItemAttachmentcmdlet to download the attachments from a list item. #1932 - Added
-ReturnTypedparameter toGet-PnPFieldcmdlet so that it returns specific type instead of the generic field type. [#1888] (#1888) - Added
Add-PnPViewsFromXMLcmdlet to create one or more views in a list based on an XML string. #1963 - Added
-ExemptFromBlockDownloadOfNonViewableFilesparameter toSet-PnPListcmdlet to configure access capabilites for unmanaged devices at list level. #1973 - Added
-PercentComplete,-Priority,-StartDateTime,-DueDateTimeand-DescriptiontoAdd-PnPPlannerTask#1964 - Added
Set-PnPContentTypecmdlet to update the properties of the Content Types in a list or a web. #1981 - Added
-SharingCapabilityparameter to theNew-PnPTenantSitecmdlet to update the Sharing capabilties of the newly provisioned classic site collection. #1994 - Added optional
-IncludeAllListstoGet-PnPSiteScriptFromWebwhich will include the JSON definition of all custom lists of the current site in the output #1987 - Added
-UpdateChildrenparameter toAdd-PnPFieldToContentTypecmdlet. This allows users to skip pushing the fields to child content types. #1992 - Added optional
-SensitivityLabeltoSet-PnPSitewhich allows for a Microsoft Purview sensitivitylabel to be set #2024 - Added
-UpdateChildrenparameter toAdd-PnPFieldToContentTypecmdlet. This allows users to skip pushing the fields to child content types. #1092 - Added
Get-PnPAvailableSensitivityLabelcmdlet to retrieve Microsoft Purview sensitivity labels available on the tenant #2023 - Added
Get-PnPSiteSensitivityLabelcmdlet to retrieve the Microsoft Purview sensitivity label set on the current site #2036 - Added
Set-PnPSiteClassificationcmdlet which allows setting a classic site classification on the current site #2036 - Added
Set-PnPSiteSensitivityLabelcmdlet which allows setting a Microsoft Purview sensitivity label on the current site #2036 - Added
Remove-PnPSiteSensitivityLabelcmdlet which allows removing the Microsoft Purview sensitivity label from the current site #2036 - Added
Get-PnPSensitivityLabelcmdlet to retrieve Microsoft Purview sensitivity labels available on the tenant #2023 - Added
Get-Microsoft365GroupYammerCommunitycmdlet to retrieve details on the Yammer Community connected to a Microsoft 365 Group #2038 - Added
Get-Microsoft365GroupTeamcmdlet to retrieve details on the Microsoft Teams team connected to a Microsoft 365 Group #2038 - Added
Get-Microsoft365GroupEndpointscmdlet to retrieve details on all endpoints connected to a Microsoft 365 Group #2038 - Added
-ExcludeDeletedSitesoptional parameter toGet-PnPSiteCollectionAppCatalogswhich allows for site collections with App Catalogs that are in the re...
Release 1.10.0
Added
- Added additional properties to the users returned by
Get-PnPMicrosoft365GroupMembersuch asuserType#1474 - Added
Update-PnPTeamsUsercmdlet to change the role of a user in an existing Teams team #1499 - Added
Get\New\Remove\Set-PnPMicrosoft365GroupSettingscmdlets to interact with Microsoft 365 Group settings. - Added
Get-PnPMicrosoft365GroupSettingTemplatescmdlet to retrieve system wide Microsoft 365 Group setting templates. - Added
Add\Remove\Invoke\Get-PnPListDesigncmdlets to add a list design, remove a list design and apply the list design. - Added
DisablePersonalListCreationparameter toSet-PnPTenantcmdlet to provide ability to disable personal lists creation #1545 - Added
DisabledModernListTemplateIdsandEnableModernListTemplateIdsparameters toSet-PnPTenantcmdlet to provide ability to disable or enable modern lists with specific Ids #1545 - Added
DisablePersonalListCreationandDisabledModernListTemplateIdsvalues to be displayed when usingGet-PnPTenantcmdlet #1545 - Added
Add\Remove\Set-PnPAdaptiveScopePropertycmdlets 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-PnPTeamsTeamcmdlet #1241 - Added the ability to set the title of a new modern page in SharePoint Online using
Add-PnPPageto be different from its filename by using-Title - Added optional
-UseBetaparameter toGet-PnPAzureADUserto 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
-Contentoption toAdd-PnPFilewhich 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-PnPTeamsPrimaryChannelto get the primary Teams channel, general, of a Team #1572 - Added
IgnoreDefaultPropertiesparameter toGet-PnPAzureADUserto allow for the default properties not to be retrieved but instead just the ones you specify usingSelect#1575 - Added
Publish\Unpublish-PnPContentTypeto allow for content types to be published or unpublished on hub sites #1597 - Added
Get-PnPContentTypePublishingStatusto get te current publication state of a content type in the content type hub site #1597 - Added ability to pipe the output of
Get-PnPTenantDeletedSiteto eitherRestore-PnPTenantDeletedSiteorRemove-PnPTenantDeletedSite#1596 - Added
Rename-PnPTenantSiteto rename a SharePoint Online site URL #1606 - Added optional
-Waitoption toSync-PnPSharePointUserProfilesFromAzureActiveDirectoryto allow for the script to wait until the user profile sync has completed - Added optional
-Verboseoption toSync-PnPSharePointUserProfilesFromAzureActiveDirectoryto allow for seeing the progress of the synchronization process - Added
Copy-PnPTeamsTeamwhich allows an existing Teams team to be copied into a new Team #1624 - Added
Set-PnPMessageCenterAnnouncementAsReadwhich allows setting one or more message center announcements as read for the current user #1151 - Added
Set-PnPMessageCenterAnnouncementAsUnreadwhich allows setting one or more message center announcements as unread for the current user #1151 - Added
Set-PnPMessageCenterAnnouncementAsArchivedwhich allows setting one or more message center announcements as archived for the current user #1151 - Added
Set-PnPMessageCenterAnnouncementAsNotArchivedwhich allows setting one or more message center announcements as not archived for the current user #1151 - Added
Set-PnPMessageCenterAnnouncementAsFavoritewhich allows setting one or more message center announcements as favorite for the current user #1151 - Added
Set-PnPMessageCenterAnnouncementAsNotFavoritewhich allows setting one or more message center announcements as not favorite for the current user #1151 - Added
-AsMemoryStreamoption toGet-PnPFileto allow for downloading of a file from SharePoint Online in memory for further processing #1638 - Added
-Streamoption toRead-PnPSiteTemplateto allow for processing on a PnP Provisioning Template coming from memory #1638 - Added
New-PnPAzureADUserTemporaryAccessPasswhich allows creation of a Temporary Access Pass for a specific user in Azure Active Directory - Added
-Forceoption toSet-PnPTenantto allow skipping the confirmation question for certain other parameters likeSignInAccelerationDomain,EnableGuestSignInAcceleration,BccExternalSharingInvitations,OrphanedPersonalSitesRetentionPeriod,OneDriveForGuestsEnabled,AllowDownloadingNonWebViewableFiles. - Added
Get-PnPCompatibleHubContentTypeswhich 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-PnPTeamsUsercmdlet. The cmdlet executes faster and we can now add users in batches of 200. #1548 - The
Move\Remove\Rename-PnPFoldercmdlets 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-PnPSharePointUserProfilesFromAzureActiveDirectoryto return our own entity instead of the one returned by CSOM #1559 - Changed running
Sync-PnPSharePointUserProfilesFromAzureActiveDirectorywith-WhatIfto 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-PnPAzureADUserto 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 -Identityno 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 -UseWebLoginto no longer suppress errors which should allow for certificate logins to be used #1706 - The cmdlet
New-PnPTeamsTeamno 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-PnPSitenot working withDisableCompanyWideSharingLinksparameter. - Fixed
Get-PnPListPermissionsreturning wrong information in case of broken inheritance. - Fixed
Submit-PnPSearchQuery -Query "somequery"yielding an error when no results #1520 - Fixed
Set-PnPTenantSitenot setting SharingCapability property correctly. - Fixed
Get-PnPMicrosoft365Groupretrieving non-Unified groups when parameters are not specified. - Fixed
Get-PnPRecycleBinListItemnot retrieving second stage items if onlyRowLimitis specified. - Fixed
Add-PnPDataRowsToSiteTemplateissue with PnP templates when it contained multilingual references. - Fixed
Copy-PnPItemProxyis not recognized as the name of a cmdlet, function, script file, or operable program error with the cmdlet. - Fixed
Add-PnPMicrosoft365GroupMember,Remove-PnPMicrosoft365GroupMember,Add-PnPTeamsUserandRemove-PnPTeamsUsernot being able to handle guest accounts containing # characters #1523 - Fixed not being able to pipe
Get-PnPHubSitetoGet-PnPHubSiteChildto retrieve all site collections which are associated to any hub site #1571 - Fixed
Add-PnPFileToSiteTemplatewhen used alongsideGet-PnPFilewhere 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-PnPMessageCenterAnnouncementreturning an error #1607 - Fixed
New-PnPTeamsTeamissue when adding Owners and Members. - Fixed running an admin cmdlet not always returning to the same cont...
Release 1.9.0
Added
- Added
Get-PnPTenantInstancewhich will return one or more tenant instances, depending if you have a multi-geo or single-geo (default) tenant. - 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 - Added
Get\Set-PnPPlannerConfigurationto allow working with the Microsoft Planner tenant configuration - Added
Get\Set-PnPPlannerUserPolicyto allow setting Microsoft Planner user policies for specific users - Added
Get\Add\Remove-PnPPlannerRosterwhich allows a Microsoft Planner Roster to be created, retrieved or removed - Added
Get\Add\Remove-PnPPlannerRosterMemberto be able to read, add and remove members from a Microsft Planner Roster - Added
Get-PnPPlannerRosterPlanto 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
-OffPeakand-Folderparameters forRequest-PnPSyntexClassifyAndExtract - Added
Invoke-PnPSiteScriptwhich 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-PnPListwhich 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-PnPWebHeaderto work with the Change the look > Header options of a site - Added
Enable-PnPPageSchedulingandDisable-PnPPageSchedulingto enable or disable page publishing scheduling on modern pages - Added ability to add multiple users to a Teams team in the
Add-PnPTeamsUsercmdlet - Added
-Credentials $credor-CurrentCredentialsto be allowed to be used in combination withConnect-PnPOnline -SPOManagementshell - Added
-InformationBarriersModein theSet-PnPTenantSitecmdlet which allows fine tuning of the information barriers mode per site collection - Added
-InformationBarriersSuspensionin theSet-PnPTenantcmdlet which allows information barriers to be enabled or disabled in a tenant - Added
-Recycleparameter toRemove-PnPPageto delete the page and send it to the recycle bin. This prevents permanently deleting the page and you can also restore it. - Added
-DemoteNewsArticleparameter to theSet-PnPPagecmdlet to demote an existing news post to a regular page. - Added
-Translateand-TranslationLanguageCodesparameters toSet-PnPPageandAdd-PnPPage. This enables multilingual page creation in sites. - Added
DisableSpacesActivationstate to be returned withGet-PnPTenant - Added
-AllowFilesWithKeepLabelToBeDeletedSPOand-AllowFilesWithKeepLabelToBeDeletedODBoptions toSet-PnPTenantwhich 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 usingGet-PnPTenant. - Added
DisableAddToOneDrivestate to be returned withGet-PnPTenantcmdlet. - Added
-DisableAddToOneDrivetoSet-PnPTenantcmdlet to enable/disable users from adding shortcuts to OneDrive. - Added optional
-Siteparameter toAdd-PnPContentTypesFromContenTypeHubwhich allows a specific site to be specified to add the content type hub content types to - Added
Set-PnPBuiltInSiteTemplateSettingsandGet-PnPBuiltInSiteTemplateSettingsto 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-PnPSiteDesignandAdd-PnPSiteDesignFromWeb - Added optional
-IsDefaultoption toGet-PnPPowerPlatformEnvironmentwhich 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
ResourceBehaviorOptionsoption inNew-PnPTeamsTeamcmdlet to setResourceBehaviorOptionswhile provisioning a Team - Added alias on
Copy-PnPFileforCopy-PnPFolder. It could already be used to copy a folder, but to make this more clear, and as we already had aCopy/Move-PnPFolderas well, the same cmdlet is now also available under its alternative cmdlet name. - Added
IsFluidEnabledstate to be returned withGet-PnPTenantcmdlet. - Added
-IsFluidEnabledtoSet-PnPTenantcmdlet to enable/disable users from using Fluid components. - Added
Add\Get\Remove-PnPListItemCommentcmdlets to deal with list item comments. Using these cmdlets, you will now be able to add, retrieve and delete list item comments. #1462 - Added
-ResourceTypeNameand-ResourceUrlparameters toGet-PnPAccessTokento fetch access token of specified resource. #1451
Changed
- Improved
Get-PnPFilecmdlet to handle large file downloads - Updated
Sync-PnPSharePointUserProfilesFromAzureActiveDirectoryto also allow results fromGet-PnPAzureADUser -Deltato be provided through-Users. - A clearer error message will now be returned when using
Add-PnPListItem -Listand specifying an invalid list name. - Response of
Add-PnPContentTypesFromContenTypeHubis 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-PnPUserTypecmdlet. - Improved documentation of
Add-PnPField, reflects the missing-AddToAllContentTypesparameter. - Improved documentation of
Get-PnPTaxonomyItemwith 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 -Usernot properly returning the specified user - Fixed group member retrieval through
Get-PnPAzureADGroupOwnerandGet-PnPAzureAdGroupMemberthrowing an exception when a security group has been placed in the Azure Active Directory group being queried - 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 - Fixed
Set-PnPListItemnot working when usingLabelandValuesparameters together - Fixed documentation for
Get-PnPFlowandEnable-PnPFlowcmdlets - Fixed issue with
Add-PnPListFoldersToProvisioningTemplatenot working when having nested folder structure - Fixed documentation for
Get-PnPFlowandEnable-PnPFlowcmdlets - Fixed
Sync-PnPSharePointUserProfilesFromAzureActiveDirectorynot being able to deal with multi value properties on the Azure Active Directory side, such asBusinessPhones - Fixed
Add-PnPListItemissue with setting MultiChoice columns when using-Batchparameter - Fixed issue with
Remove-PnPListItemwhen trying to use it withBatchparameter - Fixed
Add-PnPDataRowsToSiteTemplatenot exporting TaxonomyFieldValues properly - Fixed
Add/Set-PnPListItemissue with managed metadata / taxonomy field value failing in a batched request. - Fixed
Set-PnPListItemissue with settingModifieddate value properly when using-Batchparameter. - Fixed
Get-PnPTeamsTeam -Identitythrowing an exception if the name of the team would contain special characters - Fixed
Get-PnPTermthrowing an exception when used in combination with-Includes#1384 - Fixed
Get-PnPDiagnosticsthrowing an unable to cast exception under some circumstances #1380 - Fixed
Get-PnPTeamsTabissue with missing TeamsApp object values. It will now populate TeamsApp object with Id, DisplayName, ExternalId and DistributionMethod properties if available. #1459
Removed
- Removed
Add-PnPClientSidePageas that was marked deprecated. UseAdd-PnPPageinstead. - Removed
Get-PnPSubWebsas that was marked deprecated a year ago. UseGet-PnPSubWebinstead. #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
Added
- 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. - 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 - 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 -ViewInFileExplorerEnabledand requesting its current setting usingGet-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
-VerbosewithExport-PnPFlowso 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>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 - 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 - 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
Changed
- Renamed
Get-PnPFlowEnvironmenttoGet-PnPPowerAutomateEnvironment - Changed
Get-PnPSiteScriptFromWebto get a site script of the currently connected to site if-Urlis omitted. - Improved
Find-PnPFileerror message 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.- 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 - Changed
Set-PnPListItemPermissionto support piping in a roledefinition for-AddRoleand-RemoveRole - Changed that
Get-PnPSiteScript -Identitynow also works with the site script name instead of just the site script Id
Fixed
- Fixed
Get-PnPChangeLog -Nightlynot returning anything - Fixed issue with
Get-PnPUser -Identity xignoring 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-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. - Fixed an issue with
Get-PnPSiteScriptFromWebrequiring 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-PnPRoleDefinitionto i.e. filter by RoleTypeKind. - Fixed an issue with several PnP PowerShell cmdlets such as
Get-PnPTeamsUserwhere not all results would be returned - 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"
Removed
- Removed
ConvertTo-PnPClientSidePagecmdlet as it has been replaced byConvertTo-PnPPage
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. - Removed
Add-PnPUserToGroupas it has been replaced byAdd-PnPGroupMember - 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.
Release 1.7.0.
Changed
- Updated CSOM release
- Fixes issue with Get-PnPTenantSite
Release 1.6.0
Changed
- Get-PnPPage now can load pages living in a folder by specifying "folder/page.aspx"
- Added
-DisableBackToClassicoption to Set-PnPTenant
Contributors
- [thomassmart]
- Bert Jansen [jansenbe]
Release 1.5.0
Added
- 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
Contributors
- Bert Jansen [jansenbe]
- Koen Zomers [koenzomers]
- Gautam Sheth [gautamdsheth]
- Veronique Lengelle [veronicageek]
Release 1.4.0
Added
- 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
Changed
- 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
Release 1.3.0
Added
- 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.
Changed
- 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.
Installation
Install-Module -Name PnP.PowerShell