Segue um JOB que é bastante útil para descobrir o SID de um usuário no domínio em questão. Vc pode utilizar esse código quando for atualizar a base de SID dos usuários depois de uma alteração de domínio por exemplo.
Basta passar por parâmetro o login e o domínio:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | static void UserSIDExample(Args _args) { //Funcao local para gerar o SID str generateInitialUserSid(str userId, str domainName) { xAxaptaUserManager axUsrMgr; xAxaptaUserDetails axUsrDet; str userSid; int len; if(domainName == '' || userId == '') { return ''; } axUsrMgr = new xAxaptaUserManager(); axUsrDet = axUsrMgr.getDomainUser(domainName, userId); try { if(axUsrDet && axUsrDet.getUserCount() > 0 && axUsrDet.isUserEnabled(0)) { userSid = axUsrDet.getUserSid(0); } return userSid; } catch(Exception::Error) { len = infolog.line(); if(len > 0) { infolog.clear(len - 1); } return ''; } } ; //Nesse exemplo, o user 'newuser' ainda não está habilitado //no AX. É apenas um exemplo de como podemos pegar um SID fazendo //um query diretamente no domínio usando as classes do AX. //Como usar: generateInitialUserSid('login','dominio'); info(generateInitialUserSid('newuser','seudomain.local')); } |
abraços,
—
Fraga
One Response
Ricardo Pichler
09|Sep|2008 1Ficou show esse post, fiz exatamente e funcionou 100%!!!
Abraço e obrigado!
Leave a reply