Hallo zusammen,
bei uns steht eine Migration von Computer an.
Um sehr viel Traffic zu vermeiden, haben wir Mastersysteme mittels OPSI erstellt und diverse Produkte installiert.
Abschließend wurde das System gesysprepd und vervielfältigt.
So weit, so gut.
Jetzt wurde ein Teil der Geräte geliefert und wir haben auch schon einen wieder in die Domäne aufgenommen, den OPSI Client installiert und alles läuft wie erwartet.
Was jetzt fehlt, ist der Installationsstatus der Produkte. Diese sind logischerweise jetzt alle leer, da OPSI nicht weiß, dass der Rechner schon die Produkte vorinstalliert bekommen hat.
Meine Frage:
- Kann man mittels swaudit automatisch mit den Produktpaketen einen Abgleich machen? (Am besten mit einem Pattern)
Bitte auch mit Beispielen, da hier im Forum schon mal jemand die Frage gestellt und gelöst, jedoch kein Skript zur Verfügung bereitgestellt hat.
Danke euch!
Gruß,
Damien
Produkte auf "installed" setzen
-
- Beiträge: 110
- Registriert: 24 Feb 2014, 11:30
Re: Produkte auf "installed" setzen
Wo finden wir denn die Lösung?
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: Produkte auf "installed" setzen
Hi Damien,
Wenn man eine Zuordnung hat, kann man prüfen, ob eine Software auf einem Rechner installiert ist:
Und wenn gefunden, dann mit folgendem Call den Status des opsi-Produkts auf installiert setzen:
Umwandlung in einen Call für eine spezifische Progammiersprache oder opsi-admin überlasse ich dem geneigten Leser
Gruß
Niko
Nutzt ihr opsi-wim-capture? Das macht nämlich genau das (zurückspielen der opsi-Metadaten).damien.leviet hat geschrieben:bei uns steht eine Migration von Computer an.
Um sehr viel Traffic zu vermeiden, haben wir Mastersysteme mittels OPSI erstellt und diverse Produkte installiert.
Abschließend wurde das System gesysprepd und vervielfältigt.
So weit, so gut.
Jetzt wurde ein Teil der Geräte geliefert und wir haben auch schon einen wieder in die Domäne aufgenommen, den OPSI Client installiert und alles läuft wie erwartet.
Was jetzt fehlt, ist der Installationsstatus der Produkte. Diese sind logischerweise jetzt alle leer, da OPSI nicht weiß, dass der Rechner schon die Produkte vorinstalliert bekommen hat.
Es ist nicht builtin in swaudit, weil das Problem auf das man immer läuft ist, dass die Produkt-IDs in opsi nie gleich sind zu den Daten, die das SWaudit ausliest.damien.leviet hat geschrieben:Meine Frage:
- Kann man mittels swaudit automatisch mit den Produktpaketen einen Abgleich machen? (Am besten mit einem Pattern)
Wenn man eine Zuordnung hat, kann man prüfen, ob eine Software auf einem Rechner installiert ist:
Code: Alles auswählen
auditSoftwareOnClient_getObjects(state=1, name=<software aus audit>, clientId=clientId)
Code: Alles auswählen
setProductInstallationStatus(productId, clientId, "installed")
Gruß
Niko
Code: Alles auswählen
import OPSI
-
- Beiträge: 110
- Registriert: 24 Feb 2014, 11:30
Re: Produkte auf "installed" setzen
Wir haben erst mittels opsi-netboot (win10-x64) sowie unseren OPSI-Paketen einen Rechner aufgesetzt (quasi One-Click Installation, richtig super!).n.wenselowski hat geschrieben:Hi Damien,
Nutzt ihr opsi-wim-capture? Das macht nämlich genau das (zurückspielen der opsi-Metadaten).
Danach wurde die Master-Festplatte dem Unternehmen, welches unsere PCs liefert, bereitgestellt und vervielfältigt.
Ich habe es am Ende mit einem kleinen Shellskript gelöst.n.wenselowski hat geschrieben: Wenn man eine Zuordnung hat, kann man prüfen, ob eine Software auf einem Rechner installiert ist:Und wenn gefunden, dann mit folgendem Call den Status des opsi-Produkts auf installiert setzen:Code: Alles auswählen
auditSoftwareOnClient_getObjects(state=1, name=<software aus audit>, clientId=clientId)
Umwandlung in einen Call für eine spezifische Progammiersprache oder opsi-admin überlasse ich dem geneigten LeserCode: Alles auswählen
setProductInstallationStatus(productId, clientId, "installed")
Gruß
Niko
Ich hole mir aus einer einfachen Liste, wo sämtliche von uns genutzten Produkte stehen, die Daten in eine FOR Schleife und setze für den angegebenen Host den Status auf "installed":
opsi-setInstalled.sh
Code: Alles auswählen
#!/bin/sh
STATE="installed"
PRODUCTS=/root/opsi_default_products
DOMAIN=".local"
if [ -z $1 ]; then
echo "Benutzung: $0 <workstation name>"
exit 0
fi
for PRODUCT in $(cat $PRODUCTS); do
echo "Produkt: $PRODUCT"
opsi-admin -d method setProductInstallationStatus "$PRODUCT" "$1.$DOMAIN" $STATE
echo "Status auf '$STATE' gesetzt!"
echo ""
done;
echo "Status für alle Produkte von Host '$1' auf '$STATE' gesetzt!"
exit 0