none
Script alterar papel parede RRS feed

  • Pergunta

  • Boa tarde!

    Tenho o seguinte cenário:

    Servidor Linux como Domain Controller (Samba)

    E as estações são todas XP, fiz o scritp de netlogon:

    net use X: /delete

    net use X: \\ipdoserver\publico

    cscript x:\ipdoserver\publico\altera_wallpaper.vbs

     

    Onde o conteúdo do altera_wallpaper.vbs é:

    Dim WSHShell

    'Altera Papel Parede
    Set WSHShell = WScript.CreateObject("WScript.Shell")
    WSHShell.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper", "P:\Wallpaper\background.jpg" ,"REG_SZ"

    'Habilita Active Desktop
    Set WSHShell = WScript.CreateObject("WScript.Shell")
    WSHShell.Run "reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v ForceActiveDesktopOn /t REG_DWORD /d 00000001 /f", 0

    'Bloqueia alteração do Wallpaper
    Set WSHShell = WScript.CreateObject("WScript.Shell")
    WSHShell.Run "reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop /v NoChangingWallPaper /t REG_DWORD /d 00000001 /f", 0

    Porém quando os usuários fazem o logon ele executa normalmente, mas não faz as alterações porque os usuários não tem permissão, se eu deixo o usuário do dominio linux como administrador local da máquina funciona perfeitamente, alguém tem alguma idéia de como fazer funcionar esses scripts sem ter que deixar os usuários como administrador local da máquina?

    Desde já agradeço a atenção de todos.


    quinta-feira, 16 de setembro de 2010 21:16

Respostas

  • O script está sendo executado com as permissões da conta do usuário que está logando, e na parte do registro que vc está tentando alterar ele não tem permissão (o que é muito bom, o que adianta dizer via registro que ele não pode mudar o papel de parede se ele pode alterar esta configuração no registro). Você tem que conseguir rodar este script como administrador local da estacao.

    Minha experiência com o SAMBA é zero, li esta página (http://oreilly.com/catalog/samba/chapter/book/ch06_06.html) e me chamou a atenção a opção root preexec, será que ele resolve o seu caso?


    Fábio de Paula Junior
    segunda-feira, 20 de setembro de 2010 22:36
    Moderador
  • Klebindu,

    Tenta rodar no servidor este, ele vai aterar nas maquinas remotamente.

    const HKEY_LOCAL_MACHINE = &H80000002

        programa = "computador1-computador2"
        programa = Split(programa, "-")
            For i = 1 To 2
                Set StdOut = WScript.StdOut
                Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&programa(i-1)&"\root\default:StdRegProv")

                strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Policies\Explore\"
                strValueName = "ForceActiveDesktopOn"
                dwValue = 1

                ' ### Cricar um valor DWORD
                oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue

                'Wscript.echo programa(i-1)&" A Varial do Registro Foi acertado, estrictAnonymous = 2"
            Next


    Marcell Souza - MCITP

    quinta-feira, 17 de maio de 2012 17:30

Todas as Respostas

  • O script está sendo executado com as permissões da conta do usuário que está logando, e na parte do registro que vc está tentando alterar ele não tem permissão (o que é muito bom, o que adianta dizer via registro que ele não pode mudar o papel de parede se ele pode alterar esta configuração no registro). Você tem que conseguir rodar este script como administrador local da estacao.

    Minha experiência com o SAMBA é zero, li esta página (http://oreilly.com/catalog/samba/chapter/book/ch06_06.html) e me chamou a atenção a opção root preexec, será que ele resolve o seu caso?


    Fábio de Paula Junior
    segunda-feira, 20 de setembro de 2010 22:36
    Moderador
  • Boa tarde Fábio!

    Já tentei também rodar com admistrador local da máquia e também não foi. Já tentei fazer várias outras formas também e não funciona.

    Agradeço a ajuda.

    T+

    Abs

    quinta-feira, 23 de setembro de 2010 17:01
  • Klebindu,

    Tenta rodar no servidor este, ele vai aterar nas maquinas remotamente.

    const HKEY_LOCAL_MACHINE = &H80000002

        programa = "computador1-computador2"
        programa = Split(programa, "-")
            For i = 1 To 2
                Set StdOut = WScript.StdOut
                Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&programa(i-1)&"\root\default:StdRegProv")

                strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Policies\Explore\"
                strValueName = "ForceActiveDesktopOn"
                dwValue = 1

                ' ### Cricar um valor DWORD
                oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue

                'Wscript.echo programa(i-1)&" A Varial do Registro Foi acertado, estrictAnonymous = 2"
            Next


    Marcell Souza - MCITP

    quinta-feira, 17 de maio de 2012 17:30
  • Bom Dia Kleber,

    Conseguiu resolver seu caso com as dicas do Marcell?


    Abs
    sexta-feira, 18 de maio de 2012 13:19
    Moderador
  • Klebindu,

    Tenta rodar no servidor este, ele vai aterar nas maquinas remotamente.

    const HKEY_LOCAL_MACHINE = &H80000002

        programa = "computador1-computador2"
        programa = Split(programa, "-")
            For i = 1 To 2
                Set StdOut = WScript.StdOut
                Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&programa(i-1)&"\root\default:StdRegProv")

                strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Policies\Explore\"
                strValueName = "ForceActiveDesktopOn"
                dwValue = 1

                ' ### Cricar um valor DWORD
                oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue

                'Wscript.echo programa(i-1)&" A Varial do Registro Foi acertado, estrictAnonymous = 2"
            Next


    Marcell Souza - MCITP


    • Sugerido como Resposta Marcell Souza sexta-feira, 24 de agosto de 2012 15:09
    sexta-feira, 24 de agosto de 2012 15:09