103 lines
1.9 KiB
Markdown
103 lines
1.9 KiB
Markdown
## 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:
|
|
|
|
```json
|
|
{
|
|
"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
|
|
powershell.exe -ExecutionPolicy Bypass -File .\assets.ps1
|
|
|
|
```
|
|
|
|
## Wdrożenie w domenie (GPO)
|
|
|
|
1. Umieść pliki w `\\domain\SysVol\domain\scripts\assets\`
|
|
|
|
2. Dodaj skrypt jako **Startup Script** w GPO:
|
|
|
|
```
|
|
Computer Configuration → Scripts → Startup
|
|
|
|
```
|
|
|
|
3. 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_command` w configu
|
|
|
|
- Skrypt może być dostosowany do pracy offline (lokalna kopia)
|
|
|
|
|
|
## Licencja
|
|
|
|
Internal use / własny projekt
|
|
|