in reply to Windows Service Pack Information

If you have an SSH server on the Windows machine, you could use Net::SSH, Net::SSH2, or Net::SSH::Perl to run the command and grab the output.

The Service Pack is one of the values exposed through Active Directory. You can use pretty much any LDAP client, with a little work, to talk to Active Directory since it is essentially YALI (Yet Another LDAP Implementation). There's a somewhat light-hearted article about how to get the information using ADO over at Dr. Scripto's Script Shop on MS TechNet. You should be able to query the same information using Net::LDAP, which has a nice HOWTO at Linux Journal. There's much more about LDAP at BIND 9.