Skip to content

Latest commit

 

History

History
1140 lines (942 loc) · 98.7 KB

CHANGELOG.md

File metadata and controls

1140 lines (942 loc) · 98.7 KB

PnP.PowerShell Changelog

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.

[Current Nightly]

Added

  • 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 from PowerShell 7.0.x to PowerShell 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 to Set-PnPTenant #2631
  • Added -ShowInFiltersPane to Set-PnPField which allows fields to be shown or hidden in the filters pane #2623
  • Added -KeyColumn to Add-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 and TeamChannelType to be returned when Get-PnPTenantSite cmdlet is executed. #2656
  • Added HTTP/2 support for all HTTP requests to improve performance for HTTP requests. #2687
  • Added -EnvironmentVariable parameter to Connect-PnPOnline to connect using Azure environment variables. #2681
  • Added ResponseHeadersVariable parameter to the Invoke-PnPSPRestMethod which if specified will store the response headers values in the PowerShell variable name that is specified. #2711
  • Added -Filter parameter to Get-PnPAzureADServicePrincipal cmdlet to retrieve specific application registrations based on filter conditions. It supports simple and advanced queries. #2710
  • Added -Filter parameter to Get-PnPMicrosoft365Group cmdlet to retrieve specific M365 groups based on filter conditions. It supports simple and advanced queries. #2709
  • Added -CoreRequestFilesLinkExpirationInDays and -CoreRequestFilesLinkEnabled to Set-PnPTenant and -RequestFilesLinkExpirationInDays to Set-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 to Send-PnPMail #2726
  • Added -AudienceIds option to Add-PnPNavitationNode to allow setting the audience for a navigation node #2736
  • Added -PrimarySiteCollectionAdmin to Add-PnPSiteCollectionAdmin to allow for the primary site collection admin to be set on the current site #2750
  • Added -PrimarySiteCollectionAdmin to Set-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

Changed

  • Update-PnPVivaConnectionsDashboardACE is now called Set-PnPVivaConnectionsDashboardACE but Update-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 and Get-PnPSiteDesignRun cmdlets by improving null checks based on warnings from compiler. #PR1 and #PR2
  • Improved Register-PnPAzureADApp and Register-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 and Set-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

Removed

Fixed

  • 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 in Add-PnPPage and Set-PnpPage cmdlets. #2634
  • Fixed issue with Export-PnPUserInfo and Remove-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

Contributors

  • 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]

[1.12.0]

Added

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

Changed

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

Removed

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

Fixed

  • Fixed issue where passing in -Connection to Disconnect-PnPOnline would throw an exception #2093
  • Fixed Get-PnPSiteSearchQueryResults throwing Value 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 the isVisible property under CardButtonActions causing using Update-PnPVivaConnectionsDashboardACE to hide card buttons [#2433](pnp#2433
  • Fixed issue with Set-PnPTeamsChannel -IsFavoriteByDefault throwing a Nullable 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

Contributors

  • 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]

[1.11.0]

Added

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

Changed

  • 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 to PrincipalName 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 and Remove-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 and Connect-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 to Get-PnPAvailableSiteClassification to fall in line with Get-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 to Add-PnPAvailableSiteClassification to fall in line with Get-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 to Update-PnPAvailableSiteClassification to fall in line with Get-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 to Remove-PnPAvailableSiteClassification to fall in line with Get-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) to Get-PnPSiteCollectionAppCatalog (singular) to follow the naming convention #2044

Fixed

  • 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 and Set-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, if Site 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 like WebUrl, 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 like WebUrl, 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 the Settings 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

  • Removed Get-PnPAvailableClientSideComponents. Use Get-PnPPageComponent -Page -ListAvailable instead. #1833
  • Removed NextLink property from Get-PnPAzureADUser cmdlet, as it was causing confusion. #1930
  • Deprecated the -Connection parameter of Disconnect-PnPOnline cmdlet, as it was technically not capable of clearing a connection reference anyway #1949

Contributors

  • 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]

[1.10.0]

Added

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

Changed

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

