From 8bb3290c0f554878874a8a26676ed664ec10cd89 Mon Sep 17 00:00:00 2001 From: AdminDroid <49208841+admindroid-community@users.noreply.github.com> Date: Mon, 17 Jul 2023 13:24:25 +0530 Subject: [PATCH] Microsoft 365 inactive user report Microsoft 365 inactive user report --- .../GetM365InactiveUserReport.ps1 | 230 ----------------- .../GetM365InactiveUserReport.zip | Bin 0 -> 6386 bytes .../LicenseFriendlyName.txt | 239 ------------------ 3 files changed, 469 deletions(-) delete mode 100644 Get M365 Inactive User Report/GetM365InactiveUserReport.ps1 create mode 100644 Get M365 Inactive User Report/GetM365InactiveUserReport.zip delete mode 100644 Get M365 Inactive User Report/LicenseFriendlyName.txt diff --git a/Get M365 Inactive User Report/GetM365InactiveUserReport.ps1 b/Get M365 Inactive User Report/GetM365InactiveUserReport.ps1 deleted file mode 100644 index 72b1b40..0000000 --- a/Get M365 Inactive User Report/GetM365InactiveUserReport.ps1 +++ /dev/null @@ -1,230 +0,0 @@ -<# -============================================================================================= -Name: Export Microsoft 365 Inactive Users Report using MS Graph PowerShell -Version: 1.0 -website: o365reports.com - -Script Highlights: -~~~~~~~~~~~~~~~~~ -1.The single script allows you to generate 10+ different inactive user reports. -2.The script can be executed with an MFA-enabled account too. -3.The script supports Certificate-based authentication (CBA). -4.Provides details about non-interactive sign-ins too. -5.You can generate reports based on inactive days. -6.Helps to filter never logged-in users alone. -7.Generates report for sign-in enabled users alone. -8.Supports filteringlicensed users alone. -9.Gets inactive external users report. -10.Export results to CSV file. -11.The assigned licenses column will show you the user-friendly-name like ‘Office 365 Enterprise E3’ rather than ‘ENTERPRISEPACK’. -12.Automatically installs the MS Graph PowerShell module (if not installed already) upon your confirmation. -13.The script is scheduler friendly. - -For detailed Script execution: https://o365reports.com/2023/06/21/microsoft-365-inactive-user-report-ms-graph-powershell -============================================================================================ -#> - -Param -( - [int]$InactiveDays, - [int]$InactiveDays_NonInteractive, - [switch]$ReturnNeverLoggedInUser, - [switch]$EnabledUsersOnly, - [switch]$DisabledUsersOnly, - [switch]$LicensedUsersOnly, - [switch]$ExternalUsersOnly, - [switch]$CreateSession, - [string]$TenantId, - [string]$ClientId, - [string]$CertificateThumbprint -) - -Function Connect_MgGraph -{ - #Check for module installation - $Module=Get-Module -Name microsoft.graph -ListAvailable - if($Module.count -eq 0) - { - Write-Host Microsoft Graph PowerShell SDK 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 Microsoft Graph PowerShell module..." - Install-Module Microsoft.Graph -Repository PSGallery -Scope CurrentUser -AllowClobber -Force - } - else - { - Write-Host "Microsoft Graph PowerShell module is required to run this script. Please install module using Install-Module Microsoft.Graph cmdlet." - Exit - } - } - #Disconnect Existing MgGraph session - if($CreateSession.IsPresent) - { - Disconnect-MgGraph - } - - #Connecting to MgGraph beta - Select-MgProfile -Name beta - Write-Host Connecting to Microsoft Graph... - if(($TenantId -ne "") -and ($ClientId -ne "") -and ($CertificateThumbprint -ne "")) - { - Connect-MgGraph -TenantId $TenantId -AppId $ClientId -CertificateThumbprint $CertificateThumbprint - } - else - { - Connect-MgGraph -Scopes "User.Read.All","AuditLog.read.All" - } -} -Connect_MgGraph - -$ExportCSV = ".\InactiveM365UserReport_$((Get-Date -format yyyy-MMM-dd-ddd` hh-mm-ss` tt).ToString()).csv" -$ExportResult="" -$ExportResults=@() - -#Get friendly name of license plan from external file -$FriendlyNameHash=Get-Content -Raw -Path .\LicenseFriendlyName.txt -ErrorAction Stop | ConvertFrom-StringData - -$Count=0 -$PrintedUser=0 -#retrieve users -$RequiredProperties=@('UserPrincipalName','EmployeeId','CreatedDateTime','AccountEnabled','Department','JobTitle','RefreshTokensValidFromDateTime','SigninActivity') -Get-MgUser -All -Property $RequiredProperties | select $RequiredProperties | ForEach-Object { - $Count++ - $UPN=$_.UserPrincipalName - Write-Progress -Activity "`n Processing user: $Count - $UPN" - $EmployeeId=$_.EmployeeId - $LastInteractiveSignIn=$_.SignInActivity.LastSignInDateTime - $LastNon_InteractiveSignIn=$_.SignInActivity.LastNonInteractiveSignInDateTime - $CreatedDate=$_.CreatedDateTime - $AccountEnabled=$_.AccountEnabled - $Department=$_.Department - $JobTitle=$_.JobTitle - $RefreshTokenValidFrom=$_.RefreshTokensValidFromDateTime - #Calculate Inactive days - if($LastInteractiveSignIn -eq $null) - { - $LastInteractiveSignIn = "Never Logged In" - $InactiveDays_InteractiveSignIn = "-" - } - else - { - $InactiveDays_InteractiveSignIn = (New-TimeSpan -Start $LastInteractiveSignIn).Days - } - if($LastNon_InteractiveSignIn -eq $null) - { - $LastNon_InteractiveSignIn = "Never Logged In" - $InactiveDays_NonInteractiveSignIn = "-" - } - else - { - $InactiveDays_NonInteractiveSignIn = (New-TimeSpan -Start $LastNon_InteractiveSignIn).Days - } - if($AccountEnabled -eq $true) - { - $AccountStatus='Enabled' - } - else - { - $AccountStatus='Disabled' - } - - #Get licenses assigned to mailboxes - $Licenses = (Get-MgUserLicenseDetail -UserId $UPN).SkuPartNumber - $AssignedLicense = @() - - #Convert license plan to friendly name - if($Licenses.count -eq 0) - { - $LicenseDetails = "No License Assigned" - } - else - { - foreach($License in $Licenses) - { - $EasyName = $FriendlyNameHash[$License] - if(!($EasyName)) - {$NamePrint = $License} - else - {$NamePrint = $EasyName} - $AssignedLicense += $NamePrint - } - $LicenseDetails = $AssignedLicense -join ", " - } - $Print=1 - - - #Inactive days based on interactive signins filter - if($InactiveDays_InteractiveSignIn -ne "-") - { - if(($InactiveDays -ne "") -and ($InactiveDays -gt $InactiveDays_InteractiveSignIn)) - { - $Print=0 - } - } - - #Inactive days based on non-interactive signins filter - if($InactiveDays_NonInteractiveSignIn -ne "-") - { - if(($InactiveDays_NonInteractive -ne "") -and ($InactiveDays_NonInteractive -gt $InactiveDays_NonInteractiveSignIn)) - { - $Print=0 - } - } - - #Never Logged In user - if(($ReturnNeverLoggedInUser.IsPresent) -and ($LastInteractiveSignIn -ne "Never Logged In")) - { - $Print=0 - } - - #Filter for external users - if(($ExternalUsersOnly.IsPresent) -and ($UPN -notmatch '#EXT#')) - { - $Print=0 - } - - #Signin Allowed Users - if($EnabledUsersOnly.IsPresent -and $AccountStatus -eq 'Disabled') - { - $Print=0 - } - - #Signin disabled users - if($DisabledUsersOnly.IsPresent -and $AccountStatus -eq 'Enabled') - { - $Print=0 - } - - #Licensed Users ony - if($LicensedUsersOnly -and $Licenses.Count -eq 0) - { - $Print=0 - } - - #Export users to output file - if($Print -eq 1) - { - $PrintedUser++ - $ExportResult=[PSCustomObject]@{'UPN'=$UPN;'Creation Date'=$CreatedDate;'Last Interactive SignIn Date'=$LastInteractiveSignIn;'Last Non Interactive SignIn Date'=$LastNon_InteractiveSignIn;'Inactive Days(Interactive SignIn)'=$InactiveDays_InteractiveSignIn;'Inactive Days(Non-Interactive Signin)'=$InactiveDays_NonInteractiveSignin;'Refresh Token Valid From'=$RefreshTokenValidFrom;'Emp id'=$EmployeeId;'License Details'=$LicenseDetails;'Account Status'=$AccountStatus;'Department'=$Department;'Job Title'=$JobTitle} - $ExportResult | Export-Csv -Path $ExportCSV -Notype -Append - } -} - -#Open output file after execution -Write-Host `nScript executed successfully -if((Test-Path -Path $ExportCSV) -eq "True") -{ - Write-Host "Exported report has $PrintedUser user(s)" - $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" - } - Write-Host "Detailed report available in: $ExportCSV" -} -else -{ - Write-Host "No user found" -ForegroundColor Red -} \ No newline at end of file diff --git a/Get M365 Inactive User Report/GetM365InactiveUserReport.zip b/Get M365 Inactive User Report/GetM365InactiveUserReport.zip new file mode 100644 index 0000000000000000000000000000000000000000..e2ba55e9578943d3ae8e139435c3e88f9f8eb51d GIT binary patch literal 6386 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 H{HOXKyT|w@ literal 0 HcmV?d00001 diff --git a/Get M365 Inactive User Report/LicenseFriendlyName.txt b/Get M365 Inactive User Report/LicenseFriendlyName.txt deleted file mode 100644 index edddefa..0000000 --- a/Get M365 Inactive User Report/LicenseFriendlyName.txt +++ /dev/null @@ -1,239 +0,0 @@ -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