none
script de logon RRS feed

  • Pergunta

  • Prezados,

    Eu tenho o script abaixo, mas preciso fazer alguns ajustes.

     

    Caso não exista o arquivo XXX.cmd, ele tem que copiar para a máquina do usuário.

     

    depois ele precisa executar esse arquivo.

     

    E caso não exista a pasta no servidor, ele deve criar tb

     

    Ex. no meu servidor, eu tenho uma pasta chamada XXXX e dentro dele tem mais duas pastas.

     

    No AD, a pasta base do usuário é U:\servidor\%username%. Se é o primeiro logon do usuário na rede, ele deve criar essas pastas no meu servidor, caso ele já tenha as pastas, não precisa criar.

     

    E executar um inventário todo 1 dia útil do mês!!

     

    Existe essa possibilidade??? fico no aguardo!

     

     

    '####################################################################################
    '####################### BACKUP DOS FAVORITOS E DESKTOP #########################
    '####################################################################################

    strPasta = "C:\bkp"
    Set FSo = CreateObject("Scripting.FileSystemObject")
    Apagar_Arquivos(strPasta)
    Sub Apagar_Arquivos(Pasta)
    set folder = FSO.getFolder (Pasta)
    if folder.Subfolders.count > 0 then
    for each SubFolder in folder.Subfolders
    SubFolder.delete
    next
    End If End Sub

    Dim objShell

    Const OverwriteExisting = TRUE

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.CreateFolder("C:\bkp\sistema")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.CopyFile "\\serv\NETLOGON\bkp.cmd" , "c:\bkp\", OverwriteExisting
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.Run("c:\bkp\bkp.cmd")

    quinta-feira, 15 de janeiro de 2009 14:41

Respostas

  • Caso não exista o arquivo XXX.cmd, ele tem que copiar para a máquina do usuário.

    if not exist c:\XXX.txt COPY \\seuserver\seushare\XXX.txt c:\

    depois ele precisa executar esse arquivo.

    call xxx.cmd

    E caso não exista a pasta no servidor, ele deve criar tb

    Ex. no meu servidor, eu tenho uma pasta chamada XXXX e dentro dele tem mais duas pastas.

    if not exist "\\seuserver\seushare\XXXX\nul" (
        MD "\\seuserver\seushare\XXXX\"
        MD "\\seuserver\seushare\XXXX\Pasta 1"
        MD "\\seuserver\seushare\XXXX\Pasta 2"
    )

    No AD, a pasta base do usuário é U:\servidor\%username%. Se é o primeiro logon do usuário na rede, ele deve criar essas pastas no meu servidor, caso ele já tenha as pastas, não precisa criar.

    if not exist "U:\servidor\%username%\nul" MD "U:\servidor\%username%"
    

    E executar um inventário todo 1 dia útil do mês!!

     
    :: Pega o dia do mes
    for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get Day /Format:csv') do SET DIA=%%D
    
    IF %DIA%==1 CALL :SUB_1
    IF %DIA%==2 CALL :SUB_2
    IF %DIA%==3 CALL :SUB_3
    
    
    	
    echo fim do script
    
    
    :: fim do script
    goto :eof
    
    
    :SUB_1
    :: Pega dia da semana (0=Domingo, 1=Segunda, ..., 6=Sabado)
    for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do SET DW=%%D
    
    :: se for domingo ou sabado sai da rotina
    IF %DW%==0 goto :EOF
    IF %DW%==6 goto :EOF
    echo faz INVENTARIO
    goto :eof
    
    
    :SUB_2
    :: Pega dia da semana (0=Domingo, 1=Segunda, ..., 6=Sabado)
    for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do SET DW=%%D
    
    :: se dia 2 for segunda então é o primeiro dia util
    IF %DW%==1 echo faz INVENTARIO
    goto :eof
    
    
    :SUB_3
    :: Pega dia da semana (0=Domingo, 1=Segunda, ..., 6=Sabado)
    for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do SET DW=%%D
    ECHO DW=%DW%
    :: se dia 3 for segunda então é o primeiro dia util
    IF %DW%==1 echo faz INVENTARIO
    goto :eof


    Existe essa possibilidade??? fico no aguardo!

    Juntando tudo.

    if not exist c:\XXX.txt COPY \\seuserver\seushare\XXX.txt c:\
    
    call xxx.cmd
    
    if not exist "\\seuserver\seushare\XXXX\nul" (
        MD "\\seuserver\seushare\XXXX\"
        MD "\\seuserver\seushare\XXXX\Pasta 1"
        MD "\\seuserver\seushare\XXXX\Pasta 2"
    )
    
    if not exist "U:\servidor\%username%\nul" MD "U:\servidor\%username%"
    
    :: substituir echo faz INVENTARIO pela chamado do seu inventario
    
    :: Pega o dia do mes
    for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get Day /Format:csv') do SET DIA=%%D
    
    IF %DIA%==1 CALL :SUB_1
    IF %DIA%==2 CALL :SUB_2
    IF %DIA%==3 CALL :SUB_3
    
    
    	
    echo fim do script
    
    
    :: fim do script
    goto :eof
    
    
    :SUB_1
    :: Pega dia da semana (0=Domingo, 1=Segunda, ..., 6=Sabado)
    for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do SET DW=%%D
    
    :: se for domingo ou sabado sai da rotina
    IF %DW%==0 goto :EOF
    IF %DW%==6 goto :EOF
    echo faz INVENTARIO
    goto :eof
    
    
    :SUB_2
    :: Pega dia da semana (0=Domingo, 1=Segunda, ..., 6=Sabado)
    for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do SET DW=%%D
    
    :: se dia 2 for segunda então é o primeiro dia util
    IF %DW%==1 echo faz INVENTARIO
    goto :eof
    
    
    :SUB_3
    :: Pega dia da semana (0=Domingo, 1=Segunda, ..., 6=Sabado)
    for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do SET DW=%%D
    ECHO DW=%DW%
    :: se dia 3 for segunda então é o primeiro dia util
    IF %DW%==1 echo faz INVENTARIO
    goto :eof


    Fábio de Paula Junior

    domingo, 16 de dezembro de 2012 12:37
    Moderador