diff --git a/Office 365 User Last Activity Time Report/LicenseFriendlyName.txt b/Office 365 User Last Activity Time Report/LicenseFriendlyName.txt index f1fdb7a..08c143d 100644 --- a/Office 365 User Last Activity Time Report/LicenseFriendlyName.txt +++ b/Office 365 User Last Activity Time Report/LicenseFriendlyName.txt @@ -1,123 +1,239 @@ - - O365_BUSINESS_ESSENTIALS = Office 365 Business Essentials - O365_BUSINESS_PREMIUM = Office 365 Business Premium - DESKLESSPACK = Office 365 (Plan K1) - DESKLESSWOFFPACK = Office 365 (Plan K2) - LITEPACK = Office 365 (Plan P1) - EXCHANGESTANDARD = Office 365 Exchange Online Only - STANDARDPACK = Enterprise Plan E1 - STANDARDWOFFPACK = Office 365 (Plan E2) - ENTERPRISEPACK = Enterprise Plan E3 - ENTERPRISEPACKLRG = Enterprise Plan E3 - ENTERPRISEWITHSCAL = Enterprise Plan E4 - STANDARDPACK_STUDENT = Office 365 (Plan A1) for Students - STANDARDWOFFPACKPACK_STUDENT = Office 365 (Plan A2) for Students - ENTERPRISEPACK_STUDENT = Office 365 (Plan A3) for Students - ENTERPRISEWITHSCAL_STUDENT = Office 365 (Plan A4) for Students - STANDARDPACK_FACULTY = Office 365 (Plan A1) for Faculty - STANDARDWOFFPACKPACK_FACULTY = Office 365 (Plan A2) for Faculty - ENTERPRISEPACK_FACULTY = Office 365 (Plan A3) for Faculty - ENTERPRISEWITHSCAL_FACULTY = Office 365 (Plan A4) for Faculty - ENTERPRISEPACK_B_PILOT = Office 365 (Enterprise Preview) - STANDARD_B_PILOT = Office 365 (Small Business Preview) - VISIOCLIENT = Visio Pro Online - POWER_BI_ADDON = Office 365 Power BI Addon - POWER_BI_INDIVIDUAL_USE = Power BI Individual User - POWER_BI_STANDALONE = Power BI Stand Alone - POWER_BI_STANDARD = Power-BI Standard - PROJECTESSENTIALS = Project Lite - PROJECTCLIENT = Project Professional - PROJECTONLINE_PLAN_1 = Project Online - PROJECTONLINE_PLAN_2 = Project Online and PRO - ProjectPremium = Project Online Premium - ECAL_SERVICES = ECAL - EMS = Enterprise Mobility Suite - RIGHTSMANAGEMENT_ADHOC = Windows Azure Rights Management - MCOMEETADV = PSTN conferencing - SHAREPOINTSTORAGE = SharePoint storage - PLANNERSTANDALONE = Planner Standalone - CRMIUR = CMRIUR - BI_AZURE_P1 = Power BI Reporting and Analytics - INTUNE_A = Windows Intune Plan A - PROJECTWORKMANAGEMENT = Office 365 Planner Preview - ATP_ENTERPRISE = Exchange Online Advanced Threat Protection - EQUIVIO_ANALYTICS = Office 365 Advanced eDiscovery - AAD_BASIC = Azure Active Directory Basic - RMS_S_ENTERPRISE = Azure Active Directory Rights Management - AAD_PREMIUM = Azure Active Directory Premium - MFA_PREMIUM = Azure Multi-Factor Authentication - STANDARDPACK_GOV = Microsoft Office 365 (Plan G1) for Government - STANDARDWOFFPACK_GOV = Microsoft Office 365 (Plan G2) for Government - ENTERPRISEPACK_GOV = Microsoft Office 365 (Plan G3) for Government - ENTERPRISEWITHSCAL_GOV = Microsoft Office 365 (Plan G4) for Government - DESKLESSPACK_GOV = Microsoft Office 365 (Plan K1) for Government - ESKLESSWOFFPACK_GOV = Microsoft Office 365 (Plan K2) for Government - EXCHANGESTANDARD_GOV = Microsoft Office 365 Exchange Online (Plan 1) only for Government - EXCHANGEENTERPRISE_GOV = Microsoft Office 365 Exchange Online (Plan 2) only for Government - SHAREPOINTDESKLESS_GOV = SharePoint Online Kiosk - EXCHANGE_S_DESKLESS_GOV = Exchange Kiosk - RMS_S_ENTERPRISE_GOV = Windows Azure Active Directory Rights Management - OFFICESUBSCRIPTION_GOV = Office ProPlus - MCOSTANDARD_GOV = Lync Plan 2G - SHAREPOINTWAC_GOV = Office Online for Government - SHAREPOINTENTERPRISE_GOV = SharePoint Plan 2G - EXCHANGE_S_ENTERPRISE_GOV = Exchange Plan 2G - EXCHANGE_S_ARCHIVE_ADDON_GOV = Exchange Online Archiving - EXCHANGE_S_DESKLESS = Exchange Online Kiosk - SHAREPOINTDESKLESS = SharePoint Online Kiosk - SHAREPOINTWAC = Office Online - YAMMER_ENTERPRISE = Yammer for the Starship Enterprise - EXCHANGE_L_STANDARD = Exchange Online (Plan 1) - MCOLITE = Lync Online (Plan 1) - SHAREPOINTLITE = SharePoint Online (Plan 1) - OFFICE_PRO_PLUS_SUBSCRIPTION_SMBIZ = Office ProPlus - EXCHANGE_S_STANDARD_MIDMARKET = Exchange Online (Plan 1) - MCOSTANDARD_MIDMARKET = Lync Online (Plan 1) - SHAREPOINTENTERPRISE_MIDMARKET = SharePoint Online (Plan 1) - OFFICESUBSCRIPTION = Office ProPlus - YAMMER_MIDSIZE = Yammer - DYN365_ENTERPRISE_PLAN1 = Dynamics 365 Customer Engagement Plan Enterprise Edition - ENTERPRISEPREMIUM_NOPSTNCONF = Enterprise E5 (without Audio Conferencing) - ENTERPRISEPREMIUM = Enterprise E5 (with Audio Conferencing) - MCOSTANDARD = Skype for Business Online Standalone Plan 2 - PROJECT_MADEIRA_PREVIEW_IW_SKU = Dynamics 365 for Financials for IWs - STANDARDWOFFPACK_IW_STUDENT = Office 365 Education for Students - STANDARDWOFFPACK_IW_FACULTY = Office 365 Education for Faculty - EOP_ENTERPRISE_FACULTY = Exchange Online Protection for Faculty - EXCHANGESTANDARD_STUDENT = Exchange Online (Plan 1) for Students - OFFICESUBSCRIPTION_STUDENT = Office ProPlus Student Benefit - STANDARDWOFFPACK_FACULTY = Office 365 Education E1 for Faculty - STANDARDWOFFPACK_STUDENT = Microsoft Office 365 (Plan A2) for Students - DYN365_FINANCIALS_BUSINESS_SKU = Dynamics 365 for Financials Business Edition - DYN365_FINANCIALS_TEAM_MEMBERS_SKU = Dynamics 365 for Team Members Business Edition - FLOW_FREE = Microsoft Flow Free - POWER_BI_PRO = Power BI Pro - O365_BUSINESS = Office 365 Business - DYN365_ENTERPRISE_SALES = Dynamics Office 365 Enterprise Sales - RIGHTSMANAGEMENT = Rights Management - PROJECTPROFESSIONAL = Project Professional - VISIOONLINE_PLAN1 = Visio Online Plan 1 - EXCHANGEENTERPRISE = Exchange Online Plan 2 - DYN365_ENTERPRISE_P1_IW = Dynamics 365 P1 Trial for Information Workers - DYN365_ENTERPRISE_TEAM_MEMBERS = Dynamics 365 For Team Members Enterprise Edition - CRMSTANDARD = Microsoft Dynamics CRM Online Professional - EXCHANGEARCHIVE_ADDON = Exchange Online Archiving For Exchange Online - EXCHANGEDESKLESS = Exchange Online Kiosk - SPZA_IW = App Connect - WINDOWS_STORE = Windows Store for Business - MCOEV = Microsoft Phone System - VIDEO_INTEROP = Polycom Skype Meeting Video Interop for Skype for Business - SPE_E5 = Microsoft 365 E5 - SPE_E3 = Microsoft 365 E3 - ATA = Advanced Threat Analytics - MCOPSTN2 = Domestic and International Calling Plan - FLOW_P1 = Microsoft Flow Plan 1 - FLOW_P2 = Microsoft Flow Plan 2 - DeveloperPack = OFFICE 365 ENTERPRISE E3 DEVELOPER -EMSPremium = ENTERPRISE MOBILITY + SECURITY E5 -RightsManagemnt =AZURE INFORMATION PROTECTION PLAN 1 -DYN365_ENTERPRISE_CUSTOMER_SERVICE =DYNAMICS 365 FOR CUSTOMER SERVICE ENTERPRISE EDITION -POWERFLOW_P1 = Microsoft PowerApps Plan 1 - POWERFLOW_P2 = Microsoft PowerApps Plan 2 - AAD_PREMIUM_P1 = Azure Active Directory Premium P1 - AAD_PREMIUM_P2 = Azure Active Directory Premium P2 +AAD_BASIC= Azure Active Directory Basic + AAD_PREMIUM= Azure Active Directory Premium + AAD_PREMIUM_P1= Azure Active Directory Premium P1 + AAD_PREMIUM_P2= Azure Active Directory Premium P2 + ADALLOM_O365= Office 365 Advanced Security Management + ADALLOM_STANDALONE= Microsoft Cloud App Security + ADALLOM_S_O365= POWER BI STANDALONE + ADALLOM_S_STANDALONE= Microsoft Cloud App Security + ATA= Azure Advanced Threat Protection for Users + ATP_ENTERPRISE= Exchange Online Advanced Threat Protection + ATP_ENTERPRISE_FACULTY= Exchange Online Advanced Threat Protection + BI_AZURE_P0= Power BI (free) + BI_AZURE_P1= Power BI Reporting and Analytics + BI_AZURE_P2= Power BI Pro + CCIBOTS_PRIVPREV_VIRAL= Dynamics 365 AI for Customer Service Virtual Agents Viral SKU + CRMINSTANCE= Microsoft Dynamics CRM Online Additional Production Instance (Government Pricing) + CRMIUR= CRM for Partners + CRMPLAN1= Microsoft Dynamics CRM Online Essential (Government Pricing) + CRMPLAN2= Dynamics CRM Online Plan 2 + CRMSTANDARD= CRM Online + CRMSTORAGE= Microsoft Dynamics CRM Online Additional Storage + CRMTESTINSTANCE= CRM Test Instance + DESKLESS= Microsoft StaffHub + DESKLESSPACK= Office 365 (Plan K1) + DESKLESSPACK_GOV= Microsoft Office 365 (Plan K1) for Government + DESKLESSPACK_YAMMER= Office 365 Enterprise K1 with Yammer + DESKLESSWOFFPACK= Office 365 (Plan K2) + DESKLESSWOFFPACK_GOV= Microsoft Office 365 (Plan K2) for Government + DEVELOPERPACK= Office 365 Enterprise E3 Developer + DEVELOPERPACK_E5= Microsoft 365 E5 Developer(without Windows and Audio Conferencing) + DMENTERPRISE= Microsoft Dynamics Marketing Online Enterprise + DYN365_ENTERPRISE_CUSTOMER_SERVICE= Dynamics 365 for Customer Service Enterprise Edition + DYN365_ENTERPRISE_P1_IW= Dynamics 365 P1 Trial for Information Workers + DYN365_ENTERPRISE_PLAN1= Dynamics 365 Plan 1 Enterprise Edition + DYN365_ENTERPRISE_SALES= Dynamics 365 for Sales Enterprise Edition + DYN365_ENTERPRISE_SALES_CUSTOMERSERVICE= Dynamics 365 for Sales and Customer Service Enterprise Edition + DYN365_ENTERPRISE_TEAM_MEMBERS= Dynamics 365 for Team Members Enterprise Edition + DYN365_FINANCIALS_BUSINESS_SKU= Dynamics 365 for Financials Business Edition + DYN365_MARKETING_USER= Dynamics 365 for Marketing USL + DYN365_MARKETING_APP= Dynamics 365 Marketing + DYN365_SALES_INSIGHTS= Dynamics 365 AI for Sales + D365_SALES_PRO= Dynamics 365 for Sales Professional + Dynamics_365_for_Operations= Dynamics 365 Unf Ops Plan Ent Edition + ECAL_SERVICES= ECAL + EMS= Enterprise Mobility + Security E3 + EMSPREMIUM= Enterprise Mobility + Security E5 + ENTERPRISEPACK= Office 365 Enterprise E3 + ENTERPRISEPACKLRG= Office 365 Enterprise E3 LRG + ENTERPRISEPACKWITHOUTPROPLUS= Office 365 Enterprise E3 without ProPlus Add-on + ENTERPRISEPACK_B_PILOT= Office 365 (Enterprise Preview) + ENTERPRISEPACK_FACULTY= Office 365 (Plan A3) for Faculty + ENTERPRISEPACK_GOV= Microsoft Office 365 (Plan G3) for Government + ENTERPRISEPACK_STUDENT= Office 365 (Plan A3) for Students + ENTERPRISEPREMIUM= Enterprise E5 (with Audio Conferencing) + ENTERPRISEPREMIUM_NOPSTNCONF= Enterprise E5 (without Audio Conferencing) + ENTERPRISEWITHSCAL= Office 365 Enterprise E4 + ENTERPRISEWITHSCAL_FACULTY= Office 365 (Plan A4) for Faculty + ENTERPRISEWITHSCAL_GOV= Microsoft Office 365 (Plan G4) for Government + ENTERPRISEWITHSCAL_STUDENT= Office 365 (Plan A4) for Students + EOP_ENTERPRISE= Exchange Online Protection + EOP_ENTERPRISE_FACULTY= Exchange Online Protection for Faculty + EQUIVIO_ANALYTICS= Office 365 Advanced Compliance + EQUIVIO_ANALYTICS_FACULTY= Office 365 Advanced Compliance for Faculty + ESKLESSWOFFPACK_GOV= Microsoft Office 365 (Plan K2) for Government + EXCHANGEARCHIVE= Exchange Online Archiving + EXCHANGEARCHIVE_ADDON= Exchange Online Archiving for Exchange Online + EXCHANGEDESKLESS= Exchange Online Kiosk + EXCHANGEENTERPRISE= Exchange Online Plan 2 + EXCHANGEENTERPRISE_FACULTY= Exch Online Plan 2 for Faculty + EXCHANGEENTERPRISE_GOV= Microsoft Office 365 Exchange Online (Plan 2) only for Government + EXCHANGEESSENTIALS= Exchange Online Essentials + EXCHANGESTANDARD= Office 365 Exchange Online Only + EXCHANGESTANDARD_GOV= Microsoft Office 365 Exchange Online (Plan 1) only for Government + EXCHANGESTANDARD_STUDENT= Exchange Online (Plan 1) for Students + EXCHANGETELCO= Exchange Online POP + EXCHANGE_ANALYTICS= Microsoft MyAnalytics + EXCHANGE_L_STANDARD= Exchange Online (Plan 1) + EXCHANGE_S_ARCHIVE_ADDON_GOV= Exchange Online Archiving + EXCHANGE_S_DESKLESS= Exchange Online Kiosk + EXCHANGE_S_DESKLESS_GOV= Exchange Kiosk + EXCHANGE_S_ENTERPRISE= Exchange Online (Plan 2) Ent + EXCHANGE_S_ENTERPRISE_GOV= Exchange Plan 2G + EXCHANGE_S_ESSENTIALS= Exchange Online Essentials + EXCHANGE_S_FOUNDATION= Exchange Foundation for certain SKUs + EXCHANGE_S_STANDARD= Exchange Online (Plan 2) + EXCHANGE_S_STANDARD_MIDMARKET= Exchange Online (Plan 1) + FLOW_FREE= Microsoft Flow (Free) + FLOW_O365_P2= Flow for Office 365 + FLOW_O365_P3= Flow for Office 365 + FLOW_P1= Microsoft Flow Plan 1 + FLOW_P2= Microsoft Flow Plan 2 + FORMS_PLAN_E3= Microsoft Forms (Plan E3) + FORMS_PLAN_E5= Microsoft Forms (Plan E5) + INFOPROTECTION_P2= Azure Information Protection Premium P2 + INTUNE_A= Windows Intune Plan A + INTUNE_A_VL= Intune (Volume License) + INTUNE_O365= Mobile Device Management for Office 365 + INTUNE_STORAGE= Intune Extra Storage + IT_ACADEMY_AD= Microsoft Imagine Academy + LITEPACK= Office 365 (Plan P1) + LITEPACK_P2= Office 365 Small Business Premium + LOCKBOX= Customer Lockbox + LOCKBOX_ENTERPRISE= Customer Lockbox + MCOCAP= Command Area Phone + MCOEV= Skype for Business Cloud PBX + MCOIMP= Skype for Business Online (Plan 1) + MCOLITE= Lync Online (Plan 1) + MCOMEETADV= PSTN conferencing + MCOPLUSCAL= Skype for Business Plus CAL + MCOPSTN1= Skype for Business Pstn Domestic Calling + MCOPSTN2= Skype for Business Pstn Domestic and International Calling + MCOSTANDARD= Skype for Business Online Standalone Plan 2 + MCOSTANDARD_GOV= Lync Plan 2G + MCOSTANDARD_MIDMARKET= Lync Online (Plan 1) + MCVOICECONF= Lync Online (Plan 3) + MDM_SALES_COLLABORATION= Microsoft Dynamics Marketing Sales Collaboration + MEE_FACULTY= Minecraft Education Edition Faculty + MEE_STUDENT= Minecraft Education Edition Student + MEETING_ROOM= Meeting Room + MFA_PREMIUM= Azure Multi-Factor Authentication + MICROSOFT_BUSINESS_CENTER= Microsoft Business Center + MICROSOFT_REMOTE_ASSIST= Dynamics 365 Remote Assist + MIDSIZEPACK= Office 365 Midsize Business + MINECRAFT_EDUCATION_EDITION= Minecraft Education Edition Faculty + MS-AZR-0145P= Azure + MS_TEAMS_IW= Microsoft Teams + NBPOSTS= Microsoft Social Engagement Additional 10k Posts (minimum 100 licenses) (Government Pricing) + NBPROFESSIONALFORCRM= Microsoft Social Listening Professional + O365_BUSINESS= Microsoft 365 Apps for business + O365_BUSINESS_ESSENTIALS= Microsoft 365 Business Basic + O365_BUSINESS_PREMIUM= Microsoft 365 Business Standard + OFFICE365_MULTIGEO= Multi-Geo Capabilities in Office 365 + OFFICESUBSCRIPTION= Microsoft 365 Apps for enterprise + OFFICESUBSCRIPTION_FACULTY= Office 365 ProPlus for Faculty + OFFICESUBSCRIPTION_GOV= Office ProPlus + OFFICESUBSCRIPTION_STUDENT= Office ProPlus Student Benefit + OFFICE_FORMS_PLAN_2= Microsoft Forms (Plan 2) + OFFICE_PRO_PLUS_SUBSCRIPTION_SMBIZ= Office ProPlus + ONEDRIVESTANDARD= OneDrive + PAM_ENTERPRISE = Exchange Primary Active Manager + PLANNERSTANDALONE= Planner Standalone + POWERAPPS_INDIVIDUAL_USER= Microsoft PowerApps and Logic flows + POWERAPPS_O365_P2= PowerApps + POWERAPPS_O365_P3= PowerApps for Office 365 + POWERAPPS_VIRAL= PowerApps (Free) + POWERFLOW_P1= Microsoft PowerApps Plan 1 + POWERFLOW_P2= Microsoft PowerApps Plan 2 + POWER_BI_ADDON= Office 365 Power BI Addon + POWER_BI_INDIVIDUAL_USE= Power BI Individual User + POWER_BI_INDIVIDUAL_USER= Power BI for Office 365 Individual + POWER_BI_PRO= Power BI Pro + POWER_BI_STANDALONE= Power BI Standalone + POWER_BI_STANDARD= Power-BI Standard + PREMIUM_ADMINDROID= AdminDroid Office 365 Reporter + PROJECTCLIENT= Project Professional + PROJECTESSENTIALS= Project Lite + PROJECTONLINE_PLAN_1= Project Online (Plan 1) + PROJECTONLINE_PLAN_1_FACULTY= Project Online for Faculty Plan 1 + PROJECTONLINE_PLAN_1_STUDENT= Project Online for Students Plan 1 + PROJECTONLINE_PLAN_2= Project Online and PRO + PROJECTONLINE_PLAN_2_FACULTY= Project Online for Faculty Plan 2 + PROJECTONLINE_PLAN_2_STUDENT= Project Online for Students Plan 2 + PROJECTPREMIUM= Project Online Premium + PROJECTPROFESSIONAL= Project Online Pro + PROJECTWORKMANAGEMENT= Office 365 Planner Preview + PROJECT_CLIENT_SUBSCRIPTION= Project Pro for Office 365 + PROJECT_ESSENTIALS= Project Lite + PROJECT_MADEIRA_PREVIEW_IW_SKU= Dynamics 365 for Financials for IWs + PROJECT_ONLINE_PRO= Project Online Plan 3 + RIGHTSMANAGEMENT= Azure Rights Management Premium + RIGHTSMANAGEMENT_ADHOC= Windows Azure Rights Management + RIGHTSMANAGEMENT_STANDARD_FACULTY= Azure Rights Management for faculty + RIGHTSMANAGEMENT_STANDARD_STUDENT= Information Rights Management for Students + RMS_S_ENTERPRISE= Azure Active Directory Rights Management + RMS_S_ENTERPRISE_GOV= Windows Azure Active Directory Rights Management + RMS_S_PREMIUM= Azure Information Protection Plan 1 + RMS_S_PREMIUM2= Azure Information Protection Premium P2 + SCHOOL_DATA_SYNC_P1= School Data Sync (Plan 1) + SHAREPOINTDESKLESS= SharePoint Online Kiosk + SHAREPOINTDESKLESS_GOV= SharePoint Online Kiosk + SHAREPOINTENTERPRISE= SharePoint Online (Plan 2) + SHAREPOINTENTERPRISE_EDU= SharePoint Plan 2 for EDU + SHAREPOINTENTERPRISE_GOV= SharePoint Plan 2G + SHAREPOINTENTERPRISE_MIDMARKET= SharePoint Online (Plan 1) + SHAREPOINTLITE= SharePoint Online (Plan 1) + SHAREPOINTPARTNER= SharePoint Online Partner Access + SHAREPOINTSTANDARD= SharePoint Online Plan 1 + SHAREPOINTSTANDARD_EDU= SharePoint Plan 1 for EDU + SHAREPOINTSTORAGE= SharePoint Online Storage + SHAREPOINTWAC= Office Online + SHAREPOINTWAC_EDU= Office Online for Education + SHAREPOINTWAC_GOV= Office Online for Government + SHAREPOINT_PROJECT= SharePoint Online (Plan 2) Project + SHAREPOINT_PROJECT_EDU= Project Online Service for Education + SMB_APPS= Business Apps (free) + SMB_BUSINESS= Office 365 Business + SMB_BUSINESS_ESSENTIALS= Office 365 Business Essentials + SMB_BUSINESS_PREMIUM= Office 365 Business Premium + SPZA IW= Microsoft PowerApps Plan 2 Trial + SPB= Microsoft 365 Business + SPE_E3= Secure Productive Enterprise E3 + SQL_IS_SSIM= Power BI Information Services + STANDARDPACK= Office 365 (Plan E1) + STANDARDPACK_FACULTY= Office 365 (Plan A1) for Faculty + STANDARDPACK_GOV= Microsoft Office 365 (Plan G1) for Government + STANDARDPACK_STUDENT= Office 365 (Plan A1) for Students + STANDARDWOFFPACK= Office 365 (Plan E2) + STANDARDWOFFPACKPACK_FACULTY= Office 365 (Plan A2) for Faculty + STANDARDWOFFPACKPACK_STUDENT= Office 365 (Plan A2) for Students + STANDARDWOFFPACK_FACULTY= Office 365 Education E1 for Faculty + STANDARDWOFFPACK_GOV= Microsoft Office 365 (Plan G2) for Government + STANDARDWOFFPACK_IW_FACULTY= Office 365 Education for Faculty + STANDARDWOFFPACK_IW_STUDENT= Office 365 Education for Students + STANDARDWOFFPACK_STUDENT= Microsoft Office 365 (Plan A2) for Students + STANDARD_B_PILOT= Office 365 (Small Business Preview) + STREAM= Microsoft Stream + STREAM_O365_E3= Microsoft Stream for O365 E3 SKU + STREAM_O365_E5= Microsoft Stream for O365 E5 SKU + SWAY= Sway + TEAMS1= Microsoft Teams + TEAMS_COMMERCIAL_TRIAL= Microsoft Teams Commercial Cloud Trial + THREAT_INTELLIGENCE= Office 365 Threat Intelligence + VIDEO_INTEROP = Skype Meeting Video Interop for Skype for Business + VISIOCLIENT= Visio Online Plan 2 + VISIOONLINE_PLAN1= Visio Online Plan 1 + VISIO_CLIENT_SUBSCRIPTION= Visio Pro for Office 365 + WACONEDRIVEENTERPRISE= OneDrive for Business (Plan 2) + WACONEDRIVESTANDARD= OneDrive for Business with Office Online + WACSHAREPOINTSTD= Office Online STD + WHITEBOARD_PLAN3= White Board (Plan 3) + WIN_DEF_ATP= Windows Defender Advanced Threat Protection + WIN10_PRO_ENT_SUB= Windows 10 Enterprise E3 + WIN10_VDA_E3= Windows E3 + WIN10_VDA_E5= Windows E5 + WINDOWS_STORE= Windows Store + YAMMER_EDU= Yammer for Academic + YAMMER_ENTERPRISE= Yammer for the Starship Enterprise + YAMMER_ENTERPRISE_STANDALONE= Yammer Enterprise + YAMMER_MIDSIZE= Yammer \ No newline at end of file diff --git a/Office 365 User Last Activity Time Report/LastUserActivityTimeReport.ps1 b/Office 365 User Last Activity Time Report/UserLastActivityTimeReport.ps1 similarity index 67% rename from Office 365 User Last Activity Time Report/LastUserActivityTimeReport.ps1 rename to Office 365 User Last Activity Time Report/UserLastActivityTimeReport.ps1 index 014ee08..4948468 100644 --- a/Office 365 User Last Activity Time Report/LastUserActivityTimeReport.ps1 +++ b/Office 365 User Last Activity Time Report/UserLastActivityTimeReport.ps1 @@ -1,283 +1,284 @@ -#Accept input parameter -Param -( - [Parameter(Mandatory = $false)] - [string]$MBNamesFile, - [int]$InactiveDays, - [switch]$UserMailboxOnly, - [switch]$LicensedUserOnly, - [switch]$ReturnNeverLoggedInMBOnly, - [string]$UserName, - [string]$Password, - [switch]$FriendlyTime, - [switch]$MFA - -) - -Function Get_LastLogonTime -{ - $MailboxStatistics=Get-MailboxStatistics -Identity $upn - $LastActionTime=$MailboxStatistics.LastUserActionTime - $LastActionTimeUpdatedOn=$MailboxStatistics.LastUserActionUpdateTime - $RolesAssigned="" - Write-Progress -Activity "`n Processed mailbox count: $MBUserCount "`n" Currently Processing: $DisplayName" - - #Retrieve lastlogon time and then calculate Inactive days - if($LastActionTime -eq $null) - { - $LastActionTime ="Never Logged In" - $InactiveDaysOfUser="-" - } - else - { - $InactiveDaysOfUser= (New-TimeSpan -Start $LastActionTime).Days - #Convert Last Action Time to Friendly Time - if($friendlyTime.IsPresent) - { - $FriendlyLastActionTime=ConvertTo-HumanDate ($LastActionTime) - $friendlyLastActionTime="("+$FriendlyLastActionTime+")" - $LastActionTime="$LastActionTime $FriendlyLastActionTime" - } - } - - #Convert Last Action Time Update On to Friendly Time - if(($friendlyTime.IsPresent) -and ($LastActionTimeUpdatedOn -ne $null)) - { - $FriendlyLastActionTimeUpdatedOn= ConvertTo-HumanDate ($LastActionTimeUpdatedOn) - $FriendlyLastActionTimeUpdatedOn="("+$FriendlyLastActionTimeUpdatedOn+")" - $LastActionTimeUpdatedOn="$LastActionTimeUpdatedOn $FriendlyLastActionTimeUpdatedOn" - } - elseif($LastActionTimeUpdatedOn -eq $null) - { - $LastActionTimeUpdatedOn="-" - } - - #Get licenses assigned to mailboxes - $User=(Get-MsolUser -UserPrincipalName $upn) - $Licenses=$User.Licenses.AccountSkuId - $AssignedLicense="" - $Count=0 - - #Convert license plan to friendly name - foreach($License in $Licenses) - { - $Count++ - $LicenseItem= $License -Split ":" | Select-Object -Last 1 - $EasyName=$FriendlyNameHash[$LicenseItem] - if(!($EasyName)) - {$NamePrint=$LicenseItem} - else - {$NamePrint=$EasyName} - $AssignedLicense=$AssignedLicense+$NamePrint - if($count -lt $licenses.count) - { - $AssignedLicense=$AssignedLicense+"," - } - } - if($Licenses.count -eq 0) - { - $AssignedLicense="No License Assigned" - } - - #Inactive days based filter - if($InactiveDaysOfUser -ne "-"){ - if(($InactiveDays -ne "") -and ([int]$InactiveDays -gt $InactiveDaysOfUser)) - { - return - }} - - #Filter result based on user mailbox - if(($UserMailboxOnly.IsPresent) -and ($MBType -ne "UserMailbox")) - { - return - } - - #Never Logged In user - if(($ReturnNeverLoggedInMBOnly.IsPresent) -and ($LastActionTime -ne "Never Logged In")) - { - return - } - - #Filter result based on license status - if(($LicensedUserOnly.IsPresent) -and ($AssignedLicense -eq "No License Assigned")) - { - return - } - - #Get roles assigned to user - $Roles=(Get-MsolUserRole -UserPrincipalName $upn).Name - if($Roles.count -eq 0) - { - $RolesAssigned="No roles" - } - else - { - foreach($Role in $Roles) - { - $RolesAssigned=$RolesAssigned+$Role - if($Roles.indexof($role) -lt (($Roles.count)-1)) - { - $RolesAssigned=$RolesAssigned+"," - } - } - } - - #Export result to CSV file - $Result=@{'UserPrincipalName'=$upn;'DisplayName'=$DisplayName;'LastUserActionTime'=$LastActionTime;'LastActionTimeUpdatedOn'=$LastActionTimeUpdatedOn;'CreationTime'=$CreationTime;'InactiveDays'=$InactiveDaysOfUser;'MailboxType'=$MBType; 'AssignedLicenses'=$AssignedLicense;'Roles'=$RolesAssigned} - $Output= New-Object PSObject -Property $Result - $Output | Select-Object UserPrincipalName,DisplayName,LastUserActionTime,LastActionTimeUpdatedOn,InactiveDays,CreationTime,MailboxType,AssignedLicenses,Roles | Export-Csv -Path $ExportCSV -Notype -Append -} - - -Function main() -{ - #Check for MSOnline module - $Modules=Get-Module -Name MSOnline -ListAvailable - if($Modules.count -eq 0) - { - Write-Host Please install MSOnline module using below command: `nInstall-Module MSOnline -ForegroundColor yellow - Exit - } - #Connect AzureAD and Exchange Online from PowerShell - Get-PSSession | Remove-PSSession - - #Get friendly name of license plan from external file - $FriendlyNameHash=Get-Content -Raw -Path .\LicenseFriendlyName.txt -ErrorAction Stop | ConvertFrom-StringData - - - #Set output file - $ExportCSV=".\LastAccessTimeReport_$((Get-Date -format yyyy-MMM-dd-ddd` hh-mm` tt).ToString()).csv" - - #Authentication using MFA - if($MFA.IsPresent) - { - $MFAExchangeModule = ((Get-ChildItem -Path $($env:LOCALAPPDATA+"\Apps\2.0\") -Filter CreateExoPSSession.ps1 -Recurse ).FullName | Select-Object -Last 1) - If ($MFAExchangeModule -eq $null) - { - Write-Host `nPlease install Exchange Online MFA Module. -ForegroundColor yellow - - Write-Host You can install module using below blog : `nLink `nOR you can install module directly by entering "Y"`n - $Confirm= Read-Host Are you sure you want to install module directly? [Y] Yes [N] No - if($Confirm -match "[yY]") - { - Write-Host Yes - Start-Process "iexplore.exe" "https://cmdletpswmodule.blob.core.windows.net/exopsmodule/Microsoft.Online.CSE.PSModule.Client.application" - } - else - { - Start-Process 'https://o365reports.com/2019/03/23/export-dynamic-distribution-group-members-to-csv/' - Exit - } - $Confirmation= Read-Host Have you installed Exchange Online MFA Module? [Y] Yes [N] No - if($Confirmation -match "[yY]") - { - $MFAExchangeModule = ((Get-ChildItem -Path $($env:LOCALAPPDATA+"\Apps\2.0\") -Filter CreateExoPSSession.ps1 -Recurse ).FullName | Select-Object -Last 1) - If ($MFAExchangeModule -eq $null) - { - Write-Host Exchange Online MFA module is not available -ForegroundColor red - Exit - } - } - else - { - Write-Host Exchange Online PowerShell Module is required - Start-Process 'https://o365reports.com/2019/03/23/export-dynamic-distribution-group-members-to-csv/' - Exit - } - } - - #Importing Exchange MFA Module - . "$MFAExchangeModule" - Write-Host Enter credential in prompt to connect to Exchange Online - Connect-EXOPSSession -WarningAction SilentlyContinue - Write-Host Connected to Exchange Online - Write-Host `nEnter credential in prompt to connect to MSOnline - #Importing MSOnline Module - Connect-MsolService | Out-Null - Write-Host Connected to MSOnline `n`nReport generation in progress... - } - #Authentication using non-MFA - else - { +<# +============================================================================================= +Name: Export Office 365 users real last activity time report +Version: 3.0 +Website: o365reports.com +Script by: O365Reports Team +For detailed script execution: https://o365reports.com/2019/06/18/export-office-365-users-real-last-logon-time-report-csv/# +============================================================================================ +#> + +#Accept input parameter +Param +( + [Parameter(Mandatory = $false)] + [string]$MBNamesFile, + [int]$InactiveDays, + [switch]$UserMailboxOnly, + [switch]$LicensedUserOnly, + [switch]$ReturnNeverLoggedInMBOnly, + [string]$UserName, + [string]$Password, + [switch]$FriendlyTime, + [switch]$NoMFA + +) + +Function Get_LastLogonTime +{ + $MailboxStatistics=Get-MailboxStatistics -Identity $upn + $LastActionTime=$MailboxStatistics.LastUserActionTime + $LastActionTimeUpdatedOn=$MailboxStatistics.LastUserActionUpdateTime + $RolesAssigned="" + Write-Progress -Activity "`n Processed mailbox count: $MBUserCount "`n" Currently Processing: $DisplayName" + + #Retrieve lastlogon time and then calculate Inactive days + if($LastActionTime -eq $null) + { + $LastActionTime ="Never Logged In" + $InactiveDaysOfUser="-" + } + else + { + $InactiveDaysOfUser= (New-TimeSpan -Start $LastActionTime).Days + #Convert Last Action Time to Friendly Time + if($friendlyTime.IsPresent) + { + $FriendlyLastActionTime=ConvertTo-HumanDate ($LastActionTime) + $friendlyLastActionTime="("+$FriendlyLastActionTime+")" + $LastActionTime="$LastActionTime $FriendlyLastActionTime" + } + } + #Convert Last Action Time Update On to Friendly Time + if(($friendlyTime.IsPresent) -and ($LastActionTimeUpdatedOn -ne $null)) + { + $FriendlyLastActionTimeUpdatedOn= ConvertTo-HumanDate ($LastActionTimeUpdatedOn) + $FriendlyLastActionTimeUpdatedOn="("+$FriendlyLastActionTimeUpdatedOn+")" + $LastActionTimeUpdatedOn="$LastActionTimeUpdatedOn $FriendlyLastActionTimeUpdatedOn" + } + elseif($LastActionTimeUpdatedOn -eq $null) + { + $LastActionTimeUpdatedOn="-" + } + + #Get licenses assigned to mailboxes + $User=(Get-MsolUser -UserPrincipalName $upn) + $Licenses=$User.Licenses.AccountSkuId + $AssignedLicense="" + $Count=0 + + + if($Licenses.count -eq 0) + { + $AssignedLicense="No License Assigned" + } + #Convert license plan to friendly name + else + { + foreach($License in $Licenses) + { + $Count++ + $LicenseItem= $License -Split ":" | Select-Object -Last 1 + $EasyName=$FriendlyNameHash[$LicenseItem] + if(!($EasyName)) + {$NamePrint=$LicenseItem} + else + {$NamePrint=$EasyName} + $AssignedLicense=$AssignedLicense+$NamePrint + if($count -lt $licenses.count) + { + $AssignedLicense=$AssignedLicense+"," + } + } + } + + #Inactive days based filter + if($InactiveDaysOfUser -ne "-"){ + if(($InactiveDays -ne "") -and ([int]$InactiveDays -gt $InactiveDaysOfUser)) + { + return + }} + + #Filter result based on user mailbox + if(($UserMailboxOnly.IsPresent) -and ($MBType -ne "UserMailbox")) + { + return + } + + #Never Logged In user + if(($ReturnNeverLoggedInMBOnly.IsPresent) -and ($LastActionTime -ne "Never Logged In")) + { + return + } + + #Filter result based on license status + if(($LicensedUserOnly.IsPresent) -and ($AssignedLicense -eq "No License Assigned")) + { + return + } + + #Get roles assigned to user + $Roles=(Get-MsolUserRole -UserPrincipalName $upn).Name + if($Roles.count -eq 0) + { + $RolesAssigned="No roles" + } + else + { + foreach($Role in $Roles) + { + $RolesAssigned=$RolesAssigned+$Role + if($Roles.indexof($role) -lt (($Roles.count)-1)) + { + $RolesAssigned=$RolesAssigned+"," + } + } + } + + #Export result to CSV file + $Result=@{'UserPrincipalName'=$upn;'DisplayName'=$DisplayName;'LastUserActionTime'=$LastActionTime;'LastActionTimeUpdatedOn'=$LastActionTimeUpdatedOn;'CreationTime'=$CreationTime;'InactiveDays'=$InactiveDaysOfUser;'MailboxType'=$MBType; 'AssignedLicenses'=$AssignedLicense;'Roles'=$RolesAssigned} + $Output= New-Object PSObject -Property $Result + $Output | Select-Object UserPrincipalName,DisplayName,LastUserActionTime,LastActionTimeUpdatedOn,InactiveDays,CreationTime,MailboxType,AssignedLicenses,Roles | Export-Csv -Path $ExportCSV -Notype -Append +} + + +Function main() +{ + #Check for EXO v2 module inatallation + $Module = Get-Module ExchangeOnlineManagement -ListAvailable + if($Module.count -eq 0) + { + Write-Host Exchange Online PowerShell V2 module is not available -ForegroundColor yellow + $Confirm= Read-Host Are you sure you want to install module? [Y] Yes [N] No + if($Confirm -match "[yY]") + { + Write-host "Installing Exchange Online PowerShell module" + Install-Module ExchangeOnlineManagement -Repository PSGallery -AllowClobber -Force + Import-Module ExchangeOnlineManagement + } + else + { + Write-Host EXO V2 module is required to connect Exchange Online.Please install module using Install-Module ExchangeOnlineManagement cmdlet. + Exit + } + } + #Check for Azure AD module + $Module = Get-Module MsOnline -ListAvailable + if($Module.count -eq 0) + { + Write-Host MSOnline module is not available -ForegroundColor yellow + $Confirm= Read-Host Are you sure you want to install the module? [Y] Yes [N] No + if($Confirm -match "[yY]") + { + Write-host "Installing MSOnline PowerShell module" + Install-Module MSOnline -Repository PSGallery -AllowClobber -Force + Import-Module MSOnline + } + else + { + Write-Host MSOnline module is required to generate the report.Please install module using Install-Module MSOnline cmdlet. + Exit + } + } + + #Authentication using non-MFA + if($NoMFA.IsPresent) + { #Storing credential in script for scheduling purpose/ Passing credential as parameter if(($UserName -ne "") -and ($Password -ne "")) - { + { $SecuredPassword = ConvertTo-SecureString -AsPlainText $Password -Force $Credential = New-Object System.Management.Automation.PSCredential $UserName,$SecuredPassword } else { $Credential=Get-Credential -Credential $null - } - Connect-MsolService -Credential $credential - $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Credential -Authentication Basic -AllowRedirection - Import-PSSession $Session -CommandName Get-Mailbox,Get-MailboxStatistics -FormatTypeName * -AllowClobber | Out-Null - } - - #Friendly DateTime conversion - if($friendlyTime.IsPresent) - { - If(((Get-Module -Name PowerShellHumanizer -ListAvailable).Count) -eq 0) - { - Write-Host Installing PowerShellHumanizer for Friendly DateTime conversion - Install-Module -Name PowerShellHumanizer - } - } - - $Result="" - $Output=@() - $MBUserCount=0 - - #Check for input file - if([string]$MBNamesFile -ne "") - { - #We have an input file, read it into memory - $Mailboxes=@() - $Mailboxes=Import-Csv -Header "MBIdentity" $MBNamesFile - foreach($item in $Mailboxes) - { - $MBDetails=Get-Mailbox -Identity $item.MBIdentity - $upn=$MBDetails.UserPrincipalName - $CreationTime=$MBDetails.WhenCreated - $DisplayName=$MBDetails.DisplayName - $MBType=$MBDetails.RecipientTypeDetails - $MBUserCount++ - Get_LastLogonTime - } - } - - #Get all mailboxes from Office 365 - else - { - Write-Progress -Activity "Getting Mailbox details from Office 365..." -Status "Please wait." - Get-Mailbox -ResultSize Unlimited | Where{$_.DisplayName -notlike "Discovery Search Mailbox"} | ForEach-Object{ - $upn=$_.UserPrincipalName - $CreationTime=$_.WhenCreated - $DisplayName=$_.DisplayName - $MBType=$_.RecipientTypeDetails - $MBUserCount++ - Get_LastLogonTime - } - } - - #Open output file after execution - Write-Host `nScript executed successfully - if((Test-Path -Path $ExportCSV) -eq "True") - { - Write-Host "Detailed report available in: $ExportCSV" - $Prompt = New-Object -ComObject wscript.shell - $UserInput = $Prompt.popup("Do you want to open output file?",` - 0,"Open Output File",4) - If ($UserInput -eq 6) - { - Invoke-Item "$ExportCSV" - } - } - Else - { - Write-Host No mailbox found - } - #Clean up session - Get-PSSession | Remove-PSSession -} + } + Write-Host "Connecting Azure AD..." + Connect-MsolService -Credential $Credential | Out-Null + Write-Host "Connecting Exchange Online PowerShell..." + Connect-ExchangeOnline -Credential $Credential + } + #Connect to Exchange Online and AzureAD module using MFA + else + { + Write-Host "Connecting Exchange Online PowerShell..." + Connect-ExchangeOnline + Write-Host "Connecting Azure AD..." + Connect-MsolService | Out-Null + } + + #Friendly DateTime conversion + if($friendlyTime.IsPresent) + { + If(((Get-Module -Name PowerShellHumanizer -ListAvailable).Count) -eq 0) + { + Write-Host Installing PowerShellHumanizer for Friendly DateTime conversion + Install-Module -Name PowerShellHumanizer + } + } + + $Result="" + $Output=@() + $MBUserCount=0 + + #Get friendly name of license plan from external file + $FriendlyNameHash=Get-Content -Raw -Path .\LicenseFriendlyName.txt -ErrorAction Stop | ConvertFrom-StringData + + + #Set output file + $ExportCSV=".\LastAccessTimeReport_$((Get-Date -format yyyy-MMM-dd-ddd` hh-mm` tt).ToString()).csv" + + #Check for input file + if([string]$MBNamesFile -ne "") + { + #We have an input file, read it into memory + $Mailboxes=@() + $Mailboxes=Import-Csv -Header "MBIdentity" $MBNamesFile + foreach($item in $Mailboxes) + { + $MBDetails=Get-Mailbox -Identity $item.MBIdentity + $upn=$MBDetails.UserPrincipalName + $CreationTime=$MBDetails.WhenCreated + $DisplayName=$MBDetails.DisplayName + $MBType=$MBDetails.RecipientTypeDetails + $MBUserCount++ + Get_LastLogonTime + } + } + + #Get all mailboxes from Office 365 + else + { + Write-Progress -Activity "Getting Mailbox details from Office 365..." -Status "Please wait." + Get-Mailbox -ResultSize Unlimited | Where{$_.DisplayName -notlike "Discovery Search Mailbox"} | ForEach { + $upn=$_.UserPrincipalName + $CreationTime=$_.WhenCreated + $DisplayName=$_.DisplayName + $MBType=$_.RecipientTypeDetails + $MBUserCount++ + Get_LastLogonTime + } + } + + #Open output file after execution + Write-Host `nScript executed successfully + if((Test-Path -Path $ExportCSV) -eq "True") + { + Write-Host "Detailed report available in: $ExportCSV" + $Prompt = New-Object -ComObject wscript.shell + $UserInput = $Prompt.popup("Do you want to open output file?",` + 0,"Open Output File",4) + If ($UserInput -eq 6) + { + Invoke-Item "$ExportCSV" + } + } + Else + { + Write-Host No mailbox found + } + #Clean up session + Get-PSSession | Remove-PSSession +} . main \ No newline at end of file