Posible solución al error «malformed header from script ‘script.sh’: Bad header: Microsoft Windows»

Frente al siguiente error que puede estar motivado por intentar ejecutar un script que llame al cmd (#!C:\WINDOWS\system32\cmd.exe)

[crayon-6a61945e554aa725270143/]

Una posible solución es crear un .exe utilizando C# en el que ejecutemos los comandos que necesitemos en PowerShell o cmd.

Pasos para compilar un código fuente en C#: https://www.jesusninoc.com/02/22/compilar-desde-la-linea-de-comandos-un-codigo-fuente-en-c-con-csc-exe/

Después llamamos al .exe desde el script

[crayon-6a61945e554b1644506857/]


Otra posible solución:

Aquí te dejo un ejemplo de cómo puedes enviar una cabecera HTTP válida en un script CGI en Windows:

[crayon-6a61945e554b4807032927/]

Este ejemplo establece el tipo de contenido como «text/plain», la longitud de la cadena devuelta por el comando cmd y el código de estado HTTP como «200 OK». Luego, imprime la salida del comando cmd en el cuerpo de la respuesta HTTP.

Ten en cuenta que la cabecera HTTP debe ser la primera cosa que se imprime en el script CGI, y debe estar seguida por dos caracteres de nueva línea antes de imprimir cualquier contenido adicional en el cuerpo de la respuesta HTTP.