Hi Stephan,
hast Du einen Wartungsvertrag ? Dafür musste dir vermutlich entweder selbst oder mit Hilfe des Supports ein SQL Statement zusammenbauen (lassen). Es gibt sonst für die Wartung nur ne View....
Posts
-
RE: Wartungsliste auf Dashboard?
-
RE: Wartungsliste auf Dashboard?
Hi, am besten geht das über einenn report. Den kannste dann auf dem dashboard anzeigen lassen
-
RE: Docking Station Category
@mzaidan Hi,
wir hatten genau das gleich Problem. Ich hab dafür extra was gebaut. Wenn Du willst kann ich es gerne zur Verfügung stellen. Schick mir am besten ne Nachricht bei Interesse.Gruss,
Joerg -
RE: Entsorgung von Hardware
@ThomasH haste mal probiert, ob Du so zurecht kommst oder gibts noch Probleme?
Gruss,
Jörg -
RE: Entsorgung von Hardware
es funktioniert auch sehr gut mit dem jq tool (https://stedolan.github.io/jq/download/)
Die Ids bekommste dann so :
api.call | jq -r '.result[]?.ID'Das ist noch etwas schöner als die Lösung oben
-
RE: Entsorgung von Hardware
Hi Thomas,
also wenn du das in einer Shell ausführst, würde ich die IDs aus dem Output extrahieren z.B |python -m json.tool am ende deines api calls.
Dann bekommste einen strukturierten Output. Dann kannste du die ids: rausfiltern und dann eine schleife drüber laufen lassen.
zB.
for id in api.call| |python -m json.tool |grep id |awk -F":" '{print $2}' # vor api und am Ende nach ' kommen noch backticks, die werden hier aber nicht angezeigt
do
curl
--data '
{
"version": "2.0",
"method": "cmdb.object.archive",
"params": {
"object": $id,
"apikey": "xxx",
"language": "de"
},
"id": 1
}'
--header "Content-Type: application/json"
https://idoit.domain.de/src/jsonrpc.phpdone
wichtig dabei ist, dass nur die ID in der id Variable steht und keine weiteren Zeichen mehr. Kannste ja am besten vorher mal den Filter erstellen und testen.
Sollte dann so eigentlich ganz gut funktionieren. Also das hier wäre jetzt für ne bash. Ich weiss ja nicht was deine bevorzugte Programmiersprache ist. aber mit python, perl etc geht das auch.
-
RE: Entsorgung von Hardware
Hi Thomas,
hab noch Tips, aber zurzeit keine Zeit das runterzuschreiben. Denke ich kann Dir was bis Mitte nächster Woche schreiben.
Gruss,Jörg
-
RE: Entsorgung von Hardware
Hi Thomas,
ich würde den Report nur dazu nutzen, um festzustellen welche hosts den Status verschrottet haben. Da du diese ja dann archivieren und die Standorte löschen möchtest, würde ich das dann mit dem idoitcli Tool machen.
Ist etwas aufwändiger, aber machbar. Man muss für die Objekte in dem Report rausfinden welche IDs die Standorteinträge haben und diese dann per api call löschen. Den APi Call würde ich mit dem idoitcli von Ben Heisig machen (https://github.com/bheisig/i-doit-cli)
dann in einer schleife für jeden EIntrag aus dem Report die entsprechenden IDs der Einträge rausfinden:
idoitcli -c /etc/idoitcli/config_prod.json call '{"version": "2.0","method": "cmdb.category.read","params": {"objID": 5093027, "category": "C__CATG__LOCATION", "apikey": "xxxxx","language": "en"},"id": 1}'
Ergebnis sieht dann so aus (hier nur ein auszug):
{
"id": 2,
"jsonrpc": "2.0",
"result": [
{
"id": "5576",
"objID": "5093027",
"location_path": "920",
"parent": {
"id": "920", <<-- das ist die ID die wir brauchenDann über einen api call den Eintrag für das gewünschte Objekt löschen mit diesem Call (nur ein Beispiel) :
{
"version": "2.0",
"method": "cmdb.category.delete",
"params": {
"objID": 42,
"category": "C__CATG__IP",
"cateID": 3,
"apikey": "xxx",
"language": "en"
},
"id": 1
}Über diesen API Call kann das gerät dann archiviert werden:
{
"version": "2.0",
"method": "cmdb.object.archive",
"params": {
"object": 464,
"apikey": "xxx",
"language": "en"
},
"id": 1
}Hier ist noch ein Link zur API Doku:
https://kb.i-doit.com/display/en/Methods
Unter Kategorien und Attribute in der Verwaltung der API Schnittstelle findest du auch die Namen der Kategorien.
Hoffe das hilft Muss man halt ein bisschen was programmieren, aber dann sollte es gut funktionieren.
Gruss,
Jörg
-
RE: Entsorgung von Hardware
Hi Thomas,
geh mal auf deinen Server in das Dokument Root.
Dann guck dir mal folgendes an:/srv/www/htdocs/console.php report-export --help
Usage:
report-export [options]Options:
-r, --reportId=REPORTID ID of the report
-d, --exportPath=EXPORTPATH Path to export the report into
-f, --exportFilename=EXPORTFILENAME File name of export file, without extension (e.g. .pdf).
Default is the title of the report
-t, --exportFileType=EXPORTFILETYPE File Type of the export. Possible options: csv, txt, pdf, xml [default: "csv"]
-u, --user=USER User
-p, --password=PASSWORD Password
-i, --tenantId=TENANTID Tenant ID [default: 1]
-c, --config=CONFIG Config File
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debugHelp:
Executes an i-doit report and saves it to a file as CSV, TXT, PDF or XMLDamit das klappt musste natürlich vorher einen Report erstellt haben, der dir die verschrotteten Objekte anzeigt. Die Report ID brauchst du dann dann hier...
Gruss,
Jörg
-
RE: Entsorgung von Hardware
Hallo Thomas,
das kannst Du gut über die CLI machen. Am besten erstellst Du einen Report der alle Objekte mit CMDB Status = verschrottet enthält. Dann kannste den über console.php in deinem Document Root ausführen lassen und weiterverarbeiten.
Gruss,
Jörg
-
RE: LDAP Sync
Hallo,
du benötigst auf jeden Fall noch einen User der Leseberechtigung im AD hat und die entsprechenden Bäume auslesen darf.
Hier ist was ich konfiguriert habe:#
Host: IP oder Name des AD Servers ; Port 389 (bei AD); Login: Domain User z.B DOMAIN\Username; Search: OU=xxx,DC=yyy (oder wie das halt bei euch aussieht); Filter : z.B.: (objectClass=user).Man kann den ersten sync dann über den controller anwerfen:
im htdocs Verzeichnis von idoit befindet sich ein Script: controller
Das sollte dann einmal ausgeführt werden mit -m ldap -u idoit user -p idoit pw -i 1 (oder die mandanten nr) -v -d (da sieht man mehr)
Wenn das script dann keinen Fehler ausgibt hats geklapptGruss,
Jörg