Saltar al contenido

¿Cómo firmar un archivo por lotes de Windows (.bat)?

Haz todo lo posible por entender el código bien previamente a adaptarlo a tu trabajo y si tdeseas aportar algo puedes dejarlo en los comentarios.

Solución:

No firma archivos por lotes. Parece que su archivo por lotes está llamando a otra cosa que debería estar firmada.

Editar: ahora que ha publicado un archivo por lotes, podemos ver que se debe a la ubicación de la red. O, a veces sucederá si simplemente Copiar un archivo desde una ubicación de red. En el último caso, se debe a que Windows ha etiquetado el archivo a través de un flujo de datos alternativo para que esté en otra zona de Internet. Puede evitar esto de dos maneras:

  1. Cambia tus zonas de seguridad en Internet Explorer, por la zona de Intranet.
  2. Utilice el comando type para destruir el Flujo de datos alternativo para el archivo. (También hay streams.exe de Sysinternals que puede hacerlo).
    type thefile.bat > %temp%newfile.bat & type %temp%newfile.bat > thefile.bat

Recibo un mensaje similar si ejecuto archivos por lotes (u otros ejecutables) desde una ubicación de red. Si este es el caso, es posible que desee considerar moverlo a una unidad local. Otra alternativa es usar un archivo por lotes separado en la unidad local para iniciar el que está en la red. El archivo por lotes de lanzamiento solo necesita tener una línea:

@call \networkfolderbatch.bat

Windows no se opondrá al archivo local, y una vez que ese archivo se está ejecutando, puede llamar a la versión de red sin problemas.

Lo que está viendo es un aviso general que proporciona Windows cada vez que intenta abrir cualquier momento del archivo que se ha descargado. Lo que sucede es que cuando descargas un archivo, se etiqueta con una bandera que indica que proviene de Internet y, por lo tanto, es potencialmente peligroso. Cuando intenta ejecutar un archivo de este tipo, Windows comprueba si tiene una firma válida para determinar si se puede confiar en él.

Lo que puede hacer es quitar la bandera del archivo usando el Desatascar en las propiedades del archivo, después de lo cual, Windows lo dejará en paz cada vez que intente ejecutarlo:

ingrese la descripción de la imagen aquí


El problema es que los archivos por lotes son archivos de texto que se pueden ejecutar. Si bien es posible firmar un archivo de texto, terminará agregando un montón de datos binarios al archivo que, para un archivo por lotes, es malo porque es un galimatías y causará problemas cuando el intérprete de comandos intente ejecutarlo. Comentar la firma tampoco funcionará porque entonces la firma se corrompe.

Por lo tanto, firmar un archivo por lotes no funcionará.

Lo que debe hacer es averiguar por qué el sistema le pregunta cuando intenta ejecutarlo. De forma predeterminada, Windows no pregunta antes de ejecutar archivos por lotes, por lo que debe tener una política especial o un programa de seguridad que lo bloquee. Verifique su (s) programa (s) de seguridad para ver si hay una configuración de verificación que pueda deshabilitar o agregar una exclusión.

También verifique el contenido del archivo por lotes para ver si está ejecutando un ejecutable que no está firmado (aunque nuevamente, de manera predeterminada, Windows no solicita ejecutables a menos que se haya descargado o requiera privilegios elevados, así que verifique su configuración).

Reseñas y calificaciones

Si estás contento con lo expuesto, tienes la habilidad dejar una noticia acerca de qué le añadirías a esta división.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *