03 março, 2014

Google Apps - Trocar senha proximo login


Abaixo segue um script para ser usado no Google Apps para forçar os usuários a trocarem a senha periodicamente. O link original está em fonte, o código abaixo sofreu algumas modificações para ficar mais adequado a minha necessidade.


fonte: https://sites.google.com/site/appsscripttutorial/home/force-google-apps-users-to-change-password-periodically


/*
Função seta o campo trocar senha no proximo login como verdadeiro
Seta uma senha padrão para todos os usuarios
Dispara email para quem executa o scrip com um relatorio de execução
Possibilidade de schedular para que a troca de senha ocorra periodicamente

*/

function invalidatePass() {

//Create logs
Logger.log('Incio de execução');
Logger.log('Lista de usuários que trocarão senha no proximo login');
Logger.log('=====================================================================');

var msgEmailAlterado = 'Lista emails que terão a senha trocada no próximo acesso' + '\n';
var mailSent = false;

 
try {
//pegar todos usuarios do dominio
var users = UserManager.getAllUsers();
 
 
//iterate for each user
for (var i = 0; i < users.length; i++){
//set the user to change password on next login
  //var userVerifica = users[i]
  //if (users[i].getIsAdmin()==false) {
    if (!users[i].getIsAdmin()) {
users[i].setPassword("init@123");
users[i].setChangePasswordAtNextLogin(true);
  Logger.log(users[i].getEmail())
  var msgEmailAlterado = msgEmailAlterado + '\n' + users[i].getEmail();
  }
//Put the email of the user in log

}
}
//Catch if any error occurs
catch(erro){
//Log the error
Logger.log('=====================================================================');
Logger.log('Ocorreu um erro: '+erro.message);
//Send an email to yourself with logs
GmailApp.sendEmail(Session.getEffectiveUser().getEmail(), 'Usuários que ocorreu erro na execução', Logger.getLog());
mailSent = true;
}

if(!mailSent){
//if execution successful
 var tituloEmail = 'Usuários que foram modificados com sucesso'
 var destinoEmail = Session.getEffectiveUser().getEmail()
 //var corpoEmail =
Logger.log('=====================================================================');
Logger.log('Fim da execução. Concluído com sucesso!!!');
//Send an email to yourself with logs
GmailApp.sendEmail(destinoEmail, tituloEmail, msgEmailAlterado);
}

}

Nenhum comentário: