Skip to content

About

Windows Forms app for tracking IT assets and running vulnerability audits against a SQL Server database, with role-based access for admins, auditors, and read-only users.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

IT Asset Management

C# .NET Framework SQL Server

IT Asset Management is a Windows Forms application for tracking IT assets and running vulnerability audits against a SQL Server database. It supports role-based access, asset registration, employee assignment, and security reporting for vulnerable endpoints.

Screenshots

Login Dashboard
Login screen Asset dashboard
Add Asset Vulnerability Audit
Add asset form Vulnerability audit results

Features

  • Secure login with SHA-256 password hashing
  • Role-based access control:
    • Admin: add, delete, and manage assets
    • Auditor: run vulnerability audits and export reports
    • ReadOnly: view-only access
  • Asset management for:
    • Laptops
    • Routers
  • Employee assignment for assets
  • Vulnerability detection based on deprecated operating systems
  • Security status calculation per asset type
  • Audit results with severity highlighting
  • Export audit reports to text files

Tech Stack

  • C# / WinForms
  • .NET Framework 4.7.2
  • SQL Server Express
  • ADO.NET (System.Data.SqlClient)

Project Structure

  • Program.cs - application entry point
  • Forms/ - UI screens for login, assets, and audits
  • BusinessLogic/ - asset models and security rules
  • DataAccess/ - SQL Server access and audit queries
  • DatabaseSchema.sql - database creation and seed data
  • App.config - connection string and app settings

Database Setup

  1. Install SQL Server Express or another compatible SQL Server instance.
  2. Open DatabaseSchema.sql in SQL Server Management Studio.
  3. Run the script to create:
    • ITAssetManagementDB
    • tbl_Users
    • tbl_Employees
    • tbl_Assets
    • tbl_Vulnerabilities
  4. Update App.config if your SQL Server instance name is different:
<add name="ITAssetManagementDB"
     connectionString="Server=.\SQLEXPRESS;Database=ITAssetManagementDB;Integrated Security=True;TrustServerCertificate=True;"
     providerName="System.Data.SqlClient" />

Running the Application

  1. Open ITAssetManagement.slnx in Visual Studio.
  2. Restore/build the solution.
  3. Make sure the database is created and seeded.
  4. Start the app.

Default Seed Data

The schema script includes:

  • sample users
  • sample employees
  • sample assets
  • sample vulnerability definitions

How It Works

  • Users log in through LoginForm.
  • Admins can add or delete assets from MainForm.
  • Asset details are stored in SQL Server.
  • AuditForm finds assets whose OS versions match known vulnerable versions and shows severity levels.
  • Audit reports can be exported to a .txt file.

Security Rules

The application uses built-in rules in the asset models:

  • Laptop: checks for deprecated OS versions, disk encryption, and corporate management
  • Router: checks for default credentials, firewall status, and firmware tracking

Known Limitations

  • Passwords are hashed with unsalted SHA-256 (BusinessLogic/SecurityHelper.cs). This is fine for a local demo/portfolio project, but a production system should use a salted, adaptive hash (e.g. PBKDF2, bcrypt, or Argon2) instead.
  • Security rules (deprecated OS lists, encryption/firewall checks) are hardcoded in the asset models rather than configurable.

Future Improvements

  • Add screenshot-based asset inventory
  • Support edit/update asset workflows
  • Add richer report export formats such as PDF or CSV
  • Replace hardcoded security rules with configurable policies
  • Move password hashing to a salted, adaptive algorithm (see Known Limitations)

License

MIT — see LICENSE.

About

Windows Forms app for tracking IT assets and running vulnerability audits against a SQL Server database, with role-based access for admins, auditors, and read-only users.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages