I found this information in the reporting API (from the admin SDK).
Here is the snippet I just wrote:
function logUsers2step() { var date = toISODate(new Date(Date.now()-3*24*60*60*1000)); var reports = AdminReports.UserUsageReport.get('all', date).usageReports; nextReport: for( var r in reports ) { for( var p in reports[r].parameters ) if( reports[r].parameters[p].name == 'accounts:is_2sv_enrolled' ) { Logger.log(reports[r].parameters[p].boolValue+' '+reports[r].entity.userEmail); continue nextReport; } Logger.log('not found '+reports[r].entity.userEmail); } } function toISODate(date) { return date.getFullYear()+'-'+pad(date.getMonth()+1)+'-'+pad(date.getDate()); } function pad(number) { return number < 10 ? '0' + number : number; }
By the way, it seems that this report can be found on the application panel and even enforce your users .
source share