Script – instala client trend antivirus

‘ Script – instala client trend antivirus

Dim FSO
Dim WSH
Dim LogFile
Dim TxtFile
Dim AppToRun
Dim ts
Dim Running
Dim Atualiza
Dim trend
   ‘ Variáveis.
   ‘
   LogFile  = "C:\dell\log1.txt"
   TxtFile  = "C:\dell\trendinst.txt"
   AppToRun = "\\server\scripts\trend-install.exe "
   Atualiza = "\\server\ofcscan\Admin\Utility\IpXfer\ipXfer.exe -m 1 -s 10.10.5.15 -p 8080 -c 43652 -m1"
  
   Set FSO = CreateObject("Scripting.FileSystemObject")
   Set WSH = CreateObject("Wscript.Shell")
   Set trend = CreateObject("Wscript.Shell")
   ‘ Se o arquivo trendinst.txt existe, entao apenas atualiza o antivírus
   If FSO.FileExists(TxtFile) Then
      trend.run Atualiza,1,True
         Wscript.Quit
      ‘ Ver se precisamos criar o log…
      If FSO.FileExists(LogFile) Then
        WScript.Echo "Abortando… a aplicacao está sendo executada."
        Wscript.Quit
      Else
         Set ts = FSO.CreateTextFile(LogFile)
         ts.Close
         If Not FSO.FileExists(LogFile) Then
            Wscript.Echo "Abortando… nao foi possível criar o log"
            Wscript.Quit
         End If
      End If
   Else
      ‘ Se chegamos a este ponto é porque precisamos instalar o antivirus..
      Wscript.Echo "Arquivo nao existe. Instalando o antivirus"
      Set Running = WSH.Exec(AppToRun)
      ‘ Agora aguardamos a execução da aplicação para continuarmos…
      Do While Running.Status <> 1
         Wscript.Sleep 1000
      Loop
      
      ‘ Agroa nós precisamos remover o log…
      if FSO.FileExists(LogFile) Then
         FSO.DeleteFile(LogFile)
      End if
      Wscript.Echo "Finished!"
   End if

Script – Troca senha administrador local

‘ Script – Troca senha administrador local
sNewPassword = "cc@sh@suporte"
Set oWshNet = CreateObject("WScript.Network")
sComputer = "."
sAdminName = GetAdministratorName
On Error Resume Next
Set oUser = GetObject("WinNT://" & sComputer & "/" & sAdminName & ",user")
oUser.SetPassword sNewPassword
oUser.SetInfo
‘wscript.echo "setado: " & sNewPassword
On Error Goto 0
‘powered by edutrom
Function GetAdministratorName()
    Dim sUserSID, oWshNetwork, oUserAccount
    Set oWshNetwork = CreateObject("WScript.Network")
    Set oUserAccounts = GetObject( _
         "winmgmts://" & oWshNetwork.ComputerName & "/root/cimv2") _
         .ExecQuery("Select Name, SID from Win32_UserAccount" _
       & " WHERE Domain = ‘" & oWshNetwork.ComputerName & "’")
    On Error Resume Next
    For Each oUserAccount In oUserAccounts
      If Left(oUserAccount.SID, 9) = "S-1-5-21-" And _
         Right(oUserAccount.SID, 4) = "-500" Then
        GetAdministratorName = oUserAccount.Name
 ‘wscript.echo oUserAccount.Name & ": " & oUserAccount.SID
        Exit For
      End if
    Next
End Function 

Script – Backup arquivos PST

‘ Script – Backup arquivos PST
‘#####================================================================================ 
‘## Titulo: Backup de Arquivos PST
‘## Rev: 1.0
‘## Autor: Kelsen Lima
‘## 
‘## 
‘##        
‘## Propósito: 
‘##        1. Esse script faz o backup dos arquivos de armazemando de mensagens do Outlook.
‘##                     
‘## Pré-Requisitos:
‘##        1. Usuario logado deve ter o Winrar Instalado.
‘##
‘##    Issues:
‘##        1. 
‘##        2.        
‘##        
‘##    Revisions: 
‘##        NEW: 2/15/2006 XXXXXX Created XXXXXX.XXX script. (Example)
‘##        MOD: 1/5/2006 XXXXXX Modified how the scripts write log files. (Example)
‘##        FIX: 3/3/2006 XXXXXX Fixed a bug when writting to the event log. (Example)
‘##
‘##    To Do Items: 
‘##        1. Fix loop so it doesn’t loop infinitely (Example)
‘##        2. 
‘##        3. 
‘##
‘## Lógica Básica: 
‘##        1. Checa a existencia do Winrar na maquina
‘##        2. Compacta os arquivos de extensão .pst
‘##        3. Copia o arquivo compacta para o compartilhamento no servidor
‘#####================================================================================ 
‘——————————————————————–
‘Áerea de declação de variáveis.
Dim Servers(7)
strComputer = "." ‘Variavel que armazena o nome do Computador local
strPstPathVista = "" ‘Variavel que armaze o caminho do PST no Windows Vista
strPstPath = "" ‘Variavel que armaze o caminho do PST em outras versões do Windows
strTempPath = "" ‘Variavel que armazena o caminho da pasta de arquivos temporarios do usuário.
strWinrarPath = "" ‘Variavel que armazena o caminho da pasta do Winrar.
strPathBackup = "\\nas\PST Backup" ‘Caminho padrão de backup dos PST’s na rede.
strUserProfile = "" ‘Caminho do profile local do usuario.
‘——————————————————————–
‘Área de Declaração de Objetos.
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set wshShell = Createobject("WScript.Shell") ‘Cria Objeto Shell
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOSes = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
Set fso = CreateObject("scripting.filesystemobject")
‘——————————————————————–
Servers(0) = "nas"
Servers(1) = "Metallica"
Servers(2) = "PinkFloyd"
Servers(3) = "Rush"
Servers(4) = "AeroSmith"
Servers(5) = "eithinkfw"
Servers(6) = "Virtual"
For Each Server In Servers
If UCase(server) = wshNetwork.ComputerName then
WScript.Quit
End If
Next
strUserProfile = WshShell.ExpandEnvironmentStrings("%USERPROFILE%") 
For Each objOS in colOSes
strOsVersion = objOS.Version 
strOsCountryCode = objOS.CountryCode
Next
If CheckProcess("Outlook.exe") = 1 Then
Message = MsgBox("Outlook.exe está em uso e é necessário finaliza-lo para que se possa efetuar o Backup. Deseja fazer isso agora?",vbYesNo,"Backup de Pst")
If message = 6 Then
  FinallyProcess("Outlook.exe")
