los script CGI son programas interpretados por el servidor. asi que no entiendo como ejectuarlo en un cliente :p
puede ser cualquier lenguage, el compilador o interprete deben de estar en el servidor.
algo asi mas o menos lei en internet hace tiempo, no se si ha cambiado desde entonces.
lo de vbscript es la mejor manera y creo que aqui en el foro hay uno que ejecuta uno
dim fso, file '<- variables FilesystemObject & Archivo
'------
Set fso = CreateObject( Scripting.FileSystemObject)
'creamos el archivo en una computadora
file = fso.CreateTextFile ("C:\lol.bat", true) 'el archivo lol.bat en la unidad C
'escribimos linea por linea lo que quieres en el bat
file.WriteLine( "@Echo Off")
file.WriteLine("Echo esto es un bat creado desde vbScript")
file.WriteLine("Echo Tambien se puede en Javascript :D ")
'cerramos el archivo para que no nos de error
file.close
'eliminamos la variable
Set file = Nothing
'ahora lo ejecutamos
dim shell
Set shell = CreateObject("WScript.shell")
shell.run ("C:\lol.bat")
Set shell = Nothing
'##############################
'# No estoy seguro si el ejecutar funciona #
'# pero si estoy seguro que se crea el archivo#
'##############################