Fixed

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

  • Removed Add-PnPClientSidePageSection, use Add-PnPPageSection instead #1563
  • Removed Add-PnPClientSideWebPart, use Add-PnPPageWebPart instead #1563
  • Removed Add-PnPClientSideText, use Add-PnPPageTextPart instead #1563
  • Removed Get-PnPAADUser, use Get-PnPAzureADUser instead #1568
  • Removed Get-PnPOffice365CurrentServiceStatus, Get-PnPOffice365HistoricalServiceStatus, Get-PnPOffice365ServiceMessage and Get-PnPOffice365Services as Microsoft has removed the underlying Office Management APIs. Use Get-PnPMessageCenterAnnouncent, Get-PnPServiceCurrentHealth and Get-PnPServiceHealthIssue instead. #1608

Contributors

  • 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]

[1.9.0]

Added

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

Changed

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

Fixed

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

Removed

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

Contributors

  • 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]

[1.8.0]

Added

  • Added flexibility to mix and pipe Add\Get\Remove-PnPListItem with Get-PnPList
  • Added ability to remove all list items from a list using Remove-PnPListItem -List <listname> and not providing a list item identifier.
  • Added Get-PnPMessageCenterAnnouncent, Get-PnPServiceCurrentHealth and Get-PnPServiceHealthIssue cmdlets which pull their data out of the Microsoft Graph API and are replacing the former Get-PnPOffice365CurrentServiceStatus, Get-PnPOffice365HistoricalServiceStatus and Get-PnPoffice365ServiceMessage cmdlets which pull their data from the Office Health and Communications API which is to be deprecated on December 17, 2021. If you're using any of these last three cmdlets, please rewrite your functionality to start using one of the first three cmdlets before this date.
  • Added option which allows new SharePoint 2013 Workflow creation to be disabled tenant wide by using Set-PnPTenant -StopNew2013Workflows and requesting its current setting using Get-PnPTenant | Select StopNew2013Workflows
  • Added lots of extra information getting returned when using Get-PnPFlow.
  • Added option which allows the Explorer View for Microsoft Edge to be enabled tenant wide by using Set-PnPTenant -ViewInFileExplorerEnabled and requesting its current setting using Get-PnPTenant | Select ViewInFileExplorerEnabled. It can be that this feature is not enabled on your tenant yet, in which case it will return an error. Try it again later in that case.
  • Added lots of extra information getting returned when using Get-PnPPowerPlatformEnvironment
  • Added the option to use -Verbose with Export-PnPFlow so it wil show details on why an export failed when it is not possible to export the flow.
  • Added option to add/list/remove event receivers from the site scope using Add-PnPEventReceiver -Scope <Site/Web>, Get-PnPEventReceiver -Scope <All/Site/Web> and Remove-PnPEventReceiver -Scope <All/Site/Web>
  • Added -Url parameter to New-PnPUPABulkImportJob which allows providing a URL to an existing SharePoint User Profile import mapping instruction file stored on SharePoint Online
  • Added Add-PnPSiteDesignFromWeb which combines Get-PnPSiteScriptFromWeb, Add-PnPSiteScript and Add-PnPSiteDesign into one cmdlet to allow for a specific site to directly be added as a site design to allow other sites to be configured similarly
  • Added Update-PnPSiteDesignFromWeb which combines Get-PnPSiteScriptFromWeb and Set-PnPSiteScript into one cmdlet to allow for a specific site design to directly be updated based on an existing site which can function as a template
  • Added Sync-PnPSharePointUserProfilesFromAzureActiveDirectory cmdlet which allows direct synchronization of user profile properties of choice between user profiles in Azure Active Directory and their SharePoint Online User Profile Service user profile equivallents

Changed

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

Fixed

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

Removed

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

Contributors

  • 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]

[1.7.0]

Changed

  • Updated CSOM release
  • Fixes issue with Get-PnPTenantSite

[1.6.0]

Added

Changed

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

Contributors

  • [thomassmart]
  • Bert Jansen [jansenbe]

[1.5.0]

Added

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

Changed

Contributors

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

[1.4.0]

