Página 1 de 1

Comando al iniciar la PC

Publicado: 17 de mayo de 2016 - 17:10
por gaelds
Me gustaría agregar un comando a algunos PC para que se ejecute al iniciar sesión y abra el cliente "Papercut". El comando es:

`cmd /c "start \\srv-papercut\PCClient\win\pc-client-local-cache.exe --silent --minimized"`.

¿Es posible crear un acceso directo en el menú Inicio con este comando? Si no, ¿existe alguna otra solución con WAPT?

PD: Los PC no están en un dominio, así que no puedo crear un objeto de directiva de grupo (GPO) para esto.

Re: Comando de inicio de PC

Publicado: 17 de mayo de 2016 - 22:57
por sfonteneau
También tengo PaperCut en casa.

Una solución sería crear un paquete con un componente de configuración de sesión y configurarlo intencionalmente para que genere un error y así forzar su reinicio en el siguiente arranque.

Como alternativa, podrías copiar un script usando Wapt a:

%ALLUSERSPROFILE%\Start Menu\Programs. Para XP:

%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup. Para Vista/7/10: %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup.

Y seguramente existen otras soluciones.

Re: Comando de inicio de PC

Publicado: 19 de mayo de 2016 - 08:32
por gaelds
Entonces inicié un script que agrega el comando al registro, sin embargo, el comando registry_deletekey no funciona, ¿está escrito incorrectamente en el código a continuación?
Además, la importación de "IErange.reg" falla, aunque funciona al ejecutarse manualmente en el PC. El script de registro agrega el servidor 172.18.80.1 a la zona de intranet de IE para evitar que aparezca un mensaje al iniciar el cliente Papercut.

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    print('Lancement client Papercut au demarrage')
    registry_set(HKEY_LOCAL_MACHINE,"software\\Microsoft\\Windows\\CurrentVersion\\Run\\","UIT","\\\\172.18.80.1\PCClient\win\pc-client-local-cache.exe --silent --minimized")
    run(r'regedit.exe /s "IErange.reg" ')

def uninstall():
    print('Suppression raccourci Papercut au demarrage')
    registry_deletekey(HKEY_LOCAL_MACHINE,"software\\Microsoft\\Windows\\CurrentVersion\\Run\\","UIT")

IErange.reg:

Código: Seleccionar todo

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges]
@=""

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range12]
"*"=dword:00000001
":Range"="172.18.80.1"

Re: Comando de inicio de PC

Publicado: 19 de mayo de 2016 - 21:03
por sfonteneau
¿Cuál es el tipo de valor para `registry_set`?
Por defecto, así es como se comporta `registry_set` si no se agrega ningún tipo:
https://github.com/tranquilit/WAPT/blob ... s.py#L1559

Ejemplo agregando `type` y reemplazando `\\` con `/`:

`registry_set(HKEY_LOCAL_MACHINE, r'SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System','MaxGPOScriptWait',0,type=REG_DWORD)`

Para su entrada de registro, debe agregar una clave a `HKEY_CURRENT_USER`, y es diferente para la cuenta del sistema:
https://social.msdn.microsoft.com/Forum ... =vcgeneral

Entonces, ¿debería colocarse esto en un archivo de configuración de sesión?

Re: Comando de inicio de PC

Publicado: 20 de mayo de 2016 - 07:01
por gaelds
Gracias, Simon. Respecto a `register_deletekey`, acabo de darme cuenta de que `registry_delete` es el `registry` correcto:
`registry_delete(HKEY_LOCAL_MACHINE,"software\\Microsoft\\Windows\\CurrentVersion\\Run\\","UIT")`.

En cuanto a la parte que hay que importar a HKCU, no había considerado que no se pudiera procesar como System... ¿Existe alguna documentación sobre `session_setup`? Nunca la he usado. Como alternativa, estaba pensando en un script de AutoIt que importara mi valor y programara el ejecutable de AutoIt para que se iniciara al arrancar el sistema en el cuadro de diálogo Ejecutar.

Re: Comando de inicio de PC

Publicado: 20 de mayo de 2016 - 08:35
por sfonteneau
Ejemplo para session_setup:

Código: Seleccionar todo

def session_setup():
   registry_setstring(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows Live\\Common",'TOUVersion','16.0.0.0', type=REG_SZ)
Básicamente comienza cuando comienza la sesión

Re: Comando de inicio de PC

Publicado: 24 de mayo de 2016 - 11:40 a. m.
por Jacki
Buen día,

Esta información me resulta interesante, me gustaría establecer un valor de registro en cada inicio de sesión o en caso de que se modifique
Probé este comando

Código: Seleccionar todo

def session_setup():
	registry_setstring(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings",'CertificateRevocation','00000000', type=REG_DWORD)
	registry_setstring(HKEY_CURRENT_USER, "Software\\Microsoft\Windows\\CurrentVersion\\WinTrust\\Trust Providers\\Software Publishing",'State','146944', type=REG_DWORD)
Pero el valor no cambia