Login-scripts will use anything the client machine considers a valid script. .BAT and .CMD files are understood by everything, but are significantly limited in what they can do; they can do simple drive mappings and a few other operations but little else. Almost everything also can run .VBS scripts which allows a much more robust script. If you're lucky enough to have a pure Win7 environment, it is very possible to use PowerShell scripts. And finally, if you're really gung-ho about it, you can actually compile your own .EXE files that will do everything you need to do and have it be your login script. The thing to keep in mind is that the login script is, I believe, executed in the User's context so it can only do what the user is allowed to do.
Think of a login script as a file that the Group Policy engine gives to the local machine to run after a start command.
start login.vbs
start login.bat
start login.ps1
start login.exe
That's not exactly how it works, but it does frame the concept better.
Also, the machine itself can have startup-scripts! These run before user login, and run in SYSTEM context. Can be handy for certain tasks.