lunes, 31 de octubre de 2011

Restablecer Permisos de instalacion de la carpeta de sistema Windows

Para
restablecer la configuración de seguridad predeterminada de la instalación
original del sistema operativo, siga estos pasos:

Ejecutar como administrador local desde la linea de comandos:
Windows 2003 Server
secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose
En Windows 2008 Server
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
Recibirá el mensaje "Se ha completado la tarea" y un mensaje de
advertencia indicando que algo no se ha podido realizar. Puede pasar por
alto este mensaje de forma segura. Para obtener más información acerca
de este mensaje, consulte el archivo
%windir%\Security\Logs\Scesrv.log.

miércoles, 19 de octubre de 2011

Actualizaciones que validan la licencia de windows 7

Actualizaciones KB976902, KB2533552 y KB971033

Estas y el resto de las actualizaciones del sistema operativo se encuentran en la siguiente ruta:

C:\Windows\servicing\Packages

miércoles, 5 de octubre de 2011

Crear un servicio desde un programa

Lo primero que debemos hacer es descargar e instalar el Resource Kit Tools para Windows Server 2003, aunque esto también es aplicable y se puede instalar en XP.

Dentro de todas las utilidades ahora instaladas, estan: instsrv.exe y srvany.exe, que son las que vamos a usar para convertir un programa en servicio de Windows.

El siguiente paso es registrar el programa con un servicio válido, esto se hace con los siguientes comandos:

instsrv.exe srvany.exe

o bien

ruta\INSTSRV.EXE [mi servicio] ruta\SRVANY.EXE

Para no tener problemas en donde dice ruta pongan la ruta del directorio en el que estan los archivos junto con la letra asignada a la unidad. [mi servicio] es el nombre del servicio que deseamos correr. Puede ser cualquier nombre pero es recomendable que sea descriptivo. Si todo salio bien nos mostrara un mensaje diciéndonos que el servicio fue agregar satisfactoriamente.



Para asegurarnos que fue así debemos revisar el Registro de Windows, para realizar esto abriremos el Editor de Registro (Inicio –> Ejecutar –> regedit) y nos posicionaremos en la siguiente clave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[mi servicio]



Si podemos ubicar el servicio creado anteriormente es porque todo salio bien.

3- Ahora seleccionaremos nuestro servicio, luego nos dirigimos al menú Edición –> Nuevo –> Clave, el nombre que le pondremos es “Parameters”. Seleccionaremos la clave “Parameters” y nos dirigimos nuevamente al menú Edición –> Nuevo –> Valor alfanumérico y le ponemos el nombre “Application”, veremos que se agrega este valor lo seleccionamos y hacemos clic con el botón derecho y seleccionamos “Modificar” y en “Información del valor” pondremos la ruta completa de la aplicación con la extensión.

ejemplo: C:\Archivos de programa\aplicacion\miaplicacion.exe

De ésta manera el programa ya está registrado como servicio, y aparecerá en la lista de servicios (services.msc) ahora solo debemos configurar unas ramas del registro:

* HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
* Cambiamos el valor de “ImagePath” por la ruta a srvany.exe (si instalamos el RK por defecto, C:\Archivos de programa\Windows Resource Kits\Tools\srvany.exe)
* Creamos una nueva clave (clic derecho, Nuevo / Clave) con nombre “Parameters”
* Dentro de “Parameters” creamos un nuevo valor alfanumérico (clic derecho, Nuevo / Valor alfanumérico) con la ruta completa al ejecutable del programa (ej. C:\Tool\dns.exe)

Con eso el programa quedará funcional, para comprobarlo, vamos a la lista de Servicios del Sistema (en Ejecutar, services.msc), donde podemos Iniciarlo, Pausarlo o Detenerlo. Si el programa necesita interactuar con el escritorio, es decir, necesitamos usarlo visualmente, vamos hasta la solapa Iniciar sesión, y tildamos “Permitir a los servicios que interactúen con el escritorio”

Kit de Herramientas Windows Server 2003

http://www.microsoft.com/latam/technet/seminario/3estrella2.mspx

martes, 4 de octubre de 2011

No funciona not in en TSQL

El dia de ayer un compañero estaba realizando una consulta de la siguiente forma:

SELECT * from tabla_claves where clave not in
(SELECT clave from claves_alta)
y la consulta no le devolvia resultados a pesar de que habia dos registros en la tabla_claves que no existian en la tabla claves_alta, y nuestra sorpresa fue darnos cuenta de que si cambiabamos el select seguido del in por las claves escritas directamente, funcionaba.

¿Por que dejo de funcionar el siempre popular "not in"?, pues nos dimos cuenta que la tabla claves_alta tenia un registro con el campo clave en valor NULL, esto provocaba que no funcionara la consulta correctamente, para que no tengan problemas con esta clausula, verifiquen que el conjunto de datos que van a comparar dentro de la clausula "not in", no contenga registros NULL