none
Script Logon Bloqueio Sites RRS feed

  • Pergunta

  • Boa tarde galera...estou com um problema na linha 6, coluna 67 do seguinte código, ou seja, é a linha destacada em negrito...alguém sabe me informar o que está errado nesta sintaxe?

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objShell = CreateObject("WScript.Shell")
    Const ForReading = 1
    Const ForWriting = 2
    Const ForAppending = 8
    <strong>hostsFile = objShell.ExpandEnvironmentStrings("%SystemRoot%") &amp; "\system32\drivers\etc\hosts"</strong>
    strIP = "127.0.0.1"
    strValue = "facebook.com"
     
    If objFSO.FileExists(hostsFile) Then
     Set objTextFile = objFSO.OpenTextFile(hostsFile, ForReading)
    Else
     Set myFile = objFSO.CreateTextFile(hostsFile, True)
     myFile.WriteLine "127.0.0.1    localhost"
     myFile.WriteLine strIP &amp; " " &amp; strValue
     Wscript.Quit
    End If
     
    strFlag = 0
    Do Until objTextFile.AtEndOfStream
     strLine = Trim(objTextFile.ReadLine)
     If InStr(strLine, strIP) &gt; 0 Then
     If InStr(strLine, strValue) &gt; 0 Then
      strFlag = "1"
     End If
     End If
    Loop
    objTextFile.Close
     
    If strFlag = 0 Then
     Set objTextFile = objFSO.OpenTextFile(hostsFile, ForAppending)
     objTextFile.WriteLine vbCrLf &amp; strIP &amp; " " &amp; strValue
    End If
    
    


    Rombesso
    terça-feira, 23 de agosto de 2011 18:26

Respostas

  • Rombesso Boa noite,

    Efetuei algumas alterações veja se lhe ajuda

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objShell = CreateObject("WScript.Shell")
    Const ForReading = 1
    Const ForWriting = 2
    Const ForAppending = 8
    hostsFile = objShell.ExpandEnvironmentStrings("%SystemRoot%") & "\system32\drivers\etc\hosts"
    strIP = "127.0.0.1"
    strValue = "facebook.com"
     
    If objFSO.FileExists(hostsFile) Then
     Set objTextFile = objFSO.OpenTextFile(hostsFile, ForReading)
    Else
     Set myFile = objFSO.CreateTextFile(hostsFile, True)
     myFile.WriteLine "127.0.0.1  localhost"
     myFile.WriteLine strIP  & " " &  strValue
     Wscript.Quit
    End If
     
    strFlag = 0
    Do Until objTextFile.AtEndOfStream
     strLine = Trim(objTextFile.ReadLine)
     MsgBox(InStr(strLine, strIP))
     If InStr(strLine, strIP) = 1 Then
      MsgBox("aaqui" & InStr(strLine, strValue))
      If InStr(strLine, strValue) = 11 Then
       strFlag = "1"
      End If
     End If
    Loop
    objTextFile.Close
     
    If strFlag = 0 Then
     Set objTextFile = objFSO.OpenTextFile(hostsFile, ForAppending)
     objTextFile.WriteLine vbCrLf & strIP & " " & strValue
    End If
    

     

    Abraços


    Edson Matias Fagundes Junior - (Nioks)
    MCP, MCTS: 2008, MCTS:MBS
    Se a resposta for valida por favor vote como útil.
    terça-feira, 23 de agosto de 2011 23:59

Todas as Respostas

  • Rombesso Boa noite,

    Efetuei algumas alterações veja se lhe ajuda

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objShell = CreateObject("WScript.Shell")
    Const ForReading = 1
    Const ForWriting = 2
    Const ForAppending = 8
    hostsFile = objShell.ExpandEnvironmentStrings("%SystemRoot%") & "\system32\drivers\etc\hosts"
    strIP = "127.0.0.1"
    strValue = "facebook.com"
     
    If objFSO.FileExists(hostsFile) Then
     Set objTextFile = objFSO.OpenTextFile(hostsFile, ForReading)
    Else
     Set myFile = objFSO.CreateTextFile(hostsFile, True)
     myFile.WriteLine "127.0.0.1  localhost"
     myFile.WriteLine strIP  & " " &  strValue
     Wscript.Quit
    End If
     
    strFlag = 0
    Do Until objTextFile.AtEndOfStream
     strLine = Trim(objTextFile.ReadLine)
     MsgBox(InStr(strLine, strIP))
     If InStr(strLine, strIP) = 1 Then
      MsgBox("aaqui" & InStr(strLine, strValue))
      If InStr(strLine, strValue) = 11 Then
       strFlag = "1"
      End If
     End If
    Loop
    objTextFile.Close
     
    If strFlag = 0 Then
     Set objTextFile = objFSO.OpenTextFile(hostsFile, ForAppending)
     objTextFile.WriteLine vbCrLf & strIP & " " & strValue
    End If
    

     

    Abraços


    Edson Matias Fagundes Junior - (Nioks)
    MCP, MCTS: 2008, MCTS:MBS
    Se a resposta for valida por favor vote como útil.
    terça-feira, 23 de agosto de 2011 23:59
  • Vlw Edson..não deu mais msg de erro, em compensação o script não funciona....
    Rombesso
    quinta-feira, 25 de agosto de 2011 17:47
  • Com uma batch é mais simples, só não esqueça de utilizar prompt elevado no caso de executar em Windows 7

     

    SET SITE=facebook.com
    SET ARQUIVO=%SYSTEMROOT%\SYSTEM32\drivers\etc\hosts
    
    find /i "%SITE%" %ARQUIVO%
    IF %ERRORLEVEL%==1 ECHO 127.0.0.1 %SITE% >> %ARQUIVO%
    

     


    Fábio de Paula Junior
    quinta-feira, 25 de agosto de 2011 18:09
    Moderador
  • Se vc utiliza dominio vc pode colocar o script .bat em uma GPO como script de startup.

    Como script de login não vai funcionar porque usuário comuns não tem permissão de escrita no arquivo hosts.


    Fábio de Paula Junior

    quinta-feira, 25 de agosto de 2011 18:14
    Moderador
  • Rombesso Boa tarde,

    Pode ser a questão da permissão mesmo como o Fabio falou.

    Ele apareceu uma MSGBOX para voce com aaqui?

    Abraços


    Edson Matias Fagundes Junior - (Nioks)
    MCP, MCTS: 2008, MCTS:MBS
    Se a resposta for valida por favor vote como útil.
    quinta-feira, 25 de agosto de 2011 20:17