Usuário com melhor resposta
Script alterar papel parede

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", 0Poré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.
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- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 22 de maio de 2012 10:35
-
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
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 22 de maio de 2012 10:35
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- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 22 de maio de 2012 10:35
-
-
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
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 22 de maio de 2012 10:35
-
-
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