Beschreibung im AD aktualisieren

Antworten
max_daniel
Beiträge: 25
Registriert: 30 Sep 2021, 07:40

Beschreibung im AD aktualisieren

Beitrag von max_daniel »

Guten Morhen an alle,

wir richten die Rechner mit Windows 10 ein und werden diese Rechner dann dem DC mit einer Beschreibung hinzugefügt, das Problem ist, wenn ein Mitabreiter danach die Beschreibung eines PC in OPSI ändert, bleibt die alte Beschreibung in AD, deshalb wollte ich fragen, wie kann ich die Beschreibung im AD auch automatisch ändern lassen, wenn die in OPSI geändert wurde? Natürlich ohne den DC erneut beizutreten!


Vielen Dank!
Daniel Max
Jan.Schmidt
Beiträge: 439
Registriert: 08 Jul 2017, 12:02

Re: Beschreibung im AD aktualisieren

Beitrag von Jan.Schmidt »

moin,

hast du sql als opsi backend?
Keine Angst vor scripten?

Dann kann ich dir helfen.
Das hab ich für uns umgesetzt
max_daniel
Beiträge: 25
Registriert: 30 Sep 2021, 07:40

Re: Beschreibung im AD aktualisieren

Beitrag von max_daniel »

Guten Morgen, Danke für die Antwort, ich freue mich wenn du mir dabei helfen kannst, wir haben schon sql als opsi backend und keine Angst vor Skripten :D

Viele Grüße
Daniel Max
Jan.Schmidt
Beiträge: 439
Registriert: 08 Jul 2017, 12:02

Re: Beschreibung im AD aktualisieren

Beitrag von Jan.Schmidt »

Das ist ein zusammengekürzter und damit ungetesteter Ansatz.

Das Script (das auf dem OPSI läuft) macht deutlich mehr, aber durch das zusammenkürzen auf die Funktion kann ich was unterschlagen haben.

Dann mag da "krude" zusammengezimmert aussehen, das weiß ich - diesen Weg habe ich aber absichtlich gewählt um Spuren zu hinterlassen, was hat das eine Script ausgeworfen und das andere verarbeitet.

Im groben brauchst du eine Freigabe - ich hab die auf dem OPSI Server gemacht - da schreibt der OPSI die Infos für die AD.
Da stehen keine "geheimnisse" drin und daher darf gast da rw
Dürfte der da nur lesen - hätte ich mir die Möglichkeit genommen den Import auf mehrern AD Servern zu machen - denn doppelte imports der gleichen Daten sind nicht mein Steil. Da nehme ich das rwin kauf - das mußt du selber entscheiden.
Der Gast hat leider auch den Vorteil, dass das script als system auf den AD Servrn laufen kann und ich keine Anmeldedaten irgendwo hinterlegen muss.

Ja Teufel -> Belzebub - einen Tod müssen wir alle sterben....
Sei also gewarnt :lol:
"Meine" OPSI Server heissen srv-f-opsixx oder srv-b-opsixx und sind nicht in der Domain -daher werden die per regex unten ausgeklemmt.

OPSI Sever
/etc/fstab hat geschrieben:

Code: Alles auswählen

#tools
/dev/sdb1 /mnt/tools auto rw 0 0
/etc/samba/smb.conf hat geschrieben:

Code: Alles auswählen

[tools]
        admin users = @pcpatch
        comment = tools
        create mask = 0660
        directory mask = 0770
        force user = tools
        guest ok = Yes
        path = /mnt/tools
        read only = No
        write list = @pcpatch tools
Das mußt du anpassen und via crontab auf dem OPSI laufen lassen
/usr/local/bin/opsi2ad.sh hat geschrieben:

Code: Alles auswählen

#/bin/sh

export MYSQL_PWD=DEINOPSIMYSQLPASSWORD
share=/mnt/tools

