Inquiridor
Impedir Login Simultaneo na Rede

Pergunta
-
Todas as Respostas
-
-
-
-
Adriano,
Achei este link sobre a ferramenta: http://technet.microsoft.com/en-us/magazine/cc160794.aspx
Porém pelo que estava lendo a implementação é um pouco complexa, eu pensava que a ferramenta era apenas instalar e sair usando, porém envolve instalar um Web Service para controlar os logins.
Estarei pesquisando se existe outra forma de fazer isso.
Abraços.
-
Valeu amigo, o Limitlogin parece bao ,mas nao consegui nem a pau fazer ele funfar!
e esse metodo seria muito interessamte.
Pensa comigo, se criar um script que quando o usurio logar o mesmo cria um aquivo em algum lugar e se houver o mesmo login o outro reinicia ou desliga, ja pensou nisso?
um script que criar esses nomes e apga quando fazem logof, olha isso aqui que encontrei imagina isso:
SET srv=\\servidor10\LIMITLOGIN\logons
If Exist %srv%\%username%@%computername% Goto CRASH
If Exist %srv%\%username%@* Goto LOGADO:CRASH
If Exist %srv%\%username%@%computername% Del %srv%\%username%@%computername%goto CRIAR
:CRIAR
echo %username% logado em %computername% > %srv%\%username%@%computername%Goto END
:LOGADO
Net Send %Username% ATENCAO!!! Usuario "%Username%" consta como JA LOGADO no dominio %USERDOMAIN%! Por razoes de seguranca e de organizacao do seu Perfil, Nao sao permitidos logons simultaneos!
logoff:END
_________________________________________
Script de Logoff:
SET srv=\\servidor10\LIMITLOGIN\logonsIf exist %srv%\%username%@%computername% del %srv%\%username%@%computername%
If exist %srv%\%username%@server del %srv%\%username%@servergoto end
:end
-
Aqui um script antigo pra fazer isso....
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 ExplicitDim FSO, wsNet, wShell, return, test
Dim pasta, arquivo, texto, LogFile
Dim label, msgSet 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 ifwShell.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 = nothingwscript.quit
Ref:http://forums.microsoft.com/TechNet-BR/ShowPost.aspx?PostID=3606756&SiteID=29 -
Aqui um script antigo pra fazer isso....
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 ExplicitDim FSO, wsNet, wShell, return, test
Dim pasta, arquivo, texto, LogFile
Dim label, msgSet 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 ifwShell.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 = nothingwscript.quit
Ref:http://forums.microsoft.com/TechNet-BR/ShowPost.aspx?PostID=3606756&SiteID=29
os arquivos não estão sendo apagados da pasta compartilhada -