Nov 022018
 

New in latest Tiny PXE Server version : some files served over the built-in HTTP daemon such as files with extension PHP, VBS and PY can be dynamically processed on the server side and not simply sent back as text/html files.

This gives one the ability to implement a logic on the server side thru php, vbscript or python, including parameters in the URL.

Other engines could be added later on such as node.js, perl, …

Example of ipxe script file on the client side (more reading here).

chain http://${next-server}/boot.php?param1=value1&param2=value2

Example of a boot.php file server side.

<!--?php //use $argv[1], $argv[2], etc to retrieve url parameters 
echo "#!ipxe\n"; 
echo "kernel ${boot-url}/wimboot\n"; 
echo "initrd ${boot-url}/bootmgr bootmgr\n"; 
echo "initrd ${boot-url}/boot/BCD BCD\n"; 
echo "initrd ${boot-url}/Boot/boot.sdi boot.sdi\n"; 
echo "initrd ${boot-url}/sources/boot.wim boot.wim\n"; 
echo "boot\n"; 
?-->  

The TinyPXE Server config.ini web section.

[web]
port=80
;php.exe file.php param1=value1
php=c:\_apps\php\php.exe
;cscript.exe file.vbs param1=value1 //nologo
vbs=C:\Windows\System32\cscript.exe
;python.exe file.py param1=value1
py=C:\Python27\python.exe

Download

 Posted by at 15 h 40 min

  6 Responses to “Tiny PXE Server server side scripting”

  1. Hello, is there a way to secure the http server so that other people can not access it?

  2. atm, not in in TinyPxeServer.
    but you can always use windows firewall via netsh command to allow only specific ip’s?

    or you can use in the [web] section in the config.ini file
    username=admin
    password=admin
    authenticate=basic

  3. Hi!

    first to say: Tiny PXE is excellent work!
    I have one wish: please enable Powershell as scripting engine in TinyPXE!

    • Actually, it is the same for a few weeks now 🙂
      Download latest version.
      I myself great fun with some pwoershell scripts to automate some tasks (like creating on the fly an iscsi target based on the requestor…).

      Cheers,
      Erwan

      • I have seen your new config.ini although i had the latest version of executable (…23).
        Nice!
        But: How are the parameters passed to powershell? Are named parameters possible e.g. « -Username Test »

        I’m fiddeling around by building my querystring like …ps1?-Username%20Test and then i have to replace %20 by space in the powershell script, but that’s not like parameters are handled normally

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.