How to get public folder permission with last modified date and export to csv?

Huynh, Diem 0 Reputation points
2023-12-05T16:14:31.8866667+00:00


# Get public folder permissions 
$permissions = Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity, User, AccessRights

# Get last modified dates for each folder
$modifiedDates = Get-PublicFolder -Recurse | ForEach-Object {
    $folderName = $_.Identity
    $lastModifiedDate = Get-PublicFolderStatistics -Identity $_.Identity | Select-Object -ExpandProperty LastModificationTime
    [PSCustomObject]@{
        FolderName = $folderName
        LastModifiedDate = $lastModifiedDate
    }
}

# Combine permission data with last modified date
$result = foreach ($permission in $permissions) {
    $modifiedDate = ($modifiedDates | Where-Object { $_.FolderName -eq $permission.Identity }).LastModifiedDate
    $permission | Add-Member -MemberType NoteProperty -Name LastModifiedDate -Value $modifiedDate -PassThru
}

# Export to CSV
$result | Export-Csv \PublicFolderPermissionsWithLastModified.csv -NoTypeInformation


Exchange Online
Exchange Online
A cloud-based service included in Microsoft 365, delivering scalable messaging and collaboration features with simplified management and automatic updates.
Windows for business | Windows Server | User experience | PowerShell
{count} votes

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.