[FileVersion] Revision for set file version on site command #3428
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Before creating a pull request, make sure that you have read the contribution file located at
https://github.com/pnp/powerShell/blob/dev/CONTRIBUTING.md
Type
What is in this Pull Request ?
Revision for the set site version policy commands
Test scenarios
----Valid scenarios----
----Apply to both new and existing doc libs
--AutoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $true
Set-PnPSite -EnableAutoExpirationVersionTrim $true -ApplyForNewLibs -ApplyForExistingLibs
--ExpireAfter
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 100 -MinorVersions 10 -ExpireVersionsAfterDays 200
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 101 -MinorVersions 11 -ExpireVersionsAfterDays 201 -ApplyForNewLibs -ApplyForExistingLibs
--NoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 20 -ExpireVersionsAfterDays 0
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 11 -ExpireVersionsAfterDays 0 -ApplyForNewLibs -ApplyForExistingLibs
--Apply to new doc libs only
--AutoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $true -ApplyForNewLibs
--ExpireAfter
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 100 -ExpireVersionsAfterDays 200 -ApplyForNewLibs
--NoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -ExpireVersionsAfterDays 0 -ApplyForNewLibs
--Clear
Set-PnPSite -InheritTenantVPForNewDocLibs
----Apply to existing doc libs only
--AutoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $true -ApplyForExistingLibs
--ExpireAfter
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 101 -MinorVersions 11 -ExpireVersionsAfterDays 201 -ApplyForExistingLibs
--NoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 11 -ExpireVersionsAfterDays 0 -ApplyForExistingLibs
--Cancel request for existing doc libs
Set-PnPSite -CancelVPForExistingLibs
---- Invalid scenarios----
--(1) Don't specify version policy related parameters (EnableAutoExpirationVersionTrim, ExpireVersionsAfterDays, MajorVersions, MinorVersions, ApplyForNewLibs, ApplyForExistingLibs, CancelVPForExistingLibs) when InheritTenantVPForNewDocLibs is specified.
Set-PnPSite -InheritTenantVPForNewDocLibs -EnableAutoExpirationVersionTrim $true
Set-PnPSite -InheritTenantVPForNewDocLibs -MajorVersions 100
Set-PnPSite -InheritTenantVPForNewDocLibs -MinorVersions 50
Set-PnPSite -InheritTenantVPForNewDocLibs -ExpireVersionsAfterDays 100
Set-PnPSite -InheritTenantVPForNewDocLibs -ApplyForNewLibs
Set-PnPSite -InheritTenantVPForNewDocLibs -ApplyForExistingLibs
Set-PnPSite -InheritTenantVPForNewDocLibs -CancelVPForExistingLibs
--(2) Don't specify the VersionPolicy related parameters (ApplyForNewLibs, ApplyForExistingLibs, EnableAutoExpirationVersionTrim, ExpireVersionsAfterDays, MajorVersions) when CancelVPForExistingLibs is specified.
Set-PnPSite -CancelVPForExistingLibs -ApplyForNewLibs
Set-PnPSite -CancelVPForExistingLibs -ApplyForExistingLibs
Set-PnPSite -CancelVPForExistingLibs -EnableAutoExpirationVersionTrim $true
Set-PnPSite -CancelVPForExistingLibs -MajorVersions 100
Set-PnPSite -CancelVPForExistingLibs -MinorVersions 100
Set-PnPSite -CancelVPForExistingLibs -ExpireVersionsAfterDays 100
--(3) Don't specify ExpireVersionsAfterDays, MajorVersions and MinorVersions when EnableAutoExpirationVersionTrim is true.
Set-PnPSite -EnableAutoExpirationVersionTrim $true -MajorVersions 100
Set-PnPSite -EnableAutoExpirationVersionTrim $true -MinorVersions 5
Set-PnPSite -EnableAutoExpirationVersionTrim $true -ExpireVersionsAfterDays 200
Set-PnPSite -EnableAutoExpirationVersionTrim $true -MajorVersions 100 -ExpireVersionsAfterDays 200
Set-PnPSite -EnableAutoExpirationVersionTrim $true -MajorVersions 100 -ExpireVersionsAfterDays 200 -MinorVersions 5
--(4) You must specify ExpireVersionsAfterDays, MajorVersions and don't specify MinorVersions when EnableAutoExpirationVersionTrim is false for new document libraries only.
Set-PnPSite -ApplyForNewLibs -EnableAutoExpirationVersionTrim $false
Set-PnPSite -ApplyForNewLibs -EnableAutoExpirationVersionTrim $false -ExpireVersionsAfterDays 100 -MajorVersions 200 -MinorVersions 5
Set-PnPSite -ApplyForNewLibs -EnableAutoExpirationVersionTrim $false -MinorVersions 5
--(5) You must specify ExpireVersionsAfterDays, MajorVersions and MinorVersions when EnableAutoExpirationVersionTrim is false for document libraries that including existing ones.
Set-PnPSite -EnableAutoExpirationVersionTrim $false -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 100 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MinorVersions 200 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -ExpireVersionsAfterDays 200 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 70 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -ExpireVersionsAfterDays 0 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MinorVersions 70 -ExpireVersionsAfterDays 0 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 100
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MinorVersions 200
Set-PnPSite -EnableAutoExpirationVersionTrim $false -ExpireVersionsAfterDays 200
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 70
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -ExpireVersionsAfterDays 0
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MinorVersions 70 -ExpireVersionsAfterDays 0
--(6) You must specify EnableAutoExpirationVersionTrim and other version policy related parameters (ExpireVersionsAfterDays, MajorVersions, MinorVersions) when ApplyForNewLibs or ApplyForExistingLibs is specified.
Set-PnPSite -ApplyForNewLibs
Set-PnPSite -ApplyForExistingLibs
--(7) You must specify EnableAutoExpirationVersionTrim when ExpireVersionsAfterDays, MajorVersions or MinorVersions is specified.
Set-PnPSite -ExpireVersionsAfterDays 100
Set-PnPSite -MajorVersions 300
Set-PnPSite -MinorVersions 10