Opis
Skrypt zbiera dane systemowe (np. system operacyjny, CPU, RAM, dyski, adres MAC, oprogramowanie) na podstawie komend PowerShell zdefiniowanych w pliku konfiguracyjnym, a następnie wysyła je do Snipe-IT poprzez API.
Agent działa w oparciu o prosty plik config.json, który pozwala łatwo rozszerzać zakres zbieranych informacji bez modyfikacji kodu.
Funkcje
- Integracja z API Snipe-IT
- Dynamiczne zbieranie danych przez PowerShell
- Obsługa custom fields
- Wyszukiwanie assetu po serialu lub innym parametrze
- Możliwość uruchamiania przez GPO / Scheduled Task
- Działa bez dodatkowych zależności
Struktura
PSITAgent/
├── assets.ps1
├── config.json
└── README.md
Konfiguracja
Plik config.json zawiera:
- dane dostępowe do API Snipe-IT
- sposób wyszukiwania assetu
- definicje pól i komend PowerShell
Przykład:
{
"snipe-it": {
"url": "https://your-snipeit/api/v1",
"apikey": "API_KEY",
"verify-ssl": false
},
"search-term": {
"type": "serial",
"value": "(Get-CimInstance Win32_BIOS).SerialNumber"
}
}
Uruchomienie
Ręczne:
powershell.exe -ExecutionPolicy Bypass -File .\assets.ps1
Wdrożenie w domenie (GPO)
-
Umieść pliki w
\\domain\SysVol\domain\scripts\assets\ -
Dodaj skrypt jako Startup Script w GPO:
Computer Configuration → Scripts → Startup -
Parametry:
-ExecutionPolicy Bypass
Wymagania
-
Windows 10 / 11
-
PowerShell 5.1+
-
Dostęp do API Snipe-IT
Uwagi
-
Zalecane uruchamianie jako SYSTEM (GPO / Scheduled Task)
-
Możliwość rozszerzania poprzez dodanie nowych
ps_commandw configu -
Skrypt może być dostosowany do pracy offline (lokalna kopia)
Licencja
Internal use / własny projekt