Pregunta

Tengo un sistema Windows Server 2003 que se usa para servicios de terminal. No utilizamos perfiles móviles. No utilizamos scripts de inicio de sesión. Tengo entre treinta y cuarenta cuentas que inician sesión en este sistema y, como tal, tienen perfiles locales.

Uno de los paquetes de software que están instalados en este sistema utiliza el árbol de registro HKCU / Software para su licencia y, por lo tanto, cada usuario tiene la clave de licencia en su perfil local.

¿Cómo puedo actualizar todos estos registros de diferentes perfiles de manera determinista?

¿Fue útil?

Solución

Hay varias formas de lograr lo que quieres, una más complicada que la otra. Los servidores de terminal pueden ser una pesadilla de implementación: los usuarios pueden no tener derechos para ejecutar msiexec.exe y, por lo tanto, la reparación automática de MSI podría fallar. Es por eso que generalmente prefiero usar archivos por lotes , scripts o archivos de registro para el tipo de situación que enfrenta.

Usaría la función de configuración activa de Microsoft . Este es solo un nombre elegante para una función que le permite ejecutar algo una vez por perfil al iniciar sesión. Aquí hay una buena explicación: http://www.etlengineering.com/installer/activesetup .txt

Aquí hay una entrada de muestra de configuración activa para un archivo MSI (este es el contenido de un archivo * .reg):

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\[ProductCode]]
"StubPath"="[SystemFolder]msiexec.exe /q /fou [ProductCode]"

El " StubPath " El comando puede ser cualquier cosa ejecutable y, en su caso, sugeriría no ejecutar msiexec.exe, sino un vbscript a través de cscript.exe o algún otro mecanismo por lotes (CMD, REG, Etc ...). La razón es lo que dije anteriormente: es posible que msiexec.exe no pueda ejecutarse para usuarios de Terminal Server. En otras palabras, algo como esto:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\MyProduct]
"StubPath"="[SystemFolder]cmd.exe /k C:\SomeScript.cmd"

Hay otras formas de agregar datos al perfil de cada usuario, como utilizando los accesos directos de MSI anunciados y la reparación automática , pero no lo recomendaría para los servidores de terminal. Consulte esta respuesta de serverfault.com para obtener información sobre problemas con el uso de archivos MSI para la configuración del registro .

Otros consejos

Monte la sección del registro mediante programación, cambie las claves y luego cierre la sección. Alternativamente, puede usar PSExec / runas para ejecutar la actualización de las claves. script como ese usuario , que también resuelve la " editar HKCU " problema

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top