Added

  • Added -IncludeOwners to Get-PnPMicrosoft365Group.
  • Added -AssignedTo to Add-PnPPlannerTask and Set-PnPPlannerTask allowing you to assign users to a task.
  • Added Get-PnPAzureADApp, Get-PnPAzureADAppPermission and Remove-PnPAzureADApp to manage Azure AD apps.
  • Added All Graph permissions and all SharePoint permissions for selection to Register-PnPAzureADApp.
  • Added -Template parameter to New-PnPTeamsTeam to create teams with EDU templates (your tenant needs an EDU license)
  • Added fixes for authentication to GCC, GCC High and GCC DoD environments using certificate or interactive login.
  • Added Grant-PnPAzureADAppSitePermission, Get-PnPAzureADAppSitePermission, Set-PnPAzureADAppSitePermission and Revoke-PnPAzureADAppSitePermission
  • Added -SkipHiddenWebParts parameter to the ConvertTo-PnPPage cmdlet that allows to skip hidden webparts during page transformation

Changed

  • Improved batching speed when creating or updating multiple items that set similar values for taxonomy fields.
  • Changed Register-PnPAzureADApp registration to by default turn on the ability to authenticate with credentials for a newly created Azure App registration (allowPublicClient: true).
  • Refactored Register-PnPAzureADApp. Marked -Scopes as obsolete and introduced -GraphApplicationPermissions, -GraphDelegatePermissions, -SharePointApplicationPermissions and -SharePointDelegatePermissions. Added additional permission scopes.
  • Re-enabled Console Logging with Set-PnPTraceLog -On
  • Fixed warning showing to use -Interactive instead of -UseWebLogin to show correct url.
  • Documentation updates

Contributors

  • 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]

[1.3.0]

Added

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

Changed

  • Fixed certificate clean up issue on Windows platform when using Connect-PnPOnline with a certificate.
  • Fixed issues with Register-PnPAzureADApp when using the various auth options (-DeviceLogin / -Interactive)
  • Renamed the -PnPManagementShell option to -DeviceLogin on Connect-PnPOnline. -PnPManagementShell is still available as an alias.
  • Added -ClientId option to -DeviceLogin allowing device code authentication with custom app registrations.
  • Changed -Url parameter on Get-PnPTenantSite and Set-PnPTenantSite to -Identity. Made -Url available as an alias.
  • Updated Set-PnPTenantSite to support same parameters as Set-SPOSite
  • Updated Get-PnPTenantSite to return same properties as Get-SPOSite
  • Fixed issue where -Interactive on Connect-PnPOnline would prompt for credentials when connecting to new site within same tenant. Added -ForceLogin parameter to force
  • Get-PnPUser and any other cmdlet that takes a UserPipeBind parameter as input now allows users to be specified by name besides loginname or id.
  • Fixed issue where retrieving a single site with Get-PnPTenantSite vs retrieving all sites showed different properties.
  • Invoke-PnPSPRestMethod now returns usable objects
  • Updated Set-PnPListItem to have an UpdateType parameter. Obsoleted SystemUpdate. Also updated the backend logic so can now also specify UpdateOverwriteVersion to update the editor, author, modified and created fields.
  • Register-PnPAzureADApp now outputs the base64 encoded version of the certificate which can be used with Connect-PnPOnline -ClientId -CertificateBase64Encoded
  • Fixed issue with moving and copying files to subfolder, Issue #165.
  • fixed issue where Get-PnPTenantSite was not returning all properties correct, Issue #151
  • Added -Interactive login option to Register-PnPManagementApp which allows for an interactive authentication flow not using device login for environments that require Multi-Factor Authentication.
  • Updated all Microsoft365Group cmdlets to only load the SiteUrl of the underlying Microsoft 365 Group where required. This means that Get-PnPMicrosoft365Group -Identity will not by default load the site url. Specify -IncludeSiteUrl to include it.

Contributors

  • Mike Jensen [michael-jensen]
  • Koen Zomers [koenzomers]
  • Gautam Sheth [gautamdsheth]
  • Todd Klindt [ToddKlindt]
  • Giacomo Pozzoni [jackpoz]

[1.2.0]

Added

  • Added -NoWait switch to Copy-PnPFile and Move-PnPFile
  • Added Receive-PnPCopyMoveJobStatus cmdlet which works in combination with the -NoWait parameter on Copy-PnPFile and Move-PnPFile. See the documentation for usage.

Changed

  • 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 and Move-PnPFile
  • Updated Get-PnPTenantSite to support -DisableSharingForNonOwnersStatus

[1.1.3-nightly]

Added

  • Added -NoWait switch to Copy-PnPFile and Move-PnPFile
  • Added Receive-PnPCopyMoveJobStatus cmdlet which works in combination with the -NoWait parameter on Copy-PnPFile and Move-PnPFile. See the documentation for usage.

Changed

  • 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.

[1.1.2-nightly]

Changed

  • Fixed issue with tenant admin site detection on environment with vanity domains

[1.1.1-nightly]

  • Fixed issues with Copy-PnPFile and Move-PnPFile
  • Updated Get-PnPTenantSite to support -DisableSharingForNonOwnersStatus

[1.1.0]

First released version of PnP PowerShell

[0.3.40-nightly]

Added

  • Added Get-PnPFlow, Get-PnPFlowEnvironment, Enable-PnPFlow, Disable-PnPFlow, Remove-PnPFlow, Export-PnPFlow cmdlets

Changed

  • Documentation updates

Contributors

  • Yannick Reekmans [YannickRe]

[0.3.38-nightly]

Added

  • Reintroduced -CertificateBase64Encoded on Connect-PnPOnline

Changed

Contributors

[0.3.37-nightly]

Added

Changed

Contributors

[0.3.36-nightly]

Added

Changed

  • Fixed issue with Set-PnPGroupPermissions not removing roles from list correctly.

Contributors

  • Leon Armston [leonarmston]
  • Koen Zomers [koenzomers]

[0.3.34-nightly]

Added

Changed

  • Updated certificate handling for Register-PnPAzureADApp and New-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

Contributors

  • Leon Armston [leonarmston]

[0.3.33-nightly]

Added

  • Added -ClientSideHostProperties to Set-PnPApplicationCustomizer
  • Documentation updates for Teams cmdlets

Changed

Contributors

  • Leon Armston [leonarmston]

[0.3.32-nightly]

Added

  • Added batching support to Remove-PnPListItem

Changed

Contributors

[0.3.31-nightly]

Added

  • Added initial batching support. See New-PnPBatch, Invoke-PnPBatch, Add-PnPListItem and Set-PnPListItem
  • Updated documentation

Changed

  • Deprecated the use of the -Web cmdlet parameters due to API reasons. Use Connect-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

Contributors

  • Veronique Lengelle [veronicageek]
  • Leon Armston [leonarmston]

[0.3.27-nightly]

Added

  • Added Get-PnPListPermissions cmdlet.

Changed

  • 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

Contributors

  • Leon Armston [leonarmston]
  • Bhishma Bhandari [bhishma]

[0.3.24-nightly]

Added

Changed

  • Renamed Add-PnPUserToGroup to Add-PnPGroupMember. Alias for the old cmdlet name is available.
  • Renamed Remove-PnPUserFromGroup to Remove-PnPGroupMember. Alias for the old cmdlet name is available.
  • Renamed Get-PnPGroupMembers to Get-PnPGroupMember. Alias for the old cmdlet name is available.

[0.3.22-nightly]

Added

Changed

  • 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.

[0.3.20-nightly]

Added

Changed

  • Register-PnPManagementShellAccess will not automatically close the window after consent anymore.
  • Connect-PnPOnline -UseWebLogin now allows you to return the connection with -ReturnConnection PR #71
  • Remove-PnPTermGroup now includes a -Force parameter PR #70
  • Get-PnPListItem now can filter on both the GUID or the UniqueId value by specifying the -UniqueId parameter. PR #68

Contributors

  • Gautam Sheth [gautamdsheth]

[0.3.*-nightly]

Added

  • Added -ReadSecurity and -WriteSecurity to Set-PnPList cmdlet (0.3.15)

Changed

  • Renamed Add-PnPClientSidePage to Add-PnPPage (0.3.15)
  • Renamed Add-PnPClientSidePageSection to Add-PnPPageSection (0.3.15)
  • Renamed Add-PnPClientSideText to Add-PnPPageTextPart (0.3.15)
  • Renamed Add-PnPClientSideWeb to Add-PnPPageWebPart (0.3.15)
  • Renamed Export-PnPClientSidePage to Export-PnPPage (0.3.15)
  • Renamed Export-PnPClientSidePageMapping to Export-PnPPageMapping (0.3.15)
  • Deprecated Get-AvailableClientSidePageComponents. Use Get-PnPPageComponents -Page <yourpage> -ListAvailable (0.3.15)
  • Renamed Get-PnPClientSidePageComponents to Get-PnPPageComponents (0.3.15)
  • Renamed Get-PnPClientSidePage to Get-PnPPage (0.3.15)
  • Renamed Move-PnPClientSidePageComponent to Move-PnPPageComponent (0.3.15)
  • Renamed Remove-PnPClientSidePage to Remove-PnPPage (0.3.15)
  • Renamed Remove-PnPClientSideComponent to Remove-PnPPageComponent (0.3.15)
  • Renamed Save-PnPClientSidePageConversionLog to Save-PnPPageConversionLog (0.3.15)
  • Renamed Set-PnPClientSidePage to Set-PnPPage (0.3.15)
  • Renamed Set-PnPClientSideText to Set-PnPPageTextPart (0.3.15)
  • Renamed Set-PnPClientSideWebPart to Set-PnPPageWebPart (0.3.15)
  • Removed '-Url' parameter from Set-PnPWebPermission. Use -Identity instead. (0.3.13)
  • Renamed Get-PnPSubWebs to Get-PnPSubWeb which is in line with PowerShell naming standards which state that cmdlets should use a singalar noun. Alias for Get-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 and Revoke-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 to Set-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 for Add-PnPSiteDesign and Set-PnPSiteDesign (0.3.6)

Contributors

  • Gautam Sheth [gautamdsheth]
  • Todd Klindt [toddklindt]
  • Michael Jensen [michael-jensen]
  • Frank Potrafky [FPotrafky]
  • Veronique Lengelle [veronicageek]
  • James May [fowl2]

[0.2.*-nightly]

Added

  • 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 about Get-PnPSiteTemplate (0.3.5)
  • Added -UseWeblogin and -ForceAuthentication to Connect-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 to Off) 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 to Register-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 to Connect-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 with Connect-PnPOnline.
  • Added -DisableCustomAppAuthentication to Set-PnPTenant and added support for DisableCustomAppAuthentication in Get-PnPTenant.

[0.1.*-nightly]

Added

  • 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)

Changed

  • Added filename support for .md file with Get-PnPSiteTemplate to generate a markdown file. e.g. you can now execute for instance Get-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 and Disable-PnPPowerShellTelemetry. See Configure PnP PowerShell for more information on how to enable or disable telemetry collection (0.2.22)
  • Obsoleted -NoTelemetry and -NoVersionCheck on Connect-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 to true, 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. See Enable-PnPPowerShellTelemetry and Disable-PnPPowerShellTelemetry to manage this file. (0.2.21)
  • Renamed -CloudShell to -ManagedIdentity on Connect-PnPOnline (0.2.20)
  • -CertificatePath on Connect-PnPOnline now accepts a relative path (0.2.19)
  • Reintroduced -SPOManagementShell as login option with Connect-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 to Register-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 and Get-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 to Invoke-PnPSiteTemplate.
  • Renamed Get-PnPProvisioningTemplate to Get-PnPSiteTemplate.
  • Renamed Add-PnPDataRowsToProvisioningTemplate to Add-PnPDataRowsToSiteTemplate.
  • Renamed Add-PnPFileToProvisioningTemplate to Add-PnPFileToSiteTemplate.
  • Renamed Add-PnPListFoldersToProvisioningTemplate to Add-PnPListFoldersToSiteTemplate.
  • Renamed Convert-PnPFolderToProvisioningTemplate to Convert-PnPFolderToSiteTemplate.
  • Renamed Convert-PnPProvisioningTemplate to Convert-PnPSiteTemplate.
  • Renamed Export-PnPListToProvisioningTemplate to Export-PnPListToSiteTemplate.
  • Renamed New-PnPProvisioningTemplate to New-PnPSiteTemplate.
  • Renamed New-PnPProvisioningTemplateFromFolder to New-PnPSiteTemplateFromFolder.
  • Renamed Read-PnPProvisioningTemplate to Read-PnPSiteTemplate.
  • Renamed Remove-PnPFileFromProvisioningTemplate to Remove-PnPFileFromSiteTemplate.
  • Renamed Save-PnPProvisioningTemplate to Save-PnPSiteTemplate.
  • Renamed Set-PnPProvisioningTemplateMetadata to Set-PnPSiteTemplateMetadata.
  • Renamed Add-PnPProvisioningTemplate to Add-PnPSiteTemplate.
  • Renamed Apply-PnPTenantTemplate to Invoke-PnPTenantTemplate.
  • Removed Get-PnPAppInstance. Use Get-PnPApp instead.
  • Removed Import-PnPAppPackage. Use Instal-PnPApp instead.
  • Removed Uninstall-AppInstance. Use Uninstall-PnPApp instead.
  • Removed Get-PnPHealthScore as the value reported is only applicable to on-premises.
  • Removed -MinimalHealthScore from Connect-PnPOnline as the value reported from the server only applies to on-premises.
  • Removed -SkipTenantAdminCheck from Connect-PnPOnline. Check will be executed everytime where applicable.
  • Removed Obsolete parameter -FromRecycleBin from Remove-PnPTenantSite. Use Clear-PnPTenantRecycleBinItem instead.
  • Removed -UserCodeMaximumLevel and -UserCodeWarningLevel from Set-PnPTenantSite: sandboxed solutions have been deprecated from SharePoint Online and these values are not applicable anymore.
  • Removed -Out parameter on New-PnPAzureCertificate. Use -OutPfx instead.
  • Removed Enable-PnPResponsiveUI and Disable-PnPResponsiveUI.
  • Removed Disable-PnPInPlaceRecordsManagementForSite. Use Set-PnPInPlaceRecordsManagement -Enabled $false.
  • Removed Enable-PnPInPlaceRecordsManagementForSite. Use Set-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 and Get-PnPOfficeManagementApiAccessToken cmdlets. Use Connect-PnPOnline instead with either the -Scopes parameter and other optional parameters
  • Removed alias Connect-PnPHubsite. Use Add-PnPHubSiteAssociation.
  • Removed alias Disconnect-PnPHubSite. Use Remove-PnPHubSiteAssociation.
  • Removed alias Add-PnPOffice365GroupToSite. Use Add-PnPMicrosoft365GroupToSite.
  • Removed alias Add-PnPUnifiedGroupMember. Use Add-PnPMicrosoft365GroupMember.
  • Removed alias Add-PnPUnifiedGroupOwner. Use Add-PnPMicrosoft365GroupOwner.
  • Removed alias Clear-PnPUnifiedGroupMember. Use Clear-PnPMicrosoft365GroupMember.
  • Removed alias Clear-PnPUnifiedGroupOwner. Use Clear-PnPMicrosoft365GroupOwner.
  • Removed alias Get-PnPDeletedUnifiedGroup. Use Get-PnPDeletedMicrosoft365Group.
  • Removed alias Get-PnPUnifiedGroup. Use Get-PnPMicrosoft365Group.
  • Removed alias Get-PnPUnifiedGroupMembers. Use Get-PnPMicrosoft365GroupMembers.
  • Removed alias Get-PnPUnifiedGroupOwners. Use Get-PnPMicrosoft365GroupOwners.
  • Removed alias New-PnPUnifiedGroup. Use New-PnPMicrosoft365Group.
  • Removed alias Remove-PnPDeletedUnifiedGroup. Use Remove-PnPDeletedMicrosoft365Group.
  • Removed alias Remove-PnPUnifiedGroup. Use Remove-PnPMicrosoft365Group.
  • Removed alias Remove-PnPUnifiedGroupMember. Use Remove-PnPMicrosoft365GroupMember.
  • Removed alias Remove-PnPUnifiedGroupOwner. Use Remove-PnPMicrosoft365GroupOwner.
  • Removed alias Restore-PnPDeletedUnifiedGroup. Use Restore-PnPDeletedMicrosoft365Group.
  • Removed alias Set-PnPUnifiedGroup. Use Set-PnPMicrosoft365Group.
  • Removed alias Execute-PnPQuery. Use Invoke-PnPQuery.
  • Removed alias Ensure-PnPFolder. Use Resolve-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 and Stop-PnPWorkflowInstance due to deprecated of the Workflow Services in SharePoint Online.
  • Renamed Test-PnPOffice365AliasIsUsed to Test-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

Contributors

  • Koen Zomers [koenzomers]
  • Carlos Marins Jr [kadu-jr]
  • Aimery Thomas [a1mery]
  • Veronique Lengelle [veronicageek]