none
GPO para Wallpaper RRS feed

  • Pergunta

  • Boa noite,

    Sou novo no fórum, espero tirar muitas dúvidas e também contribuir de certa forma.

    Criei uma GPO para definição de wallpaper que é uma imagem armazenada no servidor, após o login do usuário ela é aplicada e funciona perfeitamente, porém possuo máquinas que não estão na rede local e utilizam o mesmo domínio.
    Estou preocupado com o consumo de banda.
    Minha dúvida é a seguinte: um usuário que efetuou o login, aplicou a GPO e atualizou o wallpaper, na próxima vez que ele, ou outro usuário, efetuar o login este wallpaper fica em cache e a GPO só verifica se o wallpaper é o mesmo ou ele carrega novamente.

    abraços.
    sábado, 25 de abril de 2009 00:08

Respostas

  • Olá,


    Você poderia criar um script para copiar a imagem para uma pasta local... E na GPO você altera o caminho para pegar a imagem local.


    Em scripts administrativos existe scripts prontos que faz isso, faz uma busca lá que você encontra...

    Abaixo, segue um link de um script onde você pode usar somente a parte que copia o arquivo da rede para local.

    http://social.technet.microsoft.com/Forums/pt-BR/scriptadminpt/thread/2b04f131-11a6-4a67-a69a-cb76913a9395/


    A parte de configurar o wallpaper você faz por GPO mesmo... é melhor.


    Até mais,

    Jesiel

    Seguindo a linha do Jesiel de copiar para local e criar a GPO de Wallpaper, você pode trabalhar assim

    ''VERIFICAR SE O ARQUIVO EXISTE LOCALMENTE
    ''LEMBRA QUE NO CAMINHO DO ARQUIVO (C:\\PASTA\ARQUIVO.BMP - MEU EXEMPLO), O CAMINHO TEM QUE FICAR SEMPRE COM \\, ONDE NO WINDOWS TEM APENAS UMA BARRA \, AQUI VOCE COLOCA DUAS

            strComputer = "."
            Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
            Set LocArquivo = objWMIService. _
                ExecQuery("Select * From CIM_DataFile Where Name = 'C:\\PASTA\\Arquivo.bmp '")
            If LocArquivo.Count = 0 Then
                ''ARQUIVO NÃO EXISTE NO CAMINHO ESPECIFICADO
                ExisteArquivo = 0
            Else
                ''ARQUIVO EXISTE NO CAMINHO ESPECIFICADO

                ExisteArquivo = 1
            End If


    ''SE O ARQUIVO NAO EXISTIR EXECUTA A ACAO BAIXO

    If ExisteArquivo = 0 Then
    ''Define Local do arquivo no servidor

        strSource = "\\Servidor\compartilhamento\arquivo.bmp "
       strDestination = "C:\\PASTA\\Arquivo.bmp"
    ''Copia do local do servidor para uma pasta local

         set objFSO = createobject("Scripting.FileSystemObject")
         objFSO.CopyFile strSource, strDestination
    End if

    Com esse comando você valida se ja existe o arquivo, se não existir você copia, se existir, você não faz nada, logo você ganha performa-se em links de longa distancia

    Espero ter ajudado
    Dionizio A Ferreira Blog : http://my.opera.com/dionizioaf/blog/
    sábado, 25 de abril de 2009 14:42

Todas as Respostas

  • Ola RaphaelCO,

    para falar a verdade não sei se ele copia novamente, eu acredito que sim, pois tive problemas de GPO (não relacionado a Wallpaper) que aplicava todas as vezes que realizava o Login na maquina.
    Dionizio A Ferreira Blog : http://my.opera.com/dionizioaf/blog/
    sábado, 25 de abril de 2009 03:00
  • Olá,


    Você poderia criar um script para copiar a imagem para uma pasta local... E na GPO você altera o caminho para pegar a imagem local.


    Em scripts administrativos existe scripts prontos que faz isso, faz uma busca lá que você encontra...

    Abaixo, segue um link de um script onde você pode usar somente a parte que copia o arquivo da rede para local.

    http://social.technet.microsoft.com/Forums/pt-BR/scriptadminpt/thread/2b04f131-11a6-4a67-a69a-cb76913a9395/


    A parte de configurar o wallpaper você faz por GPO mesmo... é melhor.


    Até mais,

    Jesiel
    sábado, 25 de abril de 2009 03:54
  • Olá,


    Você poderia criar um script para copiar a imagem para uma pasta local... E na GPO você altera o caminho para pegar a imagem local.


    Em scripts administrativos existe scripts prontos que faz isso, faz uma busca lá que você encontra...

    Abaixo, segue um link de um script onde você pode usar somente a parte que copia o arquivo da rede para local.

    http://social.technet.microsoft.com/Forums/pt-BR/scriptadminpt/thread/2b04f131-11a6-4a67-a69a-cb76913a9395/


    A parte de configurar o wallpaper você faz por GPO mesmo... é melhor.


    Até mais,

    Jesiel
    sábado, 25 de abril de 2009 03:54
  • -Olha eu usei uma vez um comando para tirar um sarro de uns amigos onde ele pegava o usuario logado na maquina, acessa uma pasta no servidor achava o wallpaper especifico e colocava no usuario
    -Peguei e juntei um comando de validar arquivo, um de copia ai, ve se voce consegue
    -O unico detalhe que tive que criar uma imagem em 1024 porque se a pessoa usa 1024 e a imagem era menor nao funcionava

    Esta ai uma possibilidade


            strComputer = "."
            Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
            ''AO COLOCAR O CAMINHO DO ARQUIVO,TODO LUGAR QUE TIVER \(BARRA), DEVEMOS TROCAR 1 \(BARRA) POR 2 \\(BARRAS)
          
     Set LocArquivo = objWMIService. _
                ExecQuery("Select * From CIM_DataFile Where Name = 'C:\\PASTA\\Arquivo.bmp'")
            If LocArquivo.Count = 0 Then
                ''ARQUIVO NÃO EXISTE
                ExisteArquivo = 0
            Else
                ''ARQUIVO EXISTE

                ExisteArquivo = 1
            End If


    If ExisteArquivo = 0 Then
        ''Nao testei este comando peguei na internet, caso ocorra problema, procura um comando
        ''que copia um arquivo de um lugar para outro

              filesys.CopyFile "\\caminho do servidor\imagem.bmp", "c:\pasta\"
    End if

        dim wshShell
        dim sUserName

        Set wshShell = WScript.CreateObject("WScript.Shell")
        sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")

        Set oShell = CreateObject("WScript.Shell")
        Set oFSO = CreateObject("Scripting.FileSystemObject")

        sWinDir = oFSO.GetSpecialFolder(0)
        ''Use umas das duas opcoes
        ''1)Aqui eu fiz um codigo onde cada usuario tinha um wallpaper e o wallpaper tinha o nome do usuario
         
       sWallPaper = "\\Caminho das Imagens\" & sUserName & ".bmp"
        ''2)Aqui eu defini uma imagem para cada um
            sWallPaper = "\\caminho das imagens\wallpaper.bmp"
        ' update in registry
        oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper
        
        ' let the system know about the change

        oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True


    Dionizio A Ferreira Blog : http://my.opera.com/dionizioaf/blog/
    sábado, 25 de abril de 2009 03:56
  • Olá,


    Você poderia criar um script para copiar a imagem para uma pasta local... E na GPO você altera o caminho para pegar a imagem local.


    Em scripts administrativos existe scripts prontos que faz isso, faz uma busca lá que você encontra...

    Abaixo, segue um link de um script onde você pode usar somente a parte que copia o arquivo da rede para local.

    http://social.technet.microsoft.com/Forums/pt-BR/scriptadminpt/thread/2b04f131-11a6-4a67-a69a-cb76913a9395/


    A parte de configurar o wallpaper você faz por GPO mesmo... é melhor.


    Até mais,

    Jesiel

    Seguindo a linha do Jesiel de copiar para local e criar a GPO de Wallpaper, você pode trabalhar assim

    ''VERIFICAR SE O ARQUIVO EXISTE LOCALMENTE
    ''LEMBRA QUE NO CAMINHO DO ARQUIVO (C:\\PASTA\ARQUIVO.BMP - MEU EXEMPLO), O CAMINHO TEM QUE FICAR SEMPRE COM \\, ONDE NO WINDOWS TEM APENAS UMA BARRA \, AQUI VOCE COLOCA DUAS

            strComputer = "."
            Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
            Set LocArquivo = objWMIService. _
                ExecQuery("Select * From CIM_DataFile Where Name = 'C:\\PASTA\\Arquivo.bmp '")
            If LocArquivo.Count = 0 Then
                ''ARQUIVO NÃO EXISTE NO CAMINHO ESPECIFICADO
                ExisteArquivo = 0
            Else
                ''ARQUIVO EXISTE NO CAMINHO ESPECIFICADO

                ExisteArquivo = 1
            End If


    ''SE O ARQUIVO NAO EXISTIR EXECUTA A ACAO BAIXO

    If ExisteArquivo = 0 Then
    ''Define Local do arquivo no servidor

        strSource = "\\Servidor\compartilhamento\arquivo.bmp "
       strDestination = "C:\\PASTA\\Arquivo.bmp"
    ''Copia do local do servidor para uma pasta local

         set objFSO = createobject("Scripting.FileSystemObject")
         objFSO.CopyFile strSource, strDestination
    End if

    Com esse comando você valida se ja existe o arquivo, se não existir você copia, se existir, você não faz nada, logo você ganha performa-se em links de longa distancia

    Espero ter ajudado
    Dionizio A Ferreira Blog : http://my.opera.com/dionizioaf/blog/
    sábado, 25 de abril de 2009 14:42