immer wieder kommen Fragen auf ob man nicht den opsi-client auch über OPSI Direkt verteilen könnte.
Ich habe mal ein paar Codeschnipsel zusammengebastelt die es ermöglichen den OPSI-Client über eine OPSI-Methode zu verteilen:
Das ganze hat weder ein Anrecht auch Richtigkeit, Vollständigkeit oder sonst etwas


Es werden keine Fehler zurückgegeben und die Parameter -o (start opsiclientd service after installation) und -c (use fqdn instead of hostname for smb/cifs connection) habe ich festeingebaut und die Parameter der Methode auf ClientID, Username und Password begrenzt.
Code: Alles auswählen
def deployClientAgent (self, ExtClientId, ExtUser, ExtPassword):
import os
def getch():
os.environ['user'] = ExtUser
os.environ['password'] = ExtPassword
os.environ['clientID'] = ExtClientId
os.system('/opt/pcbin/install/opsi-client-agent/opsi-deploy-client-agent -u $user -p $password -o -c $clientID')
getch()
Unter /etc/opsi/backendManager/extent.d/12_deployAgent.conf anlegen und den Code von oben reinkopieren, opsi-setup --set-rights /etc/opsi ausführen.
Anschließend den configserver mit /etc/init.d/opsiconfd restart neustarten.
Die Methode ist dann direkt via opsi-admin / interface verfügbar.
Parameter: method deployClientAgent ClientId username password
Was lässt sich damit nun anfangen?
Über externe Anwendungen (z.B. PHP Scripte) lassen sich nun einfach neue Clients zu OPSI Hinzufügen und direkt mit dem OPSI-Client versorgen