Else
WScript.Quit
End If
End If
strTempPath = CStr(fso.GetSpecialFolder(2)) ‘Pega o caminho da pasta temporário do usuario.
If strOsVersion = "6.0.6000" Then
strPstPathVista = strUserProfile + "\AppData\Local\Microsoft\Outlook" ‘Pega o caminho da pasta do Outlook do Usuario que loga no Windows Vista.
Else
If strOSCountryCode = "55" Then
strPstPath = strUserProfile + "\Configurações Locais\Dados de Aplicativos\Microsoft\Outlook"
Else
strPstPath = strUserProfile  + "\Local Settings\Application Data\Microsoft\Outlook"
End If
End if
Call Backup
Private Sub Backup()
strPathBackup = strPathBackup + "\" + wshNetwork.UserName
‘—Se a pasta do usuário não existir na rede é criada com a instrução abaixo.
If fso.FolderExists(strPathBackup) = False Then
fso.CreateFolder(strPathBackup)
End If
‘—Se o arquivo já existir na pasta de arquivos temporários do usuário, é deletado para evitar problemas na hora da compactação.
If fso.FileExists(strTempPath + "\TempBackupPst.rar") = True Then
fso.DeleteFile(strTempPath + "\TempBackupPst.rar")
End If
‘—Se o Windows em que o script está sendo executado for Vista, segue uma rotina diferenciada por o Vista ter um sistema de pastas diferenciados.
If strOsVersion = "6.0.6000" And fso.FolderExists(strPstPathVista)Then
strWinrarPath = "C:\Program Files\WinRAR"
‘——-Se a pasta do do Winrar existir da-se início ao processo de backup.
If fso.FolderExists(strWinrarPath) Then
CompactarPST()
Exit Sub
Else
MsgBox "O Backup do Pst não pode ser efetuado, pois o Winrar não está intalado!",vbOKOnly,"Backup de PST"
WScript.Quit
End If
Else
If strOSCountryCode = "55" Then
strWinrarPath = "C:\Arquivos de Programas\WinRAR"
If fso.FolderExists(strWinrarPath) Then
CompactarPST()
Exit Sub
Else
MsgBox "O Backup do Pst não pode ser efetuado, pois o Winrar não está intalado",vbOKOnly,"Backup de PST"
WScript.Quit
End If
Else
strWinrarPath = "C:\Program Files\WinRAR"
If fso.FolderExists(strWinrarPath) Then
CompactarPST()
Exit Sub
Else
MsgBox "O Backup do Pst não pode ser efetuado, pois o Winrar não está intalado",vbOKOnly,"Backup de PST"
WScript.Quit
End If
End If
End If
End Sub
Private Sub CompactarPST()
Question = MsgBox("Você deseja realizar o backup do Outlook agora?",vbSystemModal + vbYesNo + vbQuestion,"Backup Outlook")
If Question <> 6 Then
WScript.Quit
End If
If strOsVersion = "6.0.6000" Then
Set process = wshShell.Exec( """"+ strWinrarPath + "\winrar.exe" + """" +  " a " + strTempPath + "\TempBackupPst.rar " + strPstPathVista +"\*.pst")
numStatus = process.Status
While numStatus = 0
numStatus = process.Status
Wend
Else
Set process = wshShell.Exec( """"+ strWinrarPath + "\winrar.exe" + """" +  " a " +  strTempPath + "\TempBackupPst.rar " + """"+ strPstPath +"\*.pst" +"""")
numStatus = process.Status
While numStatus = 0
numStatus = process.Status
Wend
End If
If numStatus <> 0 Then
CopiarPst(strTempPath + "\TempBackupPst.rar")
End If
End Sub
Private Sub CopiarPst(strFilePath)
On Error Resume Next
fso.CopyFile strFilePath,strPathBackup + "\"
If Error = 0 Then
‘MsgBox "Arquivo copiado com Sucesso",vbOKOnly,"Cópia de Arquivo"
Else
MsgBox "A operação de cópia apresentou o seguinte erro: " + CStr(Err.Number),vbOKOnly,"Cópia de Arquivo"
End if
End Sub  
Private Function CheckProcess(Process)
Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = ‘" + Process + "’")
If colProcesses.Count > 0 Then
CheckProcess = 1
Else
CheckProcess = 0
End If
End Function
Private function FinallyProcess(Process)
Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = ‘" + Process + "’")
For Each objProcess in colProcesses
    FinallyProcess = objProcess.Terminate()
Next
End Function

Script – Permissão em pasta

‘ Script – Permissão em pasta

Option Explicit
Dim strCaminho,strPasta,strGrupoLer,strGrupoMod,strGrupoFull
Dim strFolder,WshShell,WshNetwork
strCaminho = InputBox("Coloque o Caminho da Pasta" & _
    vbCrLf & "(Ex.:  " & "C:\pasta" & ")", , "C:\Pasta")
If strCaminho = "" Then WScript.Quit(1)    
strPasta = InputBox("Coloque o nome da Pasta" & _
    vbCrLf & "(Ex.:  " & "Pasta" & ")", , "Pasta")
If strPasta= "" Then WScript.Quit(1)    
strGrupoLer = InputBox("Coloque o nome do Grupo para Permissão de Leitura" & _
    vbCrLf & "(Ex.:  " & "Dominio\GrupoA" & ")", , "GrupoA")
If strGrupoLer = "" Then WScript.Quit(1)    
strGrupoMod = InputBox("Coloque o nome do Grupo para Permissão de Modificar" & _
    vbCrLf & "(Ex.:  " & "Dominio\GrupoB" & ")", , "GrupoB")
If strGrupoMod = "" Then WScript.Quit(1)    
strGrupoFull = InputBox("Coloque o nome do Grupo para Permissão Full" & _
    vbCrLf & "(Ex.:  " & "Dominio\GrupoC" & ")", , "GrupoC")
If strGrupoFull = "" Then WScript.Quit(1)    
Set strFolder = CreateObject("Scripting.FileSystemObject")
Set WshNetwork = WScript.CreateObject("WScript.Network") 
Set WshShell=CreateObject("Wscript.Shell")
If strFolder.FolderExists (strCaminho & "\" & strPasta) = False Then
   strFolder.CreateFolder (strCaminho & "\" & strPasta)
End If
WshShell.Run "CACLS " & strCaminho & "\" & strPasta & " /E /c /G "& strGrupoLer  &":R"
WshShell.Run "CACLS " & strCaminho & "\" & strPasta & " /E /c /G "& strGrupoMod  &":C"
WshShell.Run "CACLS " & strCaminho & "\" & strPasta & " /E /c /G "& strGrupoFull  &":F"

SCRIPT – busca e copia arquivos para pasta destino

‘SCRIPT – busca e copia arquivos para pasta destino
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")
Set FSO = CreateObject("Scripting.FileSystemObject")
‘PARTE DO ARQUIVO QUE É COMUM PARA TODOS
strArquivo = "001"
‘PASTA ONDE PROCURAR
strPasta = "C:\teste"
ShowSubfolders FSO.GetFolder(strPasta)
Sub ShowSubFolders(Folder)
    For Each Subfolder in Folder.SubFolders
       Set colFiles = objWMIService.ExecQuery _
           ("ASSOCIATORS OF {Win32_Directory.Name=’" & SubFolder.path & "’} Where " _
               & "ResultClass = CIM_DataFile")       
            For Each objFile in colFiles
               if TRIM(MID(objFIle.filename,1,Len(strArquivo))) = TRIM(strArquivo) Then
‘PASTA ONDE SALVA OS ARQUIVOS
                  FSO.CopyFile objFile.name , "C:\teste\" & objFile.filename & "." & objFile.extension, TRUE
               End if
            Next
        ShowSubFolders Subfolder
    Next
End Sub
msgbox "Verifique os arquivos na pasta de destino"

Script cria atalho de sistema no desktop

‘ Script cria atalho de sistema no desktop 
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\Nome do Sistema.lnk")
oShellLink.TargetPath = "http://link do sistema ou caminho" 
oShellLink.WindowStyle = 3
oShellLink.IconLocation = "%SystemRoot%\system32\SHELL32.dll, 220"
oShellLink.Description = "Nome do Sistema"
oShellLink.Save