Skip to content

Releases: GruberMarkus/Export-RecipientPermissions

Release v3.2.0

04 May 14:10
Compare
Choose a tag to compare

v3.2.0 - 2024-05-04

Changed

  • Error handling improvements
    • Complete rewrite of Exchange connection code
    • More resilient Active Directory queries
    • Exchange on-prem occasionally returns security principals without a GUID
  • Complete rewrite of code getting UserFriendlyName
  • Use GUID instead of PrimarySmtpAddress where possible
  • The default export and error files now have the execution timestamp in their filename
  • Sample code Compare-RecipientPermissions.ps1 now uses a faster compare mechanism when possible, and warns when comparison probably needs to much ressources

Added

  • Debug and error files now contain the Exchange GUID and the Directory GUID in addition to the primary SMTP address

Removed

  • Export-RecipientPermissions no longer includes the ExchangeOnlineManagement module. This reduces the size of the package and gives Exchange Online admins control over which version of the module is used.

Fixed

  • Exchange Online: Switched back from EXO cmdlets to regular cmdlets, because of changes in returned properties, which do not allow to uniquely identify a trustee (example: Get-EXORecipientPermission sometimes only returns the trustee's display name, which is not guaranteed to be unique)

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v3.2.0.zip': 25953893828714C9E97784F6F5685089F0B791615BCF88A9B0DCA25E685E7169
  • See 'hashes.txt' in 'Export-RecipientPermissions_v3.2.0.zip' for hash value of every single file in the release.

Release v3.1.1

12 Oct 12:08
Compare
Choose a tag to compare

v3.1.1 - 2023-10-12

Changed

  • Update ExchangeOnlineManagement module to v3.4.0

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v3.1.1.zip': 829FD5BB17B1210773372449D2DD320B64BB5A9A46D3667AA31E4EE247D09A19
  • See 'hashes.txt' in 'Export-RecipientPermissions_v3.1.1.zip' for hash value of every single file in the release.

Release v3.1.0

07 Sep 12:10
Compare
Choose a tag to compare

v3.1.0 - 2023-09-07

Changed

  • Update ExchangeOnlineManagement module to v3.3.0

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v3.1.0.zip': F26D8CC5243B882DE4E5832E3A8FBF32B717796F229B578ECFF6FE03381B688E
  • See 'hashes.txt' in 'Export-RecipientPermissions_v3.1.0.zip' for hash value of every single file in the release.

Release v3.0.3

23 Jun 18:06
Compare
Choose a tag to compare

v3.0.3 - 2023-06-23

Changed

  • Update ExchangeOnlineManagement module to v3.2.0

Fixed

  • Indent of script output was not consistent across all tasks

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v3.0.3.zip': 6F9053CCBAA6947EA6DB81B799D7A810D84CF0EBC8702B89CC0FA4A6B3C532B6
  • See 'hashes.txt' in 'Export-RecipientPermissions_v3.0.3.zip' for hash value of every single file in the release.

Release v3.0.2

28 Feb 14:32
2060d1f
Compare
Choose a tag to compare

v3.0.2 - 2023-02-28

Fixed

  • ExportResourceDelegates was triggered by the ExportAcceptMessagesOnlyFrom parameter, not by ExportResourceDelegates
  • ExpandGroups did not work because of assuming a wrong datatype which does not support the StartsWith method

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v3.0.2.zip': 479EAA8052CAB0BB430F0A93771EF3B2C9EF892043873CE5326A79C54CDEDB59
  • See 'hashes.txt' in 'Export-RecipientPermissions_v3.0.2.zip' for hash value of every single file in the release.

Release v3.0.1

24 Jan 06:57
Compare
Choose a tag to compare

v3.0.1 - 2023-01-24

Fixed

  • Direct group members were only exported as GUIDs
  • ExportGrantorsWithNoPermissions did not consider all distribution groups

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v3.0.1.zip': 4DC5FBBBB601DEE1441AA539405C91B5AC84BC8F8A269D926CAE8038CB9F1A40
  • See 'hashes.txt' in 'Export-RecipientPermissions_v3.0.1.zip' for hash value of every single file in the release.

Release v3.0.0

13 Jan 11:13
68cc263
Compare
Choose a tag to compare

v3.0.0 - 2023-01-13

Breaking: Microsoft removes support for Remote PowerShell connections to Exchange Online starting June 1, 2023. See https://techcommunity.microsoft.com/t5/exchange-team-blog/announcing-deprecation-of-remote-powershell-rps-protocol-in/ba-p/3695597 for details.
Export-RecipientPermissions no longer uses Remote PowerShell to connect to Exchange Online and to Exchange on-premises. This brings some possibly breaking changes, which are detailed in the following release notes.

Changed

  • Breaking: Switching from Remote PowerShell session to local PowerShell session due Microsoft disabling Remote PowerShell in Exchange Online
    • Export-RecipientPermission will require more local resources (CPU, RAM, network) and will take longer to complete because operations previously handled on the server side now need to be handled on the client side
    • The variables '$Grantor' and '$Trustee' lose some sub attributes, so you may have to adopt your 'GrantorFilter' and 'TrusteeFilter' code:
      • '.RecipientType.Value' is now '.RecipientType'
      • '.RecipientTypeDetails.Value' is now '.RecipientTypeDetails'
      • '.PrimarySmtpAddress' no longer has the sub attributes .Local, .Domain and .Address
        • All the data formerly held in the sub attributes is still there, as .PrimarySmtpAddress is in the 'local@domain' format
      • '.EmailAddresses' (an array) no longer has the sub attributes .PrefixString, .IsPrimaryAddress, .SmtpAddress and .ProxyAddressString
        • All the data formerly held in the sub attributes is still there, as .EmailAddress is in the 'prefix:local@domain' format
      • On-prem only:
        • '.Identity' is now the canonical name (CN) only and no longer has the sub attributes .DomainId and .Parent
          • All the data formerly held in the sub attributes is still there, as .Identity is in the 'example.com/OU1/OU2/ObjectA' format
    • Reduced the default value of 'ParallelJobsExchange' from '$ExchangeConnectionUriList.count * 3' to '$ExchangeConnectionUriList.count' as local Exchange PowerShell sessions are not as stable as Remote PowerShell sessions
  • Adopted sample code and documentation to reflect changes in the '$Grantor' and '$Trustee' variables
  • Use Get-EXO* cmdlets in Exchange Online where possible
  • Upgrade to ExchangeOnlineManagement v3.1.0

Added

  • New export parameters: 'ExportModerators', 'ExportRequireAllSendersAreAuthenticated', 'ExportAcceptMessagesOnlyFrom', 'ExportResourceDelegates'. See 'README' for details.
  • New FAQ in 'README': 'I receive an error message when connecting to Exchange on premises'

Fixed

  • When importing UserFriendlyNames, errors were not written to the error file because of a missing encoding variable
  • Only the first ManagedBy entry for reach recipient was exported correctly, the following entries were missing trustee data

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v3.0.0.zip': E19B048C906F2D851B3652FA3CC6F26C6B2C87CE3B3A01DBC15FD4CBA7DD18D4
  • See 'hashes.txt' in 'Export-RecipientPermissions_v3.0.0.zip' for hash value of every single file in the release.

Release v3.0.0-beta.1

11 Jan 13:48
Compare
Choose a tag to compare
Release v3.0.0-beta.1 Pre-release
Pre-release

v3.0.0-beta.1 - 2023-01-11

Breaking: Microsoft removes support for Remote PowerShell connections to Exchange Online starting June 1, 2023. See https://techcommunity.microsoft.com/t5/exchange-team-blog/announcing-deprecation-of-remote-powershell-rps-protocol-in/ba-p/3695597 for details.
Export-RecipientPermissions no longer uses Remote PowerShell to connect to Exchange Online and to Exchange on-premises. This brings some possibly breaking changes, which are detailed in the following release notes.

Changed

  • Breaking: Switching from Remote PowerShell session to local PowerShell session due Microsoft disabling Remote PowerShell in Exchange Online
    • Export-RecipientPermission will require more local resources (CPU, RAM, network) and will take longer to complete because operations previously handled on the server side now need to be handled on the client side
    • The variables '$Grantor' and '$Trustee' lose some sub attributes, so you may have to adopt your 'GrantorFilter' and 'TrusteeFilter' code:
      • '.RecipientType.Value' is now '.RecipientType'
      • '.RecipientTypeDetails.Value' is now '.RecipientTypeDetails'
      • '.PrimarySmtpAddress' no longer has the sub attributes .Local, .Domain and .Address
        • All the data formerly held in the sub attributes is still there, as .PrimarySmtpAddress is in the 'local@domain' format
      • '.EmailAddresses' (an array) no longer has the sub attributes .PrefixString, .IsPrimaryAddress, .SmtpAddress and .ProxyAddressString
        • All the data formerly held in the sub attributes is still there, as .EmailAddress is in the 'prefix:local@domain' format
      • On-prem only:
        • '.Identity' is now the canonical name (CN) only and no longer has the sub attributes .DomainId and .Parent
          • All the data formerly held in the sub attributes is still there, as .Identity is in the 'example.com/OU1/OU2/ObjectA' format
    • Reduced the default value of 'ParallelJobsExchange' from '$ExchangeConnectionUriList.count * 3' to '$ExchangeConnectionUriList.count' as local Exchange PowerShell sessions are not as stable as Remote PowerShell sessions
  • Adopted sample code and documentation to reflect changes in the '$Grantor' and '$Trustee' variables
  • Use Get-EXO* cmdlets in Exchange Online where possible
  • Upgrade to ExchangeOnlineManagement v3.1.0

Added

  • New export parameters: 'ExportModerators', 'ExportRequireAllSendersAreAuthenticated', 'ExportAcceptMessagesOnlyFrom', 'ExportResourceDelegates'. See 'README' for details.
  • New FAQ in 'README': 'I receive an error message when connecting to Exchange on premises'

Fixed

  • When importing UserFriendlyNames, errors were not written to the error file because of a missing encoding variable
  • Only the first ManagedBy entry for reach recipient was exported correctly, the following entries were missing trustee data

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v3.0.0-beta.1.zip': 317827C2974312FDEE0A9EE217A5A3B6E198F336E182A6E7854621EFCB8FC80A
  • See 'hashes.txt' in 'Export-RecipientPermissions_v3.0.0-beta.1.zip' for hash value of every single file in the release.

Release v2.3.1

28 Nov 11:56
2b92fa3
Compare
Choose a tag to compare

v2.3.1 - 2022-11-28

Added

  • New FAQ in 'README': 'How to export permissions for specific public folders?'

Fixed

  • Sample code 'compare.ps1' now additionally outputs the original identity of a trustee and not only the primary SMTP address. This helps with permissions granted to 'Anonymous' and 'Default', as well as with recipients which have been deleted in the time between the old and the new export.
  • Always include trustee groups in 'GrantorFilter' when 'ExportDistributionGroups' is set to 'OnlyTrustees'

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v2.3.1.zip': 5F7956E0B4560A42C24CB093CCDC1A8CDB1F69698B3137696E237708972BEA6B
  • See 'hashes.txt' in 'Export-RecipientPermissions_v2.3.1.zip' for hash value of every single file in the release.

Release v2.3.0

25 Oct 07:58
2c8284c
Compare
Choose a tag to compare

v2.3.0 - 2022-10-25

Added

  • When 'ExportFromOnPrem' is set to '$true' and 'ExchangeConnectionUriList' is not specified, 'ExchangeConnectionUriList' defaults to 'http://<server>/powershell' for each Exchange server with the mailbox server role
  • New FAQs in 'README': 'Which resources does a particular user or group have access to?', 'How to find distribution lists without members?'
  • New sample code 'MemberOfRecurse.ps1'

File hashes

  • SHA256 hash of 'Export-RecipientPermissions_v2.3.0.zip': 37104E9A7F937C7E0F6F9C7C46939CBA32C474F9055658CAB8E8C8ADD2900419
  • See 'hashes.txt' in 'Export-RecipientPermissions_v2.3.0.zip' for hash value of every single file in the release.