locked
Usuário logar apenas uma vez no domínio RRS feed

  • Pergunta

  • Boa tarde a todos!

     

    Quero fazer o seguinte : impedir que um mesmo usuário realize logon no domínio mais de uma vez.

     

    Existe alguma GPO para isso? Realizei uma busca, mas não localizei.

     

    Agradeço desde já a colaboração.

     

    Abraços.

    quarta-feira, 16 de maio de 2007 18:46

Respostas

  • Não existe.

    Vc deve usar o LimitLogin ou o (antigo) CConnect.

    Se não estou enganado, o LimitLogin só funciona no Win2003. Eo CConnect apenas com o SQL Server.

    Mas como já faz algum tempo que não trabalho com eles, é bom verificar.

    quinta-feira, 14 de junho de 2007 08:49
    Moderador

Todas as Respostas

  • Jadowski, boa tarde cara

     

    Você vai precisar do LimitLogon:

     

    Dê uma lida no pequeno comentário dele: http://www.baboo.com.br/absolutenm/templates/content.asp?articleid=15377

    Faça o download  da ferramenta: http://download.microsoft.com/download/f/d/0/fd05def7-68a1-4f71-8546-25c359cc0842/limitlogin.exe

     

    Abraços!

    quarta-feira, 16 de maio de 2007 19:42
  • Boa noite Marco.

     

    Obrigado pela ajuda.

     

    Na verdade, não quero um programa para realizar essa tarefa. Será que não existe nenhuma opção dentro do AD para restringir a quantidade de logon's que um mesmo usuário realizar no domínio?

     

     

    Agradeço a colaboração.

    terça-feira, 5 de junho de 2007 21:21
  • Não existe.

    Vc deve usar o LimitLogin ou o (antigo) CConnect.

    Se não estou enganado, o LimitLogin só funciona no Win2003. Eo CConnect apenas com o SQL Server.

    Mas como já faz algum tempo que não trabalho com eles, é bom verificar.

    quinta-feira, 14 de junho de 2007 08:49
    Moderador
  • Boa tarde!

     

    Obrigado pela informação Emilio.

     

    Abraço.

    sexta-feira, 22 de junho de 2007 19:54
  •  LimitLogin, infelizmente só funciona no 2003... Porém...

     

    Segue abaixo scripts para limitanção de login simultâneos no 2000.

     

    Basta que seja criada uma pasta compartilhada com direitos de scripta, pode até ser compartilhamento oculto, e substituir as linhas em vermelho pelo caminho da desta pasta.

     

    Salve os dois como .vbs

     

    Script para ser inserido no login...

     

    Code Snippet

    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    '  Script de limitação de login para windows 2000 server
    ' By O Filipe -
    jfjatoba@gmail.com
    '
    ' Limita os usuários do domínio à uma seção, impedindo login simultâneo em dois pcs,
    ' utilizando uma pasta compartilhada
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' FAVOR NÃO ALTERAR ESTA SEÇÃO A MENOS QUE TENHA CERTEZA. OBRIGADO.
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Option Explicit

    Dim FSO, wsNet, wShell, return, test
    Dim pasta, arquivo, texto, LogFile
    Dim label, msg

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set wsNet = CreateObject("WScript.Network")
    Set wShell = CreateObject("WScript.Shell")
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' < - - - - - - Edite esta parte, colocando o ip ou nome do servidor,
    ' < - - - - - - seguido do nome do compartilhamento entre aspas conforme o exemplo abaixo.
    ' < - - - - - - O compartilhamento deve ter acesso total para todos.

     

    pasta = "\\helpdesksv4\Publica"

     

    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' FAVOR NÃO ALTERAR ESTA SEÇÃO A MENOS QUE TENHA CERTEZA. OBRIGADO.
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    arquivo = pasta & "\" & wsNet.Username & ".txt"
    texto = "PC-" & wsNet.ComputerName


    If  FSO.FileExists(arquivo) = false then
     Set LogFile = FSO.OpenTextFile(arquivo, ForWriting, True)
     LogFile.WriteLine(texto)
     LogFile.Close
    else
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     


    '  < - - - - - - Edite esta parte substituindo o texto entre parênteses pelas msgs que deseja exibir.
    '  < - - - - - - O exemplo abaixo é exibido da seginte forma:
     '|------------------------------------------------------------------------------------
     '|USUÁRIO JÁ LOGADO                                                                    
     '|------------------------------------------------------------------------------------
     '|ATENÇÃO:                                                                                          
     '|                                                                                                               
     '|  Este login já está sendo utilizado, esta sessão será encerrada. 
     '|                                 ___________                                                     
     '|                                 |        OK           |                                                    
     '|------------------------------------------------------------------------------------


    label =  "USUÁRIO JÁ LOGADO"     '/ / / - > Edite nesta linha o título da janela, mantendo as aspas.
    msg=  "Este login já está sendo utilizado, esta sessão será encerrada."   ' / / / - > Edite nesta linha o texto a ser exibido mantendo as aspas ex.:  "HA, vc já tá logado!" ou "Poutzzz... já logou fiu."


     return = wShell.Popup("ATENÇÃO: "& VbCrLf & VbCrLf & msg & VbCrLf, 3, label, 48)     

     

    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' FAVOR NÃO ALTERAR ESTA SEÇÃO A MENOS QUE TENHA CERTEZA. OBRIGADO.
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     if texto = "PC-" & wsNet.ComputerName then
     FSO.DeleteFile(arquivo)
     end if
     wShell.run "%windir%\system32\shutdown.exe -l -f"

    end if


    set FSO = nothing
    set wsNet = nothing
    set wShell = nothing
    set pasta = nothing
    set arquivo = nothing
    set texto = nothing
    set LogFile = nothing
    set return = nothing
    set test = nothing
    set label = nothing
    set msg = nothing

    wscript.quit

     

     

     

    Aqui o script para ser inserido no logoff...

     

    Code Snippet

    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    '  Script de limitação de login para windows 2000 server
    ' By O Filipe -
    jfjatoba@gmail.com
    '
    ' Limita os usuários do domínio à uma seção, impedindo login simultâneo em dois pcs,
    ' utilizando uma pasta compartilhada
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' FAVOR NÃO ALTERAR ESTA SEÇÃO A MENOS QUE TENHA CERTEZA. OBRIGADO.
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Option Explicit

    Dim FSO, wsNet
    Dim pasta, arquivo, texto, LogFile

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set wsNet = CreateObject("WScript.Network")
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' < - - - - - - Edite esta parte, colocando o ip ou nome do servidor,
    ' < - - - - - - seguido do nome do compartilhamento entre aspas conforme o exemplo abaixo.
    ' < - - - - - - O compartilhamento deve ter acesso total para todos.

     

    pasta = "\\helpdesksv4\Publica"

     

    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     

     


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' FAVOR NÃO ALTERAR ESTA SEÇÃO A MENOS QUE TENHA CERTEZA. OBRIGADO.
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    arquivo = pasta & "\" & wsNet.Username & ".txt"


    if FSO.FileExists(arquivo) = true then
     Set LogFile = FSO.OpenTextFile(arquivo, ForReading, 0)
     texto = LogFile.ReadLine
     LogFile.Close
     if texto = "PC-" & wsNet.ComputerName then
     FSO.DeleteFile(arquivo)
     end if
    end if

    set FSO = nothing
    set wsNet = nothing
    set pasta = nothing
    set arquivo = nothing
    set texto = nothing
    set LogFile = nothing


    wscript.quit

     

     

    Ah... não repare os comentário, mas eu fiz isso para uma outra pessoa, meio bizonha....hehe

     

    quinta-feira, 2 de agosto de 2007 21:57
  • Ola amigo

    Não entendo muito de Script e talves seja por isto que estou com uma dificuldade, na hora em que o usuario loga na segunda maquina é exibido a mensagem e a maquina efetua login perfeitamente mais remove o arquivo que foi criado pela primeira. assim na segunda tentaiva de login simultaneo não funciona o script.

    Voce pode me ajudar ?

    terça-feira, 20 de maio de 2008 15:20
  • Felipe,

    Cara estou fazendo esse esquema aqui na empresa mas o que acontece, coloquei a rodar no logon/logoff das maquinas, bah funcionou beleza, fiz o teste no laboratorio, fiz logon em uma maquina e beleza, dai fui logar em outra e deu a mensagem que já estava logado, mas dai que vem tentei logar novamente nessa maquina onde deu o erro e logo normalmente, fui verificar que no server ele apagou o arquivo anterior e criou um novo para esse micro, ai que está tem alguma forma de fazer com que não apague o arquivo quando logoff forçado, dai acho q da certo.

    Desde já agradeço

    Joaquim Luiz
    quinta-feira, 10 de julho de 2008 21:28
  • Caraca, quanto tempo que eu não vejo esse script!

    Bom corrigido, nem tinha percebido essa falha, agora ele só apaga quando faz logoff ou quando o nome do pc é o pc no qual o usuário estava logado quando o arquivo foi criado.

    Code Snippet

    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    '  Script de limitação de login para windows 2000 server
    ' By O Filipe - jfjatoba@gmail.com
    '
    ' Limita os usuários do domínio à uma seção, impedindo login simultâneo em dois pcs,
    ' utilizando uma pasta compartilhada
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' FAVOR NÃO ALTERAR ESTA SEÇÃO A MENOS QUE TENHA CERTEZA. OBRIGADO.
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Option Explicit

    Dim FSO, wsNet, wShell, return, test
    Dim pasta, arquivo, texto, LogFile
    Dim label, msg

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set wsNet = CreateObject("WScript.Network")
    Set wShell = CreateObject("WScript.Shell")
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' < - - - - - - Edite esta parte, colocando o ip ou nome do servidor,
    ' < - - - - - - seguido do nome do compartilhamento entre aspas conforme o exemplo abaixo.
    ' < - - - - - - O compartilhamento deve ter acesso total para todos.

     

    pasta = "\\helpdesksv4\Publica"

     

    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' FAVOR NÃO ALTERAR ESTA SEÇÃO A MENOS QUE TENHA CERTEZA. OBRIGADO.
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    arquivo = pasta & "\" & wsNet.Username & ".txt"
    texto = "PC-" & wsNet.ComputerName


    If  FSO.FileExists(arquivo) = false then
     Set LogFile = FSO.OpenTextFile(arquivo, ForWriting, True)
     LogFile.WriteLine(texto)
     LogFile.Close
    else
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

     


    '  < - - - - - - Edite esta parte substituindo o texto entre parênteses pelas msgs que deseja exibir.
    '  < - - - - - - O exemplo abaixo é exibido da seginte forma:
     '|------------------------------------------------------------------------------------
     '|USUÁRIO JÁ LOGADO                                                                    
     '|------------------------------------------------------------------------------------
     '|ATENÇÃO:                                                                                          
     '|                                                                                                               
     '|  Este login já está sendo utilizado, esta sessão será encerrada. 
     '|                                 ___________                                                     
     '|                                 |        OK           |                                                    
     '|------------------------------------------------------------------------------------


    label =  "USUÁRIO JÁ LOGADO"     '/ / / - > Edite nesta linha o título da janela, mantendo as aspas.
    msg=  "Este login já está sendo utilizado, esta sessão será encerrada."   ' / / / - > Edite nesta linha o texto a ser exibido mantendo as aspas ex.:  "HA, vc já tá logado!" ou "Poutzzz... já logou fiu."


     return = wShell.Popup("ATENÇÃO: "& VbCrLf & VbCrLf & msg & VbCrLf, 3, label, 48)    

     

    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     


    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ' FAVOR NÃO ALTERAR ESTA SEÇÃO A MENOS QUE TENHA CERTEZA. OBRIGADO.
    ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    if FSO.FileExists(arquivo) = true then
     Set LogFile = FSO.OpenTextFile(arquivo, ForReading, 0)
     texto = LogFile.ReadLine
     LogFile.Close
     if texto = "PC-" & wsNet.ComputerName then
     FSO.DeleteFile(arquivo)
     end if
    end if

     wShell.run "%windir%\system32\shutdown.exe -l -f"

    end if


    set FSO = nothing
    set wsNet = nothing
    set wShell = nothing
    set pasta = nothing
    set arquivo = nothing
    set texto = nothing
    set LogFile = nothing
    set return = nothing
    set test = nothing
    set label = nothing
    set msg = nothing

    wscript.quit

     

     

     

    sexta-feira, 11 de julho de 2008 20:45
  • Bah Felipe, obrigado pelo retorno e desculpa a demora em responder, amanha cedo vou testar no servico o script e te falo o que deu lá, mas ja te agradeco pela atenção.

    Abraço e até mais


    Att

    Joaquim Luiz
    quarta-feira, 16 de julho de 2008 01:14
  • Sou colega do Joaquim colega que pediu para melhorar o script..Bom nos fizemos os testes aqui e funcionou 100% agora so to esperando o OK da chefia e vamos por pra trabalhar o script..Muito obrigado por ter corrigido.

     

    Se alguem for usar isso como eu, acho melhor a pasta que fica os logins podia ficar oculta nesse caso so pra melhorar a segurança.

     

    pasta = "\\helpdesksv4\$Publica"

     

     

     

     

    att Ronaldo

     

    quinta-feira, 17 de julho de 2008 00:17
  • Boa Noite Felipe.

    Mais uma coisa esse script vai ser aonde no logon e logoff eu ponho ele...no caso tinha botado so no logon e nao apagava o arquivos depois de fazer o logon...nao deixando ous micros logarem com a senha do cara..

     

     

    att ronaldo

     

    sexta-feira, 18 de julho de 2008 02:49
  • Ola amigo, ainda nao funciona teu script....ele bloqueia quando loga mais nao esta mais apagando nem mesmo fazendo logoff na maquina...depois de logado uma vez ninguem mais consegue logar.
    terça-feira, 12 de agosto de 2008 13:31
  •  

    Muito bom....

     

    Funcionou perfeitamente aqui.

    Era o que precisava.

     

     

     

    Detalhe: Tbm funciona no 2003 e é muito melhor do que outras alternativas citadas na internet

     

     

    OBS.: Só para esclarecer, ele cria um arquivo txt indicando o pc em que o usuário está logado ( caso o usuário faça logon em uma maquina e " esqueça" em que maquina deixou seu login bloqueado).

     

     

     

    segunda-feira, 15 de setembro de 2008 01:22
  • Ronaldo...

     

    No quote ali em cima tem dois scripts, um para o logon e outro para o logoff..

     

    Vc salva os dois separadamente, e coloca em uma gpo na parte de usuário, nas opções de script logon/logoff...

     

    E na pastar o usuário tem que ter permissão para alterar a apagar os arquivos, senão ele não vai funcionar.

     

    qq coisa grita ae.

     

     

     

    quinta-feira, 18 de setembro de 2008 16:36