Skip to content
This repository has been archived by the owner on Jan 19, 2021. It is now read-only.

Commit

Permalink
Merge pull request #2718 from pnp/dev
Browse files Browse the repository at this point in the history
June 2020 Release
  • Loading branch information
erwinvanhunen authored Jun 9, 2020
2 parents 812f074 + 152922a commit 07637ed
Show file tree
Hide file tree
Showing 205 changed files with 4,815 additions and 1,778 deletions.
7 changes: 4 additions & 3 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
###Notice: many issues / bugs reported are actually related to the PnP Core Library which is used behind the scenes. Consider carefully where to report an issue:###

1. **Are you using ```Apply-SPOProvisioningTemplate``` or ```Get-SPOProvisioningTemplate```**? The issue is most likely related to the Provisioning Engine. The Provisioning engine is _not_ located in the PowerShell repo. Please report the issue here: https://github.com/officedev/PnP-Sites-Core/issues.
1. **Are you using ```Apply-PnPProvisioningTemplate``` or ```Get-PnPProvisioningTemplate```**? The issue is most likely related to the Provisioning Engine. The Provisioning engine is _not_ located in the PowerShell repo. Please report the issue here: https://github.com/pnp/PnP-Sites-Core/issues.
2. **Is the issue related to the cmdlet itself, its parameters, the syntax, or do you suspect it is the code of the cmdlet that is causing the issue?** Then please continue reporting the issue in this repo.
3. **If you think that the functionality might be related to the underlying libraries that the cmdlet is calling** (We realize that might be difficult to determine), please first double check the code of the cmdlet, which can be found here: https://github.com/OfficeDev/PnP-PowerShell/tree/master/Commands. If related to the cmdlet, continue reporting the issue here, otherwise report the issue at https://github.com/officedev/PnP-Sites-Core/issues
3. **If you think that the functionality might be related to the underlying libraries that the cmdlet is calling** (We realize that might be difficult to determine), please first double check the code of the cmdlet, which can be found here: https://github.com/pnp/PnP-PowerShell/tree/master/Commands. If related to the cmdlet, continue reporting the issue here, otherwise report the issue at https://github.com/pnp/PnP-Sites-Core/issues

### Reporting an Issue or Missing Feature
Please confirm what it is that your reporting
Expand All @@ -19,10 +19,11 @@ Please include complete code samples in-line or linked from [gists](https://gist
### Which version of the PnP-PowerShell Cmdlets are you using?
- [ ] PnP PowerShell for SharePoint 2013
- [ ] PnP PowerShell for SharePoint 2016
- [ ] PnP PowerShell for SharePoint 2019
- [ ] PnP PowerShell for SharePoint Online

### What is the version of the Cmdlet module you are running?
(you can retrieve this by executing ```Get-Module -Name *pnppowershell* -ListAvailable```)
(you can retrieve this by executing ```Get-Module -Name sharepointpnppowershell* -ListAvailable```)

### How did you install the PnP-PowerShell Cmdlets?
- [ ] MSI Installed downloaded from GitHub
Expand Down
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Before creating a pull request, make sure that you have read the contribution file located at

https://github.com/SharePoint/PnP-PowerShell/blob/dev/CONTRIBUTING.md
https://github.com/pnp/PnP-PowerShell/blob/dev/CONTRIBUTING.md

## Type ##
- [ ] Bug Fix
Expand Down
Binary file modified Binaries/SharePointPnP.Modernization.Framework.dll
Binary file not shown.
Binary file modified Binaries/release/SharePointPnP.Modernization.Framework.dll
Binary file not shown.
46 changes: 46 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,52 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).

## [3.23.2007.0] (not yet released)

### Added

### Changed

### Contributors


## [3.22.2006.0]

### Added
- Added `-ValuesOnly` option to `Get-PnPLabel` which will return more detailed information regarding the retention label set on a list or library and return the information as properties instead of written text [PR #2710](https://github.com/pnp/PnP-PowerShell/pull/2710)
- Added `-PreferredDataLocation` option to `New-PnPSite` which allows for providing a geography in which the new SharePoint sitecollection should be created. Only applicable on multi-geo enabled tenants. [PR #2708](https://github.com/pnp/PnP-PowerShell/pull/2708)
- Added `EnableAIPIntegration` option to `Set-PnPTenant` which allows enabling Azure Information Protection integration with SharePoint Online and OneDrive for Business on your tenant [PR #2703](https://github.com/pnp/PnP-PowerShell/pull/2703)
- Added `Get-PnPAADUser` cmdlet which allows retrieval of users from Azure Active Directory through the Microsoft Graph API [PR #2626](https://github.com/pnp/PnP-PowerShell/pull/2626)
- Added `Add-PnPGraphSubscription`, `Get-PnPGraphSubscription`, `Remove-PnPGraphSubscription` and `Set-PnPGraphSubscription` to work with Microsoft Graph Subscriptions [PR #2673](https://github.com/SharePoint/PnP-PowerShell/pull/2673)
- Added `Reset-PnPUnifiedGroupExpiration` which allows the expiration date of an Office 365 Group to be extended by the number of days defined in the Azure Active Directory Group Expiration policy [PR #2655](https://github.com/pnp/PnP-PowerShell/pull/2655)
- Added following arguments to `Set-PnPWeb` allowing them to be set: `CommentsOnSitePagesDisabled`, `DisablePowerAutomate`, `MegaMenuEnabled`, `MembersCanShare`, `NavAudienceTargetingEnabled`, `QuickLaunchEnabled` and `NoCrawl` [PR #2633](https://github.com/pnp/PnP-PowerShell/pull/2633)
- Added `Set-PnPUserOneDriveQuota`, `Reset-PnPUserOneDriveQuotaToDefault` and `Get-PnPUserOneDriveQuota` commands to work with quotas on OneDrive for Business sites [PR #2630](https://github.com/SharePoint/PnP-PowerShell/pull/2630)
- Added `Get-PnPTenantSyncClientRestriction` and `Set-PnPTenantSyncClientRestriction` cmdlets to allow configuring tenant wide OneDrive sync restriction settings [PR #2649](https://github.com/pnp/PnP-PowerShell/pull/2649)
- Added `Disable-PnPSharingForNonOwnersOfSite` and `Get-PnPSharingForNonOwnersOfSite` cmdlets to control disabling the ability for only owners of the site to be allowed to share the site or its files and folders with others [PR #2641](https://github.com/pnp/PnP-PowerShell/pull/2641)
- Added `Get-PnPIsSiteAliasAvailable` which allows checking if a certain alias is still available to create a new site collection with [PR #2698](https://github.com/pnp/PnP-PowerShell/pull/2698)
- Added `Get-PnPFooter` and `Set-PnPFooter` to work with the footer shown on Modern Communication pages [PR #2634](https://github.com/pnp/PnP-PowerShell/pull/2634)
- Added ability to getting and setting the title and logo shown in the footer of a Modern Communication site [PR #2715](https://github.com/pnp/PnP-PowerShell/pull/2715)
- Added `-SensitivityLabel` option to `New-PnPSite` which allows for directly assigning a sensitivity label to a SharePoint sitecollection when creating it. Requires modern sensitivity labels and E5 licenses to be enabled on the tenant. [PR #2713](https://github.com/pnp/PnP-PowerShell/pull/2713)
- Added `Get-PnPOffice365CurrentServiceStatus`, `Get-PnPOffice365HistoricalServiceStatus`, `Get-PnPOffice365ServiceMessage` and `Get-PnPOffice365Services` to retrieve information from the Office 365 Management API regarding the Office 365 services [PR #2684](https://github.com/pnp/PnP-PowerShell/pull/2684)
- Added `Get-PnPAvailableLanguage` which returns a list of all supported languages on the SharePoint web [PR #2716](https://github.com/pnp/PnP-PowerShell/pull/2716)

### Changed
- Fixed uploading a file using `Add-PnPFile` using `-ContentType` throwing an exception [PR #2619](https://github.com/pnp/PnP-PowerShell/pull/2619)
- Fixed using `Connect-PnPOnline -AppId <appid> -AppSecret <appsecret> -AADDomain` not actually authenticating to Microsoft Graph [PR #2624](https://github.com/pnp/PnP-PowerShell/pull/2624)
- Updated `Get-PnPWorkflowInstance` to allow passing in a workflow subscription to list all running instances of a specific workflow [PR #2636](https://github.com/pnp/PnP-PowerShell/pull/2636)
- Implementation of `Move-PnPFile` has been changed adding `-TargetServerRelativeLibrary` for SharePoint Online to allow moving files to other site collections [PR #2688](https://github.com/pnp/PnP-PowerShell/pull/2688)

### Contributors
- Alberto Suarez [holylander]
- Rune Sperre [rsperre]
- Nik Charlebois [NikCharlebois]
- Eduardo Garcia-Prieto [egarcia74]
- Koen Zomers [koenzomers]
- James May [fowl2]
- Marc D Anderson [sympmarc]
- Kunj Balkrishna Sangani [kunj-sangani]
- Gautam Sheth [gautamdsheth]

## [3.21.2005.0]

### Added
Expand Down
12 changes: 6 additions & 6 deletions Commands/Admin/AddOffice365GroupToSite.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,28 @@
namespace SharePointPnP.PowerShell.Commands.Admin
{
[Cmdlet(VerbsCommon.Add, "PnPOffice365GroupToSite")]
[CmdletHelp("Groupifies a classic team site by creating an Office 365 group for it and connecting the site with the newly created group",
DetailedDescription = "This command allows you to add an Office 365 Unified group to an existing classic site collection.",
[CmdletHelp("Groupifies a classic team site by creating a Microsoft 365 group for it and connecting the site with the newly created group",
DetailedDescription = "This command allows you to add a Microsoft 365 Unified group to an existing classic site collection.",
SupportedPlatform = CmdletSupportedPlatform.Online,
Category = CmdletHelpCategory.TenantAdmin)]
[CmdletExample(
Code = @"PS:> Add-PnPOffice365GroupToSite -Url ""https://contoso.sharepoint.com/sites/FinanceTeamsite"" -Alias ""FinanceTeamsite"" -DisplayName = ""My finance team site group""",
Remarks = @"This will add a group called MyGroup to the current site collection", SortOrder = 1)]
public class AddOffice365GroupToSite: PnPAdminCmdlet
{
[Parameter(Mandatory = true, HelpMessage = @"Url of the site to be connected to an Office 365 Group.")]
[Parameter(Mandatory = true, HelpMessage = @"Url of the site to be connected to an Microsoft 365 Group")]
public string Url;

[Parameter(Mandatory = true, HelpMessage = @"Specifies the alias of the group. Cannot contain spaces.")]
public string Alias;

[Parameter(Mandatory = false, HelpMessage = @"The optional description of the group.")]
[Parameter(Mandatory = false, HelpMessage = @"The optional description of the group")]
public string Description;

[Parameter(Mandatory = true, HelpMessage = @"The display name of the group.")]
[Parameter(Mandatory = true, HelpMessage = @"The display name of the group")]
public string DisplayName;

[Parameter(Mandatory = false, HelpMessage = @"Specifies the classification of the group.")]
[Parameter(Mandatory = false, HelpMessage = @"Specifies the classification of the group")]
public string Classification;

[Parameter(Mandatory = false, HelpMessage = @"Specifies if the group is public. Defaults to false.")]
Expand Down
4 changes: 2 additions & 2 deletions Commands/Admin/GetHubSiteChild.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace SharePointPnP.PowerShell.Commands.Admin
"Retrieves all sites linked to a specific hub site",
Category = CmdletHelpCategory.TenantAdmin,
SupportedPlatform = CmdletSupportedPlatform.Online)]
[CmdletExample(Code = @"PS:> Get-PnPHubChildSite -Identity https://contoso.sharepoint.com/sites/myhubsite", Remarks = "Returns the sites having configured the provided hub site as their hub site", SortOrder = 1)]
[CmdletExample(Code = @"PS:> Get-PnPHubSiteChild -Identity https://contoso.sharepoint.com/sites/myhubsite", Remarks = "Returns the sites having configured the provided hub site as their hub site", SortOrder = 1)]
public class GetHubSiteChild : PnPAdminCmdlet
{
[Parameter(ValueFromPipeline = true, Mandatory = true, HelpMessage = "The URL of the hubsite for which to receive the sites refering to it")]
Expand Down Expand Up @@ -47,4 +47,4 @@ protected override void ExecuteCmdlet()
}
}
}
#endif
#endif
2 changes: 1 addition & 1 deletion Commands/Admin/GetStorageEntity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ namespace SharePointPnP.PowerShell.Commands
[CmdletExample(Code = @"PS:> Get-PnPStorageEntity -Key MyKey", Remarks = "Returns the storage entity/farm property with the given key.", SortOrder = 2)]
[CmdletExample(Code = @"PS:> Get-PnPStorageEntity -Scope Site", Remarks = "Returns all site collection scoped storage entities", SortOrder = 2)]
[CmdletExample(Code = @"PS:> Get-PnPStorageEntity -Key MyKey -Scope Site", Remarks = "Returns the storage entity from the site collection with the given key", SortOrder = 3)]
public class GetPnPStorageEntity : PnPCmdlet
public class GetPnPStorageEntity : PnPSharePointCmdlet
{
[Parameter(Mandatory = false, HelpMessage = "The key of the value to retrieve.")]
public string Key;
Expand Down
2 changes: 1 addition & 1 deletion Commands/Admin/GetTenantAppCatalogUrl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace SharePointPnP.PowerShell.Commands
[CmdletExample(
Code = @"PS:> Get-PnPTenantAppCatalogUrl",
Remarks = "Returns the url of the tenant scoped app catalog site collection", SortOrder = 1)]
public class GetTenantAppCatalogUrl : PnPCmdlet
public class GetTenantAppCatalogUrl : PnPSharePointCmdlet
{
protected override void ExecuteCmdlet()
{
Expand Down
4 changes: 2 additions & 2 deletions Commands/Admin/GetTenantId.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ protected override void ProcessRecord()
{
try
{
if (string.IsNullOrEmpty(TenantUrl) && SPOnlineConnection.CurrentConnection != null)
if (string.IsNullOrEmpty(TenantUrl) && PnPConnection.CurrentConnection != null)
{
WriteObject(TenantExtensions.GetTenantIdByUrl(SPOnlineConnection.CurrentConnection.Url));
WriteObject(TenantExtensions.GetTenantIdByUrl(PnPConnection.CurrentConnection.Url));
}
else if (!string.IsNullOrEmpty(TenantUrl))
{
Expand Down
35 changes: 35 additions & 0 deletions Commands/Admin/GetTenantSyncClientRestriction.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#if !ONPREMISES
using Microsoft.SharePoint.Client;
using SharePointPnP.PowerShell.CmdletHelpAttributes;
using SharePointPnP.PowerShell.Commands.Base;
using System.Management.Automation;
using SharePointPnP.PowerShell.Commands.Model;

namespace SharePointPnP.PowerShell.Commands.Admin
{
[Cmdlet(VerbsCommon.Get, "PnPTenantSyncClientRestriction")]
[CmdletHelp(@"Returns organization-level OneDrive synchronization restriction settings",
DetailedDescription = @"Returns organization-level OneDrive synchronization restriction properties such as BlockMacSync,
OptOutOfGrooveBlock, and TenantRestrictionEnabled.
Currently, there are no parameters for this cmdlet.
You must have the SharePoint Online admin or Global admin role to run the cmdlet.",
SupportedPlatform = CmdletSupportedPlatform.Online,
Category = CmdletHelpCategory.TenantAdmin,
OutputType = typeof(SPOTenantSyncClientRestriction))]
[CmdletExample(
Code = @"PS:> Get-PnPTenantSyncClientRestriction",
Remarks = @"This example returns all tenant OneDrive synchronization restriction settings", SortOrder = 1)]
public class GetPnPTenantSyncClientRestriction : PnPAdminCmdlet
{
protected override void ExecuteCmdlet()
{
ClientContext.Load(Tenant);
ClientContext.Load(Tenant, t => t.HideDefaultThemes);
ClientContext.ExecuteQueryRetry();
WriteObject(new SPOTenantSyncClientRestriction(Tenant));
}
}
}
#endif
12 changes: 6 additions & 6 deletions Commands/Admin/GetWebTemplates.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@
namespace SharePointPnP.PowerShell.Commands
{
[Cmdlet(VerbsCommon.Get, "PnPWebTemplates")]
[CmdletHelp(@"Returns the available web templates",
"Will list all available templates one can use to create a site",
[CmdletHelp(@"Returns the available classic web templates",
DetailedDescription = "Will list all available classic templates one can use to create a site. Modern templates will not be returned.",
Category = CmdletHelpCategory.TenantAdmin,
SupportedPlatform = CmdletSupportedPlatform.All,
OutputType = typeof(Microsoft.Online.SharePoint.TenantAdministration.SPOTenantWebTemplateCollection),
OutputTypeLink = "https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-csom/dn174817(v=office.15)")]
OutputTypeLink = "https://docs.microsoft.com/previous-versions/office/sharepoint-csom/dn174817(v=office.15)")]
[CmdletExample(Code = @"PS:> Get-PnPWebTemplates", SortOrder = 1)]
[CmdletExample(Code = @"PS:> Get-PnPWebTemplates -LCID 1033", Remarks = @"Returns all webtemplates for the Locale with ID 1033 (English)", SortOrder = 2)]
[CmdletExample(Code = @"PS:> Get-PnPWebTemplates -CompatibilityLevel 15", Remarks = @"Returns all webtemplates for the compatibility level 15", SortOrder = 2)]
[CmdletRelatedLink(Text = "Locale IDs", Url = "http://go.microsoft.com/fwlink/p/?LinkId=242911Id=242911")]
[CmdletRelatedLink(Text = "Locale IDs", Url = "https://github.com/pnp/PnP-PowerShell/wiki/Supported-LCIDs-by-SharePoint")]
public class GetWebTemplates : PnPAdminCmdlet
{
[Parameter(Mandatory = false, HelpMessage = "The language ID. For instance: 1033 for English.")]
[Parameter(Mandatory = false, HelpMessage = "The language ID. For instance: 1033 for English. For more information, see Locale IDs supported by SharePoint at https://github.com/pnp/PnP-PowerShell/wiki/Supported-LCIDs-by-SharePoint. To get the list of supported languages on a SharePoint environment use: Get-PnPAvailableLanguage.")]
public uint Lcid;

[Parameter(Mandatory = false, HelpMessage = "The version of SharePoint")]
[Parameter(Mandatory = false, HelpMessage = "The compatibily level of SharePoint where 14 is SharePoint 2010, 15 is SharePoint 2013 and 16 is SharePoint 2016 and later including SharePoint Online")]
public int CompatibilityLevel;

protected override void ProcessRecord()
Expand Down
Loading

0 comments on commit 07637ed

Please sign in to comment.