echo 'select hostId,description from HOST where not hostId REGEXP "srv-[b-f]-opsi";'|mysql -u 'opsi' opsi --skip-column-names>/tmp/opsi_desc.csv
awk '{printf "%s\r\n", $0}' /tmp/opsi_desc.csv > /home/opsi/opsi_desc.ini
sed -i 's|.dipf-intern.de||g' /home/opsi/opsi_desc.ini
sed -i 's|ä|ae|g' /home/opsi/opsi_desc.ini
sed -i 's|ö|oe|g' /home/opsi/opsi_desc.ini
sed -i 's|ü|ue|g' /home/opsi/opsi_desc.ini
sed -i 's|ß|ss|g' /home/opsi/opsi_desc.ini

cp /home/opsi/opsi_desc.ini $share/opsi_desc.ini
Der / Die AD Server - Das da per Aufgabenplanung
ich rate dir -mach ein rem vor die zeile if exist C:\script\opsi2ad\import.cmd call C:\script\opsi2ad\import.cmd und führe die beim ersten mal in einer eigenen dosbox aus, nachdem du dir die cmd mal angeschaut hast - andernfalls kommt eine Waschmaschine bei mir an und deine Firma bekommt die Rechnung!!!
C:\script\opsi2ad\import_computer_desc.cmd hat geschrieben:

Code: Alles auswählen


net use a: \\srv-f-opsi01\tools /user:gast
if exist C:\script\opsi2ad\import.cmd del C:\script\opsi2ad\import.cmd

for /f "tokens=1,*" %%a in ('type A:\opsi_desc.ini') do call :get_cn %%~a "%%b"
cd /d C:\script\opsi2ad
if exist C:\script\opsi2ad\import.cmd call C:\script\opsi2ad\import.cmd
if %time:~0,2% leq 1 del A:\_snipe_it_2_opsi\opsi_desc.ini
net use a: /d /y
goto eof

:get_cn
for /f "delims=" %%a in ('dsquery computer domainroot -name %1') do set cn=%%a
findstr /c:"%cn%" C:\script\opsi2ad\import.cmd || echo dsmod computer %cn% -desc %2>>C:\script\opsi2ad\import.cmd
findstr /c:"%1 %~2" A:\_snipe_it_2_opsi\opsi_desc.ini>A:\_snipe_it_2_opsi\opsi_desc.tmp
move /y A:\opsi_desc.tmp A:\opsi_desc.ini
:eof
max_daniel
Beiträge: 25
Registriert: 30 Sep 2021, 07:40

Re: Beschreibung im AD aktualisieren

Beitrag von max_daniel »

Vielen Dank! Ich werde dies testen.
Jan.Schmidt
Beiträge: 439
Registriert: 08 Jul 2017, 12:02

Re: Beschreibung im AD aktualisieren

Beitrag von Jan.Schmidt »

In Wahrheit landet der ganze Kram auf einem Unterorder A:\_snipe_it_2_opsi\ - da ich vom Snipeit in den opsi und vom opsi in xyz abgleiche
zumindestens in dem windows cmd hab ich den an einer Stelle NICHT von A:\_snipe_it_2_opsi\ zu A:\ umgeändert !!!
Da->

Code: Alles auswählen

findstr /c:"%1 %~2" A:\_snipe_it_2_opsi\opsi_desc.ini>A:\_snipe_it_2_opsi\opsi_desc.tmp
Jan.Schmidt
Beiträge: 439
Registriert: 08 Jul 2017, 12:02

Re: Beschreibung im AD aktualisieren

Beitrag von Jan.Schmidt »

Jan.Schmidt hat geschrieben: 02 Mär 2022, 17:01 Das ist ein zusammengekürzter und damit ungetesteter Ansatz.
... und ich hab den nächsten "klopper" gefunden...

Code: Alles auswählen

write list = @pcpatch tools
Ich mounte das garnicht als gast, sondern als benutzer tools, einen lokalen Benutzer im opsi Server der nix darf, außer rw auf den Ordner...
Antworten