I was recently asked to inventory approx 200 client computers of what programs they had installed, the specifications (cpu/ram/hdd) etc. So I was being lazy as most IT-techs are and wrote a script that I later on implemented into their usual login script.
It creates a simple .txt-file on a pre-mapped network drive and appends new batch runs into the same file.
After a successfull inventory run, the script creates a empty file (flag.txt) in the global var %appdata% where the current logged in user allways has write access. And the next time the script runs, it will check if the file flag.txt exists and exit if it does.
As I wrote, this script can be used together with a login script.
start \\servername\full_unc_path\inventory.bat