Command Line PC Inventory Tool -
Hello - I need a command line pc inventory tool developed for me ASAP. The command line pc inventory tool needs to capture very detailed hardware and software data from the user's PC, authenticate with our server, and then send the results of the audit over the internet to my server via an HTTPS post (Must be able to post via HTTP also). Please read the entire project requirements and payment information for this project. DO NOT BID if you cannot follow through with this project, thoroughly debug and test the application, or communicate effectively over email. This should be an easy project if you have the experience. If we have a good experience with you, there is no reason why I won't give you precedence over other programmers for additional work.
For a formatted Description please click here: [url removed, login to view]
The PC Inventory Tool must run from the command line, as this may be deployed over a network login script, or ran off a floppy drive. When run, depending on the parameters used the program will first authenticate the user (see Authentication below) through our online system. If the authentication fails, the program will send the appropriate error message to a log file (See Error Logging below). Once the authentication is verified, the application must audit the machine using WMI methods first (See WMI Audit Method). If WMI is not installed or not working, the application then must use an alternative method to collect the information (See Alternative Audit Method). The collected data must then be sent via https to our online server (See Data Format). If the appropriate parameter (-x or -c) is used (see Export Functionality below), the application will not authenticate or send the collected information over the internet, but will instead store the data in a CSV or XML.
The auditor (aka "PC Inventory Tool") authenticates via an HTTPS post to a specified URL. In order to authenticate a UserID is required, along with either a password or hash. By default, the UserID and Hash should consist of 35 pluses ("+") each, and they should be defined as global variables (this is so we can customize the binary automatically for different user accounts). When the auditor is run, if the UserID still only contains all the pluses, then it should require the ID and Password via the commandline. If they contain anything else, then it should run using those as the UserID and Hash. So in pseudocode:
globalUserID = "+++++++++++++++++++++++++++++++++++"
globalHash = "+++++++++++++++++++++++++++++++++++"
if UserID and Password/Hash supplied via commandline parameters
Get UserID and Password/Hash from commandline
Authenticate with them
exit with error and display usage
authenticate with globalUserID and globalHash
if authentication failed, exit with error message
The auditor (also known as "PC Inventory Tool") should also automatically use Internet Explorer's default proxy settings if the computer is required to pass https/http data through a proxy server.
All Errors should automatically create/append to an [url removed, login to view] file in the directory that the command auditor is running from. This should include any communication errors, or failed audit information.
Data that will be sent via https should be in the following format, to maintain compatibility with our system:
'login' => 'TESTUSER'
'password' => 'TESTPASS'
'id' => 'TESTPC'
'Software_OperatingSystem_0_Caption' => 'Microsoft Windows XP Professional'
'Software_OperatingSystem_0_BuildNumber' => '2600'
'Software_OperatingSystem_0_BuildType' => 'Uniprocessor Free'
'Software_OperatingSystem_0_ServicePack' => 'Service Pack 1'
'Software_OperatingSystem_0_SerialNumber' => '55174-640-4329327-21093'
'Software_OperatingSystem_0_RegisteredUser' => 'User'
'Software_OperatingSystem_0_LastBooted' => '20040121082647.500000-480'
'Software_OperatingSystem_0_WindowsDirectory' => 'C:\WINDOWS'
'Software_OperatingSystem_0_SystemDirectory' => 'C:\WINDOWS\System32'
'Software_OperatingSystem_0_InstallDate' => '20031021102037.000000-420'
'Software_OperatingSystem_0_Status' => 'OK'
'Software_InstalledSoftware_0_' => 'AddressBook'
'Software_InstalledSoftware_1_' => 'Adminpal Auditor [url removed, login to view]'
'Software_InstalledSoftware_2_' => 'Adobe Photoshop 7.0'
Please review the entire example data collection: [url removed, login to view]
We need a command line argument to export the data to xml or csv. If either "-x" or "-c" is specified as a command line parameter, the auditor will not authenticate the user or communicate with our online server at all, but instead create the type of file specified. The command line argument "-x" will cause the application to save the collected data into an XML file, and the argument "-c" will save the file as a CSV (comma separated value). The files will be saved in the directory that the command line auditor is executed from. So if they are running on f:[url removed, login to view] -x, it will save the xml file as f:auditpcname.xml. If the auditor was executed within the UNC path, \servernameaudit the data should be stored in \servernameauditpcname.xml.
::WMI Audit Method::
You must be able to capture the following information using WMI which is similar to our current application. Please review our current collection example at: [url removed, login to view]
::Alternative Audit Method::
You may use any reliable method to obtain strong and accurate PC Inventory information that can be obtained from Windows 95,98,NT,ME,2000,XP, and 2003 machines. We will not accept 3rd party modules that will require additional licensing /development fees, such as "MiTec Components", unless agreed upon BEFORE the project begins.
::Command line Arguments::
-x (Export to XML)
-c (Export to CSV)
**Example Command Line Arguments Usages:
C:[url removed, login to view] -u testuser -p password
Auditapp -u testuser -h dd0ec3fa0376c96b0e54c164090c025b
C:[url removed, login to view]
F:[url removed, login to view] -x
F:[url removed, login to view] -c -u testuser -h dd0ec3fa0376c96b0e54c164090c025b
\[url removed, login to view] -x
* MUST support Windows 95, 98, ME, 2000, NT, XP Pro, XP Home, 2003.
* Must be a self contained exe file.
* Must be developed with MS VC++.
* Must collect the following information:
o Installed Software
o Network Settings
o Installed Service Packs/Hot Fixes
o NT Services
o OS Version
o Workstation ID
o Registered User Name
o Login Profile Name
o Page File Size/Status
o Motherboard/BIOS (May only be attainable with WMI)
o System Processor
o Hard Drive
o Video Card
o Sound Card
o Video Monitor
o Network Adapter
o Hardware Failures (May only be attainable with WMI)
Programmer will be required to test the application thoroughly and verify that the application works on ALL platforms bug free. Programmer must also be willing to test the application with our live/beta system. We will not perform your testing for you. If you lack the resources to properly test your code, please do not bid on this project.
50% of payment will be escrowed up front at the start of project. After the project is 100% complete, 50% of the first escrow will be released. We will then escrow the remaining 50% of the funds, and release them after we obtain the source code.
::Terms and Conditions::
1) Programmer must provide client with a fully functional program(s) in
an executable form as well as complete source code of all work.
2) Deliverables must be in ready-to-use condition.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all Copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
4) We reserve the right to cancel the project if we do not hear from the programmer within a reasonable timeframe. (We are running a business, 3-4 business days of non-responsive emails is un-acceptable)
5) We reserve the right to not release any of the escrowed fees if the programmer does not deliver the application.
6) Applications requiring additional licensing fees or separate modules/add-ons that will need to be purchased will not be accepted, unless agreed upon before the project begins.
Payment shall be made through Scriptlance and an excellent comment will be provided upon successful completion of this project.
Thanks for taking the time to read this Project Description.
10 freelancers are bidding on average $477 for this job
I have developed many systems and programs and wrote many articles for codeproject.com. Just search my name with "source code" keyword on Google to see what I did.
Greetings, We are willing to work on your project. We at present have a very competent team of c++ programmers who is working on GIS/GPS application. Looking forward to hear from your end. Regards, KS