settingsLogin | Registersettings
Es tu primera visita? Te invitamos a visitar nuestra sección de preguntas frecuentes FAQ!
x
Show Menu

Error - Recuperación de Active Desktop

0 votos

Hola Todos.

Tengo un controlador de dominio 2003 con una politica configurada que aplica un fodo de escritorio institucional para todos los usuarios. Luego de un corte eléctrico grande, varios puestos quedaron con la pantalla blanca con el mensaje "Recuperación de active Desktop".

Se que puedo corregirlo desde el registro editando HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components Cambiando el valor "DesktopHtmlVersion" de (110) a (0) pero ésto sería usuario por usuario y son muchos.

¿Se puede corregir ésto desde script o politicas? o con algún método mas automatizado.

Espero haber sido claro, desde ya gracias.

 

 
por (33 puntos)  

4 Respuestas

+2 votos
 
Mejor respuesta

Crea el siguiente script::

'*************************************************************************** 

' WMI Script - ActiveDesktop.vbs
'
' Corrige error en el active desktop
'
'***************************************************************************
Rem Definiciones
Dim objShell, RegLocate, RegLocate1
Const EWX_LOGOFF   = 0
Rem Librerias
Set objShell = WScript.CreateObject("WScript.Shell")
Set objShell = CreateObject("Wscript.Shell")
On Error Resume Next
Rem Cambia el valor del DWORD (Clave del registro)
RegLocate = "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components\DeskHtmlVersion"
objShell.RegWrite RegLocate,"0","REG_DWORD"
Rem Advierte del deslogeo
intReturn = objShell.Popup("Se va a cerrar la sesion para guardar los cambios, presione aceptar", _
    20, "Auto LogOff", wshYesNoDialog + wshQuestionMark)
If intReturn = wshYes Then
For Each objPC In GetObject("winmgmts:{(shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
    objPC.Win32Shutdown LOGOFF + FORCE
Next
ElseIf intReturn = wshNo Then
    wscript.Quit
Else
Rem Si no responde se forza el deslogeo    
For Each objPC In GetObject("winmgmts:{(shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
    objPC.Win32Shutdown LOGOFF + FORCE
Next
End If
WScript.Quit (0) ' Detiene el Script y sale.

 

Tienes 2 opciones para usar este script:

- Si son pocas las pcs en las que debes correguir el error puedes ejecutar el script  PC por PC y ojala no se presente el problema mas adelante.

- Si quieres hacerlo de forma masiva y automatizada crea una GPO que ejecute el script cada vez que los usuarios inicien sesion.

El script lo agregas en la siguiente direccion: Configuracion de usuario / Configuracion de Windows / Scripts / Iniciar sesion, y liga esa GPO a la(s) OU de usuarios que quieres que se ejecute este script. Luego ejecuta gpupdate /force para actualizar las GPO en tu dominio.

Tu decides cual te sirve mas, luego nos cuentas como solucionaste tu problema.

* El script si se seguira ejecutando mientras este ligado a la(s) OU y cada vez que inicien sesion, podrias aplicar la GPO para solucionar el problema y una vez resuelto la desligas de la(s) OU ya que no es un problema que se presente a menudo, dejala creada por si la necesitas nuevamente. Con el numero de verion no deberias de tener problema.

Edita tu pregunta original, es mas facil entender tu problema y darle seguimiento a tu pregunta asi toda la informacion que agregas esta en una sola pregunta, abajo tienes el boton editar para agregar mas informacion.

Saludos.

por (1.5k puntos)  
seleccionada por
Muchas gracias... me inclino por hacerlo vía GPO pero me surge una duda... si lo hago por GPO y lo lanzo en el inicio de sesión, una vez corregido se seguirá aplicando en cada reinicio de sesión de cada usuario no? hasta que retire la PGO, esto no traería problemas a futuro?... debería yo estar atento para retirar la GPO antes de futuros reinicios de sesión?.o podría quedar allí sin generar problemas?. Y si después cambio de imagen institucional ese número de versión se vería afectado?

Disculpa tanta preguntadera pero quiero estar seguro antes de aplicar.
Saludos cordiales y muchas gracias por tu pronta respuesta.
0 votos
hola. usa el script de vb con tranquilidad, es el mismo que uso yo hace mas de 5 años y nunca un problema.

Es mas si pierdo el script seguro lo googleo y lo implemento de nuevo por que es lo mas efectivo y rapido.

tene en cuenta que una ves que corres el script no lo podes parar, asi que guarda tus documentos antes por que te cierra la sesión.

Lo bueno es que no  necesita permisos elevados para ejecutarse.

con respecto a la GPO, no la pongas en el inicio de la sesion, ponelo en una carpeta compartida de solo lectura y ejecutalo desde la maquina en local. solo si son muchas (igual que techgeek no?), lo pones al inicio, solo para que aplique un día y con eso la proxima ves que inicien sesion correra el script y lo solucionara. Despues dehabilitas la GPO para otra ocacion que lo vuelvas a usar.

Creeme, no tengo grupo electrogeno y en tierra argenta los cortes de luz no son tan raros
por (313 puntos)  
editado por
0 votos
Ok... gracias Techgeek y Dirck, hoy implemento y el Domingo aplico en forma remota y el lunes, todos contentos!
El lunes o martes comento como me fué.

Abrazo!
por (33 puntos)  
0 votos
Bueno... el script funciona, pero si lo pongo en una politica de inicio de sesión los equipos quedan en un loop infinito abriendo y cerrando sesión.

Si lo ejecuto manualmente, anda muy bien. Ahora se me ocurre algo... el reinicio de la sesión es imprescindible? o se puede ejecutar el script y que en el próximo inicio de sesión se aprecie el efecto (la recuperación del fondo de escritorio). Porque en mi caso la mayoría de los equipos se apagan y encienden todos los días.

Saludos.
por (33 puntos)  
...