opsi-deploy-client-agent als OPSI-Methode !
Verfasst: 25 Okt 2013, 14:49
Hi,
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
Wenn ich mal Lust hab mich weiter mit Python zu beschäftigen erweitere ich das vielleicht nochmal. Aber erstmal tut es genau das was es soll 
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.
Anleitung:
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
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