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.
- Added support for
.NET 6.0
since.NET Core 3.1
support is getting deprecated. We have removed support for .NET Core 3.1, so users will have to update fromPowerShell 7.0.x
toPowerShell 7.2.x or later
#2292 - Added default table formatted output for
Get-PnPVivaConnectionsDashboardACE
- Added
Get-PnPAzureADServicePrincipal
which allows for service principals/application registrations to be retrieved from Azure Active Directory #2551 - Added
Get-PnPAzureADServicePrincipalAssignedAppRole
which allows for the assigned app roles of a service principal/application registration to be retrieved from Azure Active Directory #2551 - Added
Get-PnPAzureADServicePrincipalAvailableAppRole
which allows for the available app roles of a service principal/application registration to be retrieved from Azure Active Directory #2551 - Added
Add-PnPAzureADServicePrincipalAppRole
which allows for app roles to be assigned to a service principal/application registration in Azure Active Directory #2551 - Added
Remove-PnPAzureADServicePrincipalAppRole
which allows for app roles to be removed from a service principal/application registration in Azure Active Directory #2551 - Added latest added SharePoint Online Site Templates to
Set-PnPBuiltInSiteTemplateSettings
allowing them to be hidden or shown #2586 - Added
-EnableAzureADB2BIntegration
and-SyncAadB2BManagementPolicy
parameters toSet-PnPTenant
#2631 - Added
-ShowInFiltersPane
toSet-PnPField
which allows fields to be shown or hidden in the filters pane #2623 - Added
-KeyColumn
toAdd-PnPDataRowsToSiteTemplate
which allows for overwriting existing list items in a site template #2616 - Added
Get-PnPFolderStorageMetric
which allows storage usage of a specific folder to be retrieved #2646 - Added
IsTeamsConnected
,IsTeamsChannelConnected
andTeamChannelType
to be returned whenGet-PnPTenantSite
cmdlet is executed. #2656 - Added
HTTP/2
support for all HTTP requests to improve performance for HTTP requests. #2687 - Added
-EnvironmentVariable
parameter toConnect-PnPOnline
to connect using Azure environment variables. #2681 - Added
ResponseHeadersVariable
parameter to theInvoke-PnPSPRestMethod
which if specified will store the response headers values in the PowerShell variable name that is specified. #2711 - Added
-Filter
parameter toGet-PnPAzureADServicePrincipal
cmdlet to retrieve specific application registrations based on filter conditions. It supports simple and advanced queries. #2710 - Added
-Filter
parameter toGet-PnPMicrosoft365Group
cmdlet to retrieve specific M365 groups based on filter conditions. It supports simple and advanced queries. #2709 - Added
-CoreRequestFilesLinkExpirationInDays
and-CoreRequestFilesLinkEnabled
toSet-PnPTenant
and-RequestFilesLinkExpirationInDays
toSet-PnPSite
to allow configuration of the new receive files to SharePoint Online folder feature #2719 - Added
PSVersion
tracking, which tracks the PowerShell version being used. #Commit - Added
-Bcc
option toSend-PnPMail
#2726 - Added
-AudienceIds
option toAdd-PnPNavitationNode
to allow setting the audience for a navigation node #2736 - Added
-PrimarySiteCollectionAdmin
toAdd-PnPSiteCollectionAdmin
to allow for the primary site collection admin to be set on the current site #2750 - Added
-PrimarySiteCollectionAdmin
toSet-PnPTenantSite
to allow for the primary site collection admin to be set on a provided site #2750 - Added additional fallback logic for retrieving tokens in Azure VM scenario using well-know endpoint when using Managed Identity authentication. #2761
Update-PnPVivaConnectionsDashboardACE
is now calledSet-PnPVivaConnectionsDashboardACE
butUpdate-PnPVivaConnectionsDashboardACE
will still work as an alias.- All
Set|Get|Remove-PnPVivaConnectionsDashboardACE
cmdlets now take either the InstanceId (preferred), Title, the Id, or an actual ACE for the Identity property. If multiple ACEs of the same id or with the same title are found a warning will be shown if Id or Title is used to find the ACE. - Made PropertiesJSON an optional parameter on
Add-PnPVivaConnectionsDashboardACE
as it is not always required when adding an ACE - Added a 10 second timeout on the new version check on
Connect-PnPOnline
to prevent the cmdlet from hanging when the connection is slow, GitHub being blocked by a firewall or GitHub being unavailable #2550 - Improved
Add-PnPField
,Get-PnPListItem
andGet-PnPSiteDesignRun
cmdlets by improving null checks based on warnings from compiler. #PR1 and #PR2 - Improved
Register-PnPAzureADApp
andRegister-PnPManagementShellAccess
cmdlets to reuse existing HTTP client instead of creating a new one. #2682 - Improved
Register-PnPAzureADApp
cmdlet based on compiler warnings. #2682 Connect-PnPOnline
will now throw a much clearer error message if the site to be connected doesn't exist when using the legacy Client Id with Secret (ACS) authentication mode. #2707- Properties of
Get-PnPAzureADServicePrincipal
are now all typed instead of some of them returning unparsed JSON fragments. #2717 - Marked
Get-PnPSubscribeSharePointNewsDigest
andSet-PnPSubscribeSharePointNewsDigest
as obsolete as the implementation behind these features has been changed in SharePoint Online causing them no longer to work. At present, there's no alternative for this that we can call into thus we will have to remove these in a future version. #2720
- Fixed issue with -CreateDrive on
Connect-PnPOnline
throwing exception on non-existing context - Fixed issue with non-existing ItemProxy cmdlet aliases being registered
- Fixed issue with
-TranslationLanguageCode
failures inAdd-PnPPage
andSet-PnpPage
cmdlets. #2634 - Fixed issue with
Export-PnPUserInfo
andRemove-PnPUserInfo
cmdlets not working due to issue with parameter validation. #2688 - Fixed issue with
Add-PnPNavigationNode
not always showing the new navigation node without requiring a manual edit and save of the menu first #2736 - Fixed issue with
Get-PnPFolder
ignoring-Includes
parameter when passing in a specific list through-List
#2735 - Fixed the handling of
-ErrorAction
so it follows the standard PowerShell behavior #2741 - Fixed issue with
Set-PnPContentType
not allowing you to update basic properties of a content type #2760 - Fixed
Add-PnPField
not supporting a ReturnType to be set for calculated fields when created on the site level #2765
- Arleta Wanat [PowershellScripts]
- Leon Armston [LeonArmston]
- Robin Meure [robinmeure]
- Rohit Varghese [rohitvarghese96]
- Arleta Wanat [PowershellScripts]
- Erwin van Hunen [erwinvanhunen]
- Marc Studer [studermarc]
- [vin-ol]
- Koen Zomers [koenzomers]
- Added
-DisableGridEditing
option toSet-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 onSpoOperation
. #2207 - Added support for
DisplayNamesOfFileViewers
andDisplayNamesOfFileViewersInSpo
properties inGet-PnPTenant
andSet-PnPTenant
cmdlets to show/hide viewers in property pane for a file. #2271 - Added
MailEnabled
,PreferredDataLocation
,PreferredLanguage
andSecurityEnabled
parameters toNew-PnPMicrosoft365Group
cmdlet. #2268 - Added
-DraftVersionVisibility
parameter to theSet-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 anSystem.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 inGet-PnPTenant
andSet-PnPTenant
cmdlets to to enable/disable loop components in the tenant. #2307 - Added support for
SubscribeMembersToCalendarEventsDisabled
resource behavior option inNew-PnPMicrosoft365Group
andNew-PnPTeamsTeam
cmdlet. #2349 - Added
-OneDriveRequestFilesLinkEnabled
option toSet-PnPTenant
to allow configuring the request files anonymously feature on the tenant level #2360 - Added
-RequestFilesLinkEnabled
option toSet-PnPSite
to allow configuring the request files anonymously feature on a per site collection level #2360 - Added
ScriptSafeDomainName
option toSet-PnPSite
to allow contributors to insert iframe from specified domains only. #2363 - Added
AlertTemplateName
paramter toAdd-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 toSet-PnPList
which allows the url of a list to be changed within the same site #2381 - Added
-Force
option toSet-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
andImageWidth
parameters toAdd-PnPPageTextPart
cmdlet so that users can add an inline image into a text webpart. #2401 - Added
TextBeforeImage
andTextAfterImage
parameters toAdd-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 toUpdate-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 toSet-PnPTenant
andRestrictedAccessControl
forSet-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 toGet-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 toGet-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 toSet-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 to no longer require
https://
to be prefixed when usingConnect-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 whenKey
parameter is specified. #2275 - Improved
Get-PnPAuthenticationRealm
cmdlet to useHTTP Client
instead ofWebRequest
. #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 useAdd-PnPTeamsChannel -ChannelType Private
instead #2308 - Improved
Get-PnPAuthenticationRealm
cmdlet to useHTTPClient
instead ofWebRequest
. #2304 - Improved
Connect-PnPOnline
with ACS method. Replace the usage ofWebRequest
withHTTPClient
. #2352 - Improved
Remove-PnPFieldFromContentType
cmdlet to ensure proper null check for non-existing fields. It will now throw properField not found
error. #2407 - Changed the Microsoft 365 Groups cmdlets to use the
v1.0
endpoint instead of thebeta
#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
- Marked
-Resource
parameter fromGet-PnPAccessToken
cmdlet as obsolete as it was not used anymore anyway. It will be removed in a future version. #2182 - Removed
-SystemUpdate
option fromSet-PnPListItem
as it has been deprecated two years ago. Use-UpdateType SystemUpdate
instead #2396
- Fixed issue where passing in
-Connection
toDisconnect-PnPOnline
would throw an exception #2093 - Fixed
Get-PnPSiteSearchQueryResults
throwingValue cannot be null
exception #2138 - Fixed
New-PnPUPABulkImportJob
not returing the job Id #2144 - Fixed
Get-PnPSiteCollectionAppCatalog
throwing an exception when the site was deleted #2201 - Fixed
Set-PnPTermGroup
throwing an exception even when the group existed. #2232 - Fixed
Remove-PnPFile
cmdlet parameter set error. #2230 - Fixed
Get-PnPAccessToken
cmdlet to be able to work with different site collections as well as require an actual connection first. #2270 - Fixed
Copy-PnPList
cmdlet to be able to copy the list structure to the destination web. #2313 - Fixed
Add-PnPField
cmdlet , it was throwing null reference error when-Type
was not specified and after the prompt you entered the correct type. #2338 - Fixed regression issue with
New-Microsoft365Group
cmdlet. #2349 - Fixed issue with
Add-PnPTaxonomyField
, it was throwing error when using-TaxonomyItemId
parameter. #2351 - Fixed
Import-PnPTermGroupFromXml
issue where a valid template was not working. #2353 - Fixed
Set-PnPTenant
cmdlet not working when-Force
parameter is specified. #2373 - Fixed
Add-PnPTeamsTab
cmdlet not working with certain types when using dynamic parameters. #2405 - Fixed
Get-PnPVivaConnectionsDashboardACE
missing theisVisible
property underCardButtonActions
causing usingUpdate-PnPVivaConnectionsDashboardACE
to hide card buttons [#2433](pnp#2433 - Fixed issue with
Set-PnPTeamsChannel -IsFavoriteByDefault
throwing aNullable object must have a value
under certain circumstances #2425 - Fixed
Register-PnPManagementShellAccess
for non-commercial cloud environment. Users must enter the tenant name if the environment is a non-commercial cloud environment. #2437 - Fixed issue with writing warning or error messages in Azure automation or screens with small width. #2438
- Fixed issue with
Enable-PnPTenantServicePrincipal
not respecting-Force
parameter. #2448 - Fixed issue with
Get-PnPRecycleBinItem
not working when there are large number of items in recycle bin.#2472 - Fixed Microsoft Graph based cmdlets not showing detailed error results when a call fails #2490
- Fixed
Restore-PnPRecycleBinItem
cmdlet not working with-RowLimit
parameter. #2499 - Fixed cmdlets throwing error when
-ErrorAction SilentlyContinue
was specified. #2510 - Fixed
Get-PnPAzureADAppSitePermission
not returning the roles assigned to each permission #2523
- Russell Gove [russgove]
- Jasper Beerens
- Aleksandr Sapozhkov [shurick81]
- James Eccles [jameseccles]
- Martin Lingstuyl [martinlingstuyl]
- Antti K. Koskela [koskila]
- Dan Toft [tandddant]
- Yannick Plenevaux [ypcode]
- Rob Lempens [RobLempens]
- Marc Studer [Studermarc]
- Giacomo Pozzoni [jackpoz]
- Adam Wójcik [Adam-it]
- reusto
- Mikael Svenson [wobba]
- Josef Benda [SmarterJB]
- Alex Grover [groveale]
- Nik Charlebois [NikCharlebois]
- Milan Holemans [milanholemans]
- Miguel A. Tena [mikewaretena]
- Reshmee Auckloo [reshmee011]
- Leon Armston [LeonArmston]
- Giacomo Pozzoni [jackpoz]
- James May [fowl2]
- Jimmy Hang [JimmyHang]
- Marcus Blennegård [mblennegard]
- Arleta Wanat [PowerShellScripts]
- Koen Zomers [koenzomers]
- Added
-Wait
and-Verbose
optional paramarers toNew-PnPUPABulkImportJob
#1752 - Added
Add-PnPTeamsChannelUser
which allows members and owners to be added to private channels in Teams #1735 - Added
Channel
parameter toAdd-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 inNew-PnPMicrosoft365Group
cmdlet to setResourceBehaviorOptions
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 toGet-PnPSearchConfiguration
which excludes promoted results #1750 - Added
MediaTranscription
parameter toSet-PnPTenantSite
andSet-PnPSite
cmdlets which when enabled allows videos to have transcripts generated on demand or generated automatically in certain scenarios. - Added
-SensitivityLabels
parameter toNew-PnPTeamsTeam
andNew-PnPMicrosoft365Group
cmdlets to apply sensitivity label to the Microsoft 365 Group and Team. - Added
-SensitivityLabels
parameter toSet-PnPMicrosoft365Group
cmdlets to apply sensitivity label to the Microsoft 365 Group and Team. - Added
MediaTranscription
parameter toSet-PnPTenantSite
andSet-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 toInvoke-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 toNew-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 toGet-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 toGet-PnPConnection
,Get-PnPContext
andSet-PnPContext
which allows for using any of these for a specific connection #1919 - Added
-IncludeDeprecated
parameter toGet-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
toConnect-PnPOnline
which will check if the site you are connecting to exists and if not, will throw an exception #1924 - Added
-Description
and-Priority
toSet-PnPPlannerTask
#1947 - Added
AllowTenantMoveWithDataMigration
toGet-PnPPlannerConfiguration
andSet-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 toGet-PnPField
cmdlet so that it returns specific type instead of the generic field type. #1888 - Added
Add-PnPViewsFromXML
cmdlet to create one or more views in a list based on an XML string. #1963 - Added
-ExemptFromBlockDownloadOfNonViewableFiles
parameter toSet-PnPList
cmdlet to configure access capabilites for unmanaged devices at list level. #1973 - Added
-PercentComplete
,-Priority
,-StartDateTime
,-DueDateTime
and-Description
toAdd-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 theNew-PnPTenantSite
cmdlet to update the Sharing capabilties of the newly provisioned classic site collection. #1994 - Added optional
-IncludeAllLists
toGet-PnPSiteScriptFromWeb
which will include the JSON definition of all custom lists of the current site in the output #1987 - Added
-UpdateChildren
parameter toAdd-PnPFieldToContentType
cmdlet. This allows users to skip pushing the fields to child content types. #1992 - Added optional
-SensitivityLabel
toSet-PnPSite
which allows for a Microsoft Purview sensitivitylabel to be set #2024 - Added
-UpdateChildren
parameter toAdd-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 toGet-PnPSiteCollectionAppCatalogs
which allows for site collections with App Catalogs that are in the recycle bin to be exluded from the results #2044 - Added
-CurrentSite
optional parameter toGet-PnPSiteCollectionAppCatalogs
which allows for checking if the currently connected to site has a site collection App Catalogs provisioned on it #2044 - Added
ExternalUserExpirationRequired
andExternalUserExpireInDays
parameters toSet-PnPTenant
cmdlet to handle expiration policy for External users.
- Changed
Sync-PnPSharePointUserProfilesFromAzureActiveDirectory
to map users based on their Ids instead which should resolve some issues around user identities reporting not to exist. You can use the new-IdType
option to switch it back toPrincipalName
if needed. #1752 - Changed
Add-PnPField
now returns specific type taxonomy field type instead of the generic type. #1888 - Changed
Get-PnPOrgAssetsLibrary
to return a proper value of the organisation assets libraries. #1889 - Bumped .NET Framework version to 4.6.2 as the 4.6.1 is not supported anymore. #1856
- Changed
Add-PnPDataRowsToSiteTemplate
, it will now export a datetime field value as UTC string. #1900 - The cmdlets
Remove-PnPFile
,Remove-PnPFolder
,Move-PnPListItemToRecycleBin
,Remove-PnPList
,Remove-PnPListItem
andRemove-PnPPage
will now return the corresponding recycle bin item if they get deleted to the recycle bin. Before they would not return anything. #1783 - Cmdlets backed by a Microsoft Graph call will now return detailed information when the Graph call fails #1923
- Changed
Get-PnPPlannerBucket
to return the buckets in the correct (reversed) order as you see them through the web interface #1922 - Changed
Connect-PnPOnline -Interactive
andConnect-PnPOnline -DeviceLogin
to no longer suppress errors which should allow for certificate logins to be used. #1933 Set-PnPTeamsChannel
now uses the Graph v1 endpoint, previously it used the beta endpoint. #1938- Service Health cmdlets have been improved and are now consistent with other cmdlets to handle pagination #1938
- Changed that almost every cmdlet now supports passing in a specific connection using
-Connection
. If omitted, the default connection will be used. #1949, #2011, #1958 - Changed connecting with
Connect-PnPOnline -Credentials
now throwing a clear exception when making a typo in the hostname instead of getting stuck #686 - Renamed
Get-PnPSiteClassification
toGet-PnPAvailableSiteClassification
to fall in line withGet-PnPAvailableSensitivityLabel
. Old name will stay as an alias for backwards compatibility for now, but will be removed in a future version. #2036 - Renamed
Add-PnPSiteClassification
toAdd-PnPAvailableSiteClassification
to fall in line withGet-PnPAvailableSensitivityLabel
. Old name will stay as an alias for backwards compatibility for now, but will be removed in a future version. #2036 - Renamed
Update-PnPSiteClassification
toUpdate-PnPAvailableSiteClassification
to fall in line withGet-PnPAvailableSensitivityLabel
. Old name will stay as an alias for backwards compatibility for now, but will be removed in a future version. #2036 - Renamed
Remove-PnPSiteClassification
toRemove-PnPAvailableSiteClassification
to fall in line withGet-PnPAvailableSensitivityLabel
. Old name will stay as an alias for backwards compatibility for now, but will be removed in a future version. #2036 - Changed
Get-PnPHubSiteChild
to have its-Identity
parameter become optional. If not provided, the currently connected to site will be used. #2033 - Changed
Get-PnPSiteCollectionAppCatalogs
(plural) toGet-PnPSiteCollectionAppCatalog
(singular) to follow the naming convention #2044
- Fixed
Get-PnPTenantSite
cmdlet so that it will return data even if the template name is specified in a different case. #1773 - Fixed
Add-PnPDocumentSet
cmdlet so that it will support Document Set Content Type Id specified at the web level. #1796 - Fixed
Get-PnPGroup
,Get-PnPGroupPermissions
andSet-PnPGroupPermissions
cmdlets by making them more consistent. They will also throw error if a group is not found. #1808 - Fixed
Get-PnPFile
issue with every 3rd file download in PS 5. - Fixed
Add-PnPContentTypesFromContentTypeHub
, ifSite
parameter is specified, it will be used now to sync content types from content type hub site. - Fixed
Get-PnPTeamsTeam
, the cmdlet now also returns additional properties likeWebUrl, CreatedDateTime, InternalId
#1825 - Fixed
Add/Set-PnPListItem
, the cmdlet now works correctly with-Batch
parameter for field types other than string. #1890 - Fixed
Get-PnPTeamsTeam
, the cmdlet now also returns additional properties likeWebUrl, CreatedDateTime, InternalId
. #1825 - Fixed
Set-PnPListPermission
, it will now throw error if the list does not exist. #1891 - Fixed
Invoke-PnPSPRestMethod
invalid parsing for SharePoint number columns. #1877 - Fixed issue with
Add/Set-PnPListItem
not throwing correct exception for invalid taxonomy values. #1870 - Fixed
Sync-PnPSharePointUserProfilesFromAzureActiveDirectory
throwing an "Object reference not set to an instance of an object" exception when providing an empty users collection or incorrect user mapping #1896 - Fixed
Connect-PnPOnline -ReturnConnection
also setting the current connection instead of just the returned connection #1919 - Fixed
Disconnect-PnPOnline -Connection
also disconnecting other connections next to the provided connection #1919 - Fixed
Set-PnPContext
not properly applying the provided context #1919 - Fixed Graph endpoints for non-commercial clouds for Managed Identity and Teams cmdlets #1944
- Fixed
Add-PnPTeamsUser
, the parameter-Channel
is now not required. #1953 - Fixed
Get-PnPPlannerTask
throwing an object reference exception for completed tasks #1956 - Fixed
Get-PnPUserOneDriveQuota
returning the maximum possible quota instead of the actual configured quota on a OneDrive for Business site #1902 - Fixed
Get-PnPFile
throwing an exception when trying to download a file containing the plus character #1990 - Fixed
Get-PnPTeamsChannel
not working correctly with PowerShell select. #1988 - Fixed
Update-PnPSiteClassification
, it was ignoring theSettings
parameter. It will now be processed. #1989 - Fixed
Register-PnPAzureADApp
issue with app creation after the connection related changes. #1993 - Fixed
Get-PnPFileVersion
not able to correctly use piping on the returned object. #1997 - Fixed
Add-PnPListItem
not showing field name when it has an improper value assigned to it #2002 - Fixed
Update-PnPSiteClassification
not allowing the-UsageGuidelinesUrl
to be set without also setting-DefaultClassification
#2036 - Fixed the browser consent dialog throwing an exception when trying to close it #2037
- Fixed
Get-PnPHubSiteChild
throwing an exception when passing in a URL that is actually not a hub site #2033 - Fixed
Add-PnPListItem
not showing field name when it has an improper value assigned to it #2002 - Fixed connecting using
Connect-PnPOnline -Interactive -ClientId
not working well when already having an App-Only connection using the same ClientId #2035 - Fixed
Get-PnPSiteCollectionAppCatalog
not returning updated site collection URLs if they had been renamed #2044 - Fixed cmdlets inheriting from PnPAdminCmdlet not working well on vanity domain SharePoint Online tenants #2052
- Fixed
Copy-PnPList
throwing an unauthorized exception when using it with a non SharePoint Online administrator user #2054
- Removed
Get-PnPAvailableClientSideComponents
. UseGet-PnPPageComponent -Page -ListAvailable
instead. #1833 - Removed
NextLink
property fromGet-PnPAzureADUser
cmdlet, as it was causing confusion. #1930 - Deprecated the
-Connection
parameter ofDisconnect-PnPOnline
cmdlet, as it was technically not capable of clearing a connection reference anyway #1949
- Ali Robertson [alirobe]
- Leif Frederiksen [Leif-Frederiksen]
- Emily Mancini [eemancini]
- Jim Duncan [sparkitect]
- Arleta Wanat [PowershellScripts]
- Yuriy Samorodov [YuriySamorodov]
- Arleta Wanat [PowershellScripts]
- Marc D Anderson [sympmarc]
- dc366 [dc366]
- Bart-Jan Dekker [bjdekker]
- Aleksandr Sapozhkov [shurick81]
- [spg-iwilson]
- Jago Pauwels [jagopauwels]
- [4ndri]
- Martin Lingstuyl [martinlingstuyl]
- James May [fowl2]
- Milan Holemans [milanholemans]
- Arleta Wanat [PowershellScripts]
- Koen Zomers [koenzomers]
- Mikael Svenson [wobba]
- Gautam Sheth [gautamdsheth]
- Added additional properties to the users returned by
Get-PnPMicrosoft365GroupMember
such asuserType
#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 toSet-PnPTenant
cmdlet to provide ability to disable personal lists creation #1545 - Added
DisabledModernListTemplateIds
andEnableModernListTemplateIds
parameters toSet-PnPTenant
cmdlet to provide ability to disable or enable modern lists with specific Ids #1545 - Added
DisablePersonalListCreation
andDisabledModernListTemplateIds
values to be displayed when usingGet-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 toGet-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 toAdd-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 toGet-PnPAzureADUser
to allow for the default properties not to be retrieved but instead just the ones you specify usingSelect
#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 eitherRestore-PnPTenantDeletedSite
orRemove-PnPTenantDeletedSite
#1596 - Added
Rename-PnPTenantSite
to rename a SharePoint Online site URL #1606 - Added optional
-Wait
option toSync-PnPSharePointUserProfilesFromAzureActiveDirectory
to allow for the script to wait until the user profile sync has completed - Added optional
-Verbose
option toSync-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 toGet-PnPFile
to allow for downloading of a file from SharePoint Online in memory for further processing #1638 - Added
-Stream
option toRead-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 toSet-PnPTenant
to allow skipping the confirmation question for certain other parameters likeSignInAccelerationDomain,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
- 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 - Improved
New-PnPUPABulkImportJob
by optimizing it and also adding support forWhatIf
paramater. #2040
- Fixed
Set-PnPSite
not working withDisableCompanyWideSharingLinks
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 onlyRowLimit
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
andRemove-PnPTeamsUser
not being able to handle guest accounts containing # characters #1523 - Fixed not being able to pipe
Get-PnPHubSite
toGet-PnPHubSiteChild
to retrieve all site collections which are associated to any hub site #1571 - Fixed
Add-PnPFileToSiteTemplate
when used alongsideGet-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 context as before running the cmdlet #1611
- Fixed an issue where
Sync-PnPSharePointUserProfilesFromAzureActiveDirectory
would not correctly sync characters which are not part of the Western European encoding (iso-8859-1) - Fixed an issue where
Sync-PnPSharePointUserProfilesFromAzureActiveDirectory
would not correctly sync user profiles if a value contained a backslash () #1711
- Removed
Add-PnPClientSidePageSection
, useAdd-PnPPageSection
instead #1563 - Removed
Add-PnPClientSideWebPart
, useAdd-PnPPageWebPart
instead #1563 - Removed
Add-PnPClientSideText
, useAdd-PnPPageTextPart
instead #1563 - Removed
Get-PnPAADUser
, useGet-PnPAzureADUser
instead #1568 - Removed
Get-PnPOffice365CurrentServiceStatus
,Get-PnPOffice365HistoricalServiceStatus
,Get-PnPOffice365ServiceMessage
andGet-PnPOffice365Services
as Microsoft has removed the underlying Office Management APIs. UseGet-PnPMessageCenterAnnouncent
,Get-PnPServiceCurrentHealth
andGet-PnPServiceHealthIssue
instead. #1608
- Michael Vasiloff [mikevasiloff]
- [svermaak]
- Russell Gove [russgove]
- Mike Park [mikeparkie]
- Jerker Vallbo [jerval53]
- Gaurav Mahajan [mahajangaurav]
- Dennis [expiscornovus]
- Jasey Waegebaert [Jwaegebaert]
- Swapnil Shrivastava [swapnil1993]
- Hugo Bernier [hugoabernier]
- brenle
- Johan Brännmar [brannmar]
- Lschockaert
- Leon Armston [LeonArmston]
- Reshmee Auckloo [reshmee011]
- Arleta Wanat [PowershellScripts]
- Brendon Lee [brenle]
- Guillaume Bordier [gbordier]
- [reusto]
- Reshmee Auckloo [reshmee011]
- Veronique Lengelle [veronicageek]
- Gautam Sheth [gautamdsheth]
- Koen Zomers [koenzomers]
- 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 toAdd-PnPPage
andSet-PnPPage
to allow for scheduling a page to be published - Added
-RemoveScheduledPublish
toSet-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 forRequest-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 forRequest-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
andDisable-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 withConnect-PnPOnline -SPOManagementshell
- Added
-InformationBarriersMode
in theSet-PnPTenantSite
cmdlet which allows fine tuning of the information barriers mode per site collection - Added
-InformationBarriersSuspension
in theSet-PnPTenant
cmdlet which allows information barriers to be enabled or disabled in a tenant - Added
-Recycle
parameter toRemove-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 theSet-PnPPage
cmdlet to demote an existing news post to a regular page. - Added
-Translate
and-TranslationLanguageCodes
parameters toSet-PnPPage
andAdd-PnPPage
. This enables multilingual page creation in sites. - Added
DisableSpacesActivation
state to be returned withGet-PnPTenant
- Added
-AllowFilesWithKeepLabelToBeDeletedSPO
and-AllowFilesWithKeepLabelToBeDeletedODB
options toSet-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 usingGet-PnPTenant
. - Added
DisableAddToOneDrive
state to be returned withGet-PnPTenant
cmdlet. - Added
-DisableAddToOneDrive
toSet-PnPTenant
cmdlet to enable/disable users from adding shortcuts to OneDrive. - Added optional
-Site
parameter toAdd-PnPContentTypesFromContenTypeHub
which allows a specific site to be specified to add the content type hub content types to - Added
Set-PnPBuiltInSiteTemplateSettings
andGet-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
andAdd-PnPSiteDesignFromWeb
- Added optional
-IsDefault
option toGet-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 inNew-PnPTeamsTeam
cmdlet to setResourceBehaviorOptions
while provisioning a Team - Added alias on
Copy-PnPFile
forCopy-PnPFolder
. It could already be used to copy a folder, but to make this more clear, and as we already had aCopy/Move-PnPFolder
as well, the same cmdlet is now also available under its alternative cmdlet name. - Added
IsFluidEnabled
state to be returned withGet-PnPTenant
cmdlet. - Added
-IsFluidEnabled
toSet-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 toGet-PnPAccessToken
to fetch access token of specified resource. #1451 - Added
-BookmarkStatus
parameter toGet-PnPSearchConfiguration
cmdlet to call REST endpoint to fetch promoted results defined via query rules and output them in Bookmark supported CSV format.
- Improved
Get-PnPFile
cmdlet to handle large file downloads - Updated
Sync-PnPSharePointUserProfilesFromAzureActiveDirectory
to also allow results fromGet-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
Get-PnPGroupMember -User
not properly returning the specified user - Fixed group member retrieval through
Get-PnPAzureADGroupOwner
andGet-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 usingLabel
andValues
parameters together - Fixed documentation for
Get-PnPFlow
andEnable-PnPFlow
cmdlets - Fixed issue with
Add-PnPListFoldersToProvisioningTemplate
not working when having nested folder structure - Fixed documentation for
Get-PnPFlow
andEnable-PnPFlow
cmdlets - Fixed
Sync-PnPSharePointUserProfilesFromAzureActiveDirectory
not being able to deal with multi value properties on the Azure Active Directory side, such asBusinessPhones
- Fixed
Add-PnPListItem
issue with setting MultiChoice columns when using-Batch
parameter - Fixed issue with
Remove-PnPListItem
when trying to use it withBatch
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 settingModified
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
Add-PnPClientSidePage
as that was marked deprecated. UseAdd-PnPPage
instead. - Removed
Get-PnPSubWebs
as that was marked deprecated a year ago. UseGet-PnPSubWeb
instead. #1394
- Mikael Svenson [wobba]
- 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]
- Added flexibility to mix and pipe
Add\Get\Remove-PnPListItem
withGet-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
andGet-PnPServiceHealthIssue
cmdlets which pull their data out of the Microsoft Graph API and are replacing the formerGet-PnPOffice365CurrentServiceStatus
,Get-PnPOffice365HistoricalServiceStatus
andGet-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 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 -ViewInFileExplorerEnabled
and 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
-Verbose
withExport-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>
andRemove-PnPEventReceiver -Scope <All/Site/Web>
- Added
-Url
parameter toNew-PnPUPABulkImportJob
which allows providing a URL to an existing SharePoint User Profile import mapping instruction file stored on SharePoint Online - Added
Add-PnPSiteDesignFromWeb
which combinesGet-PnPSiteScriptFromWeb
,Add-PnPSiteScript
andAdd-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 combinesGet-PnPSiteScriptFromWeb
andSet-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
- Renamed
Get-PnPFlowEnvironment
toGet-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
andInvoke-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 - Changed that
Get-PnPUnifiedAuditLog
returns the error being returned by the Office Management API service, in case something goes wrong #1631
- 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 usingSelect -Latest 1
or the ones that failed using? State -ne "Succeeded"
- Fixed an issue where running
Get-PnPSiteDesign -Identity
passing in an identifier that did not exist would return an exception #1622
- Removed
ConvertTo-PnPClientSidePage
cmdlet 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-PnPUserToGroup
as it has been replaced byAdd-PnPGroupMember
- Removed
Get-PnPGroupMembers
cmdlet alias and related warning. The cmdletGet-PnPGroupMember
(singular) is available. - Removed
Remove-PnPUserFromGroup
cmdlet alias and related warning. The cmdletRemove-PnPGroupMember
is available. - Removed
Initialize-PnPPowerShellAuthentication
cmdlet alias and related warning. The cmdletRegister-PnPAzureADApp
is the replacement.
- 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
-DisableBackToClassic
option to Set-PnPTenant
- [thomassmart]
- Bert Jansen [jansenbe]
- 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
- Bert Jansen [jansenbe]
- Koen Zomers [koenzomers]
- Gautam Sheth [gautamdsheth]
- Veronique Lengelle [veronicageek]
- Added
-IncludeOwners
toGet-PnPMicrosoft365Group
. - Added
-AssignedTo
toAdd-PnPPlannerTask
andSet-PnPPlannerTask
allowing you to assign users to a task. - Added
Get-PnPAzureADApp
,Get-PnPAzureADAppPermission
andRemove-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
andRevoke-PnPAzureADAppSitePermission
- Added
-SkipHiddenWebParts
parameter to theConvertTo-PnPPage
cmdlet 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-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
- 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
-HideTitleInHeader
parameter toSet-PnPWeb
to hide or show the title in the header. Use-HideTitleInHeader
to hide it and-HideTitleInHeader:$false
to show it. - Added
-ShowContentUrl
parameter toRegister-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 toConnect-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.
- 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
onConnect-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 asSet-SPOSite
- Updated
Get-PnPTenantSite
to return same properties asGet-SPOSite
- Fixed issue where
-Interactive
onConnect-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 anUpdateType
parameter. ObsoletedSystemUpdate
. Also updated the backend logic so can now also specifyUpdateOverwriteVersion
to update the editor, author, modified and created fields. Register-PnPAzureADApp
now 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
-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.
- Mike Jensen [michael-jensen]
- Koen Zomers [koenzomers]
- Gautam Sheth [gautamdsheth]
- Todd Klindt [ToddKlindt]
- Giacomo Pozzoni [jackpoz]
- Added
-NoWait
switch toCopy-PnPFile
andMove-PnPFile
- Added
Receive-PnPCopyMoveJobStatus
cmdlet which works in combination with the-NoWait
parameter onCopy-PnPFile
andMove-PnPFile
. See the documentation for usage.
- Fixed issue with
Invoke-PnPSPRestMethod
to throw an non authorized exception in certain scenarios. - Fixed issue with using
-UseWebLogin
and 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-PnPFile
andMove-PnPFile
- Updated
Get-PnPTenantSite
to support-DisableSharingForNonOwnersStatus
- Added
-NoWait
switch toCopy-PnPFile
andMove-PnPFile
- Added
Receive-PnPCopyMoveJobStatus
cmdlet which works in combination with the-NoWait
parameter onCopy-PnPFile
andMove-PnPFile
. See the documentation for usage.
- Fixed issue with
Invoke-PnPSPRestMethod
to throw an non authorized exception in certain scenarios. - Fixed issue with using
-UseWebLogin
and 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-PnPFile
andMove-PnPFile
- Updated
Get-PnPTenantSite
to support-DisableSharingForNonOwnersStatus
First released version of PnP PowerShell
- Added
Get-PnPFlow
,Get-PnPFlowEnvironment
,Enable-PnPFlow
,Disable-PnPFlow
,Remove-PnPFlow
,Export-PnPFlow
cmdlets
- Documentation updates
- Yannick Reekmans [YannickRe]
- Reintroduced
-CertificateBase64Encoded
onConnect-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-PnPGroupPermissions
not removing roles from list correctly.
- Leon Armston [leonarmston]
- Koen Zomers [koenzomers]
- Updated certificate handling for
Register-PnPAzureADApp
andNew-PnPAzureCertificate
- Updated
Register-PnPAzureApp
to use popup windows on Microsoft Windows. Added the-NoPopup
switch to disable this behavior. - Updated
Invoke-PnPBatch
to fully execute a batch by default if one of the requests in the large batch throws an exception. Specify the-StopOnException
switch 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-PnPListItem
andSet-PnPListItem
- Updated documentation
- Deprecated the use of the
-Web
cmdlet parameters due to API reasons. UseConnect-PnPOnline -Url [fullsubweburl]
instead to connect to a subweb. - Updated
Get-PnPLabel
to 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-PnPListPermissions
cmdlet.
- Fixed issue where using
Connect-PnPOnline
in 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 -LaunchBrowser
will not try to attempt to close the popup window automatically anymore.Set-PnPLabel
will now check first if a label is available.- Documentation fixes
- Leon Armston [leonarmston]
- Bhishma Bhandari [bhishma]
- Renamed
Add-PnPUserToGroup
toAdd-PnPGroupMember
. Alias for the old cmdlet name is available. - Renamed
Remove-PnPUserFromGroup
toRemove-PnPGroupMember
. Alias for the old cmdlet name is available. - Renamed
Get-PnPGroupMembers
toGet-PnPGroupMember
. Alias for the old cmdlet name is available.
- Fixed issue when using
Connect-PnPOnline
using either-UseWebLogin
or-SPOManagementShell
and invoking a site template containing modern pages, or when trying to create or update modern pages using the PnP Cmdlets.
Register-PnPManagementShellAccess
will not automatically close the window after consent anymore.Connect-PnPOnline -UseWebLogin
now allows you to return the connection with-ReturnConnection
PR #71Remove-PnPTermGroup
now includes a-Force
parameter PR #70Get-PnPListItem
now can filter on both the GUID or the UniqueId value by specifying the -UniqueId parameter. PR #68
- Gautam Sheth [gautamdsheth]
- Added
-ReadSecurity
and-WriteSecurity
toSet-PnPList
cmdlet (0.3.15)
- Renamed
Add-PnPClientSidePage
toAdd-PnPPage
(0.3.15) - Renamed
Add-PnPClientSidePageSection
toAdd-PnPPageSection
(0.3.15) - Renamed
Add-PnPClientSideText
toAdd-PnPPageTextPart
(0.3.15) - Renamed
Add-PnPClientSideWeb
toAdd-PnPPageWebPart
(0.3.15) - Renamed
Export-PnPClientSidePage
toExport-PnPPage
(0.3.15) - Renamed
Export-PnPClientSidePageMapping
toExport-PnPPageMapping
(0.3.15) - Deprecated
Get-AvailableClientSidePageComponents
. UseGet-PnPPageComponents -Page <yourpage> -ListAvailable
(0.3.15) - Renamed
Get-PnPClientSidePageComponents
toGet-PnPPageComponents
(0.3.15) - Renamed
Get-PnPClientSidePage
toGet-PnPPage
(0.3.15) - Renamed
Move-PnPClientSidePageComponent
toMove-PnPPageComponent
(0.3.15) - Renamed
Remove-PnPClientSidePage
toRemove-PnPPage
(0.3.15) - Renamed
Remove-PnPClientSideComponent
toRemove-PnPPageComponent
(0.3.15) - Renamed
Save-PnPClientSidePageConversionLog
toSave-PnPPageConversionLog
(0.3.15) - Renamed
Set-PnPClientSidePage
toSet-PnPPage
(0.3.15) - Renamed
Set-PnPClientSideText
toSet-PnPPageTextPart
(0.3.15) - Renamed
Set-PnPClientSideWebPart
toSet-PnPPageWebPart
(0.3.15) - Removed '-Url' parameter from
Set-PnPWebPermission
. Use-Identity
instead. (0.3.13) - Renamed
Get-PnPSubWebs
toGet-PnPSubWeb
which is in line with PowerShell naming standards which state that cmdlets should use a singalar noun. Alias forGet-PnPSubWebs
is available. (0.3.13) Register-PnPManagementShellAccess
now uses a popup window to authenticate you when your run the cmdlet on Windows (0.3.10)- Breaking change: we changed
Grant-PnPTenantServicePrincipalPermission
andRevoke-PnPTenantServicePrincipalPermission
to 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
-HeaderLayoutType
parameter toSet-PnPClientSidePage
(0.3.6) - Fixed documentation for
Clear-PnPRecycleBinItem
(0.3.6) - Fixed issue with
Invoke-PnPTenantTemplate
not being able to acquire correct access token (0.3.6) - Added
GrouplessTeamSite
option to-WebTemplate
parameter forAdd-PnPSiteDesign
andSet-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-PnPSiteTemplateToMarkdown
to 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
-UseWeblogin
and-ForceAuthentication
toConnect-PnPOnline
to 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-UseWebLogin
within that time popup window will appear that will dissappear immediately, this is expected. Use-ForceAuthentication
to 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_UPDATECHECK
toOff
) to Connect-PnPOnline to skip version check if set. (0.2.15) - Added
Get-PnPChangeLog
cmdlet which returns this changelog. (0.2.14) - Added
-DeviceLogin
parameter 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
NoVersionCheck
optional flag toConnect-PnPOnline
PR#28 (0.2.9) - Added native support for Secret Management Modules (0.1.34)
- Marked -ExcludeSiteUrl as obselete on
Get-PnPMicrosoft365Group
for performance reasons. Use -IncludeSiteUrl instead. - Added -CloudShell switch to
Connect-PnPOnline
which 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-PnPTenant
and added support for DisableCustomAppAuthentication inGet-PnPTenant
.
- Added
Add-PnPHubToHubAssociation
cmdlet. - Added
Export-PnPUserInfo
cmdlet. - Added
Add-PnPSiteScriptPackage
cmdlet. - Added
Export-PnPUserProfile
cmdlet (0.1.6). - Added
Get-PnPAppErrors
cmdlet (0.1.6) - Added
Get-PnPAppInfo
cmdlet (0.1.6) - Added
Get-PnPBrowserIdleSignOut
cmdlet (0.1.6) - Added
Set-PnPBrowserIdleSignOut
cmdlet (0.1.6) - Added
Get-PnPBuiltInDesignPackageVisibility
cmdlet (0.1.6) - Added
Set-PnPBuiltInDesignPackageVisibility
cmdlet (0.1.7) - Added
Get-PnPExternalUser
cmdlet (0.1.7) - Added
Remove-PnPExternalUser
cmdlet (0.1.7) - Added
Get-PnPSiteCollectionAppCatalogs
cmdlet (0.1.7) - Added
Request-PnPPersonalSite
cmdlet (0.1.7) - Added
Get-PnPSiteGroup
cmdlet (0.1.8) - Added
Get-PnPSiteUserInvitations
cmdlet (0.1.8) - Added
Invoke-PnPSiteSwap
cmdlet (0.1.8) - Added
New-PnPSdnProvider
cmdlet (0.1.8) - Added
Remove-PnPSdnProvider
cmdlet (0.1.8) - Added
Remove-PnPHubToHubAssocation
cmdlet (0.1.9) - Added
Remove-PnPSiteUserInvitations
cmdlet (0.1.9) - Added
Remove-PnPTenantSyncClientRestriction
cmdlet (0.1.9) - Added
Remove-PnPUserInfo
cmdlet (0.1.9) - Added
Remove-PnPUserProfile
cmdlet (0.1.9) - Added
Repair-PnPSite
cmdlet (0.1.9) - Added
Test-PnPSite
cmdlet (0.1.9) - Added
Revoke-PnPUserSession
cmdlet (0.1.9) - Added
New-PnPSiteGroup
cmdlet (0.1.9) - Added
Remove-PnPSiteGroup
cmdlet (0.1.9) - Added
Set-PnPSiteGroup
cmdlet (0.1.9) - Added
Set-PnPSiteScriptPackage
cmdlet (0.1.9) - Added
Update-PnPUserType
cmdlet (0.1.9) - Added
Get-SPOStructuralNavigationCacheSiteState
cmdlet (0.1.10) - Added
Get-SPOStructuralNavigationCacheWebState
cmdlet (0.1.10) - Added
Set-SPOStructuralNavigationCacheSiteState
cmdlet (0.1.10) - Added
Set-SPOStructuralNavigationCacheWebState
cmdlet (0.1.10) - Added
Add-PnPTermToTerm
cmdlet (0.1.11) - Added
Get-PnPTermLabel
cmdlet (0.1.11) - Added
Remove-PnPTermLabel
cmdlet (0.1.11) - Added
Remove-PnPTerm
cmdlet (0.1.11) - Added
Set-PnPTerm
cmdlet (0.1.11) - Added
Add-PnPPlannerBucket
cmdlet (0.1.16) - Added
Add-PnPPlannerTask
cmdlet (0.1.16) - Added
Get-PnPPlannerBucket
cmdlet (0.1.16) - Added
Get-PnPPlannerPlan
cmdlet (0.1.16) - Added
Get-PnPPlannerTask
cmdlet (0.1.16) - Added
New-PnPPlannerPlan
cmdlet (0.1.16) - Added
Set-PnPPlannerBucket
cmdlet (0.1.16) - Added
Set-PnPPlannerPlan
cmdlet (0.1.16) - Added
Remove-PnPPlannerBucket
cmdlet (0.1.17) - Added
Remove-PnPPlannerPlan
cmdlet (0.1.17) - Added
Remove-PnPPlannerTask
cmdlet (0.1.17) - Added
Set-PnPPlannerTask
cmdlet (0.1.18)
- Added filename support for .md file with
Get-PnPSiteTemplate
to generate a markdown file. e.g. you can now execute for instanceGet-PnPSiteTemplate -Out .\myreport.md -Handlers Lists,ContentTypes,Features,WebSettings
to generate an markdown report of those artifacts. This is work in progress. - Fixed issue with
-UseWebLogin
throws a 403 error when connecting to a different site collection than the root site collection. - Removed
Enable-PnPPowerShellTelemetry
andDisable-PnPPowerShellTelemetry
. See Configure PnP PowerShell for more information on how to enable or disable telemetry collection (0.2.22) - Obsoleted
-NoTelemetry
and-NoVersionCheck
onConnect-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_DISABLETELEMETRY
is 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-PnPPowerShellTelemetry
andDisable-PnPPowerShellTelemetry
to manage this file. (0.2.21) - Renamed
-CloudShell
to-ManagedIdentity
onConnect-PnPOnline
(0.2.20) -CertificatePath
onConnect-PnPOnline
now accepts a relative path (0.2.19)- Reintroduced
-SPOManagementShell
as 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-PnPPowerShellAuthentication
toRegister-PnPAzureADApp
(0.2.15) - Updated
Get-PnPAzureCertificate
to work on Windows and Non-Windows OSes. (0.2.15) - Updated
Get-PnPAzureCertificate
to use-Path
and-Password
parameters instead of-CertificatePath
and-CertificatePassword
parameters (0.2.15) - Fixed using
New-PnPAzureCertificate
andGet-PnPAzureCertificate
throwing an exception PR #30 (0.2.15) - Updated
Initialize-PnPPowerShellAuthentication
so it can generate self-signed certs on other platforms than Windows. - Updated
Get-PnPUnifiedAuditLog
to support paged results. - Removed SiteUrl parameter from
Register-PnPManagementShell
as it is not required anymore - Fixed documentation on Add-PnPTeamsChannel PR#9
- Fixed documentation on Remove-PnPTeamsUser PR#10
- Renamed
Apply-PnPProvisioningTemplate
toInvoke-PnPSiteTemplate
. - Renamed
Get-PnPProvisioningTemplate
toGet-PnPSiteTemplate
. - Renamed
Add-PnPDataRowsToProvisioningTemplate
toAdd-PnPDataRowsToSiteTemplate
. - Renamed
Add-PnPFileToProvisioningTemplate
toAdd-PnPFileToSiteTemplate
. - Renamed
Add-PnPListFoldersToProvisioningTemplate
toAdd-PnPListFoldersToSiteTemplate
. - Renamed
Convert-PnPFolderToProvisioningTemplate
toConvert-PnPFolderToSiteTemplate
. - Renamed
Convert-PnPProvisioningTemplate
toConvert-PnPSiteTemplate
. - Renamed
Export-PnPListToProvisioningTemplate
toExport-PnPListToSiteTemplate
. - Renamed
New-PnPProvisioningTemplate
toNew-PnPSiteTemplate
. - Renamed
New-PnPProvisioningTemplateFromFolder
toNew-PnPSiteTemplateFromFolder
. - Renamed
Read-PnPProvisioningTemplate
toRead-PnPSiteTemplate
. - Renamed
Remove-PnPFileFromProvisioningTemplate
toRemove-PnPFileFromSiteTemplate
. - Renamed
Save-PnPProvisioningTemplate
toSave-PnPSiteTemplate
. - Renamed
Set-PnPProvisioningTemplateMetadata
toSet-PnPSiteTemplateMetadata
. - Renamed
Add-PnPProvisioningTemplate
toAdd-PnPSiteTemplate
. - Renamed
Apply-PnPTenantTemplate
toInvoke-PnPTenantTemplate
. - Removed
Get-PnPAppInstance
. UseGet-PnPApp
instead. - Removed
Import-PnPAppPackage
. UseInstal-PnPApp
instead. - Removed
Uninstall-AppInstance
. UseUninstall-PnPApp
instead. - Removed
Get-PnPHealthScore
as the value reported is only applicable to on-premises. - Removed
-MinimalHealthScore
fromConnect-PnPOnline
as the value reported from the server only applies to on-premises. - Removed
-SkipTenantAdminCheck
fromConnect-PnPOnline
. Check will be executed everytime where applicable. - Removed Obsolete parameter
-FromRecycleBin
fromRemove-PnPTenantSite
. UseClear-PnPTenantRecycleBinItem
instead. - Removed
-UserCodeMaximumLevel
and-UserCodeWarningLevel
fromSet-PnPTenantSite
: sandboxed solutions have been deprecated from SharePoint Online and these values are not applicable anymore. - Removed
-Out
parameter onNew-PnPAzureCertificate
. Use-OutPfx
instead. - Removed
Enable-PnPResponsiveUI
andDisable-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
-Identity
from Get-PnPAvailableLanguage as it does not apply to SharePoint Online. - Removed
Get-PnPManagementApiAccessToken
andGet-PnPOfficeManagementApiAccessToken
cmdlets. 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-PnPWorkflowInstance
andStop-PnPWorkflowInstance
due to deprecated of the Workflow Services in SharePoint Online. - Renamed
Test-PnPOffice365AliasIsUsed
toTest-PnPMicrosoft365AliasIsUsed
- Refactored some of the Taxonomy cmdlet parameters. See documentation.
- Change in
Copy-PnPFile
which should resolve some issues you may run into when copying files PR #2796 - Fixed several issues with
Get-PnPSubwebs
and added optional parameter-IncludeRootWeb
PR #3011
- Koen Zomers [koenzomers]
- Carlos Marins Jr [kadu-jr]
- Aimery Thomas [a1mery]
- Veronique Lengelle [veronicageek]