Hostname durch Opsi ändern

Antworten
Ardero
Beiträge: 10
Registriert: 10 Dez 2020, 10:08

Hostname durch Opsi ändern

Beitrag von Ardero »

Moin zusammen!

Ich suche gerade nach der Möglichkeit, den Hostnames von Windows Clients mithilfe von Opsi zu ändern.
Alle Clients werden bereits mit Opsi verwaltet, sollen nun aber aus verwaltungstechnischen Gründen einen neuen Hostname bekommen.
Aufgrund der Masse der PCs würde ich ungerne jeden per Hand machen wollen, sondern am liebsten ein Opsi Paket haben, welches den Hostnamen in Windows ändert und dann auch in Opsi aktualisiert.
Hat schonmal jemand sowas ähnliches gemacht oder hat eine Idee, wie man das am besten anstellt?
Mein Ansatz wäre mit PowerShell den Hostname zu ändern, aber evtl. hat jemand eine elegantere Lösung.
Jan.Schmidt
Beiträge: 439
Registriert: 08 Jul 2017, 12:02

Re: Hostname durch Opsi ändern

Beitrag von Jan.Schmidt »

Hi,

das will gut überlegt und geplant sein...

Ob du das Umbenamsen des Cliens mit Bauers Hell oder mit

Code: Alles auswählen

wmic computersystem where name="%computername%" call rename="name_neu"
machst, ist dabei eher 3.rangig.

* Hast du einen Wsus? - Wenn ja was passiert mit den "Leichen"
* Hast du sowas wie Teamviewer? - Wenn ja was passiert mit den "Leichen" bzw. können die Leichen deine Lizenz aufblasen.
* Hast du "Leichen", die bei Benutzern rumgammeln und die du nur alle Schaltjahre im Sonnenuntergang siehst?

Wenn du das (und noch viel mehr) geklärt hast...
Bleiben die nummern gleich und nur der Namenskonventionsteil ändert sich?

Ich würde mir eine csv bauen

Code: Alles auswählen

altername;neuername
und die dann im opsiscript abarbeiten
bei den Rechnern, die das Paket bekommen haben dann im OPSI deren Namen anpassen.

Ob es dazu eine opsi-admin methode gibt oder du mit sowas wie (filebackend) /var/lib/opsi/config/clients/horst_alt.ini in horst_neu.ini werkeln mußt -entzieht sich meinem Wissen.
larsg
Beiträge: 283
Registriert: 16 Dez 2014, 18:06

Re: Hostname durch Opsi ändern

Beitrag von larsg »

Das Problem ist ja auch, das dann der Name des Rechners nicht mehr mit dem in OPSI übereinstimmt.
also muss man sowohl in OPSI, als auch in der .conf Datei auf dem Rechner den Namen noch ändern.
Das gleiche natürlich wenn der Rechner in eine andere Domäne umgezogen wird.

Ich hab dafür ein OPSI paket was eigentlich alles in einem macht.

Umbenennen im OPSI Backend ging über OpsiServiceCall mit Aufruf der entsprechenden Methode.

Betonung auf ging, irgendwann wurde offenbar mal wieder irgendwas uib-seitig geändert, jetzt hat der
Rechner scheinbar keine Rechte mehr seinen eigenen Namen zu ändern. Ich hab mich mittlerweile daran
gewöhnt :|

Wir machen es jetzt einfach händisch, hab ein Skript was die Umbenennung von Clients sowohl im Backend
als auch in der Konfiguration auf dem Client vornimmt.

methoden:

Umbenennen im Backend: host_renameOpsiClient

Lesen des aktuellen Werts in der Konfiguration auf dem Client: hostControlSafe_opsiclientdRpc getConfigValue global host_id
Setzen eines Werts in der Konfiguration auf dem Client: hostControlSafe_opsiclientdRpc setConfigValue global host_id
Schreiben der Konfiguration in die Konfigurationsdatei: hostControlSafe_opsiclientdRpc updateConfigFile
Neustarten des Dienstes opsiclientd, damit die Werte neu geladen werden: hostControlSafe_opsiclientdRpc restart

vgl. https://download.uib.de/opsi4.1/experim ... i_API.html
volkera
Beiträge: 16
Registriert: 02 Sep 2016, 15:02

Re: Hostname durch Opsi ändern

Beitrag von volkera »

Guten Morgen,

damit folgender OpsiServiceCall funktioniert

[opsiServiceCall_host_renameOpsiClient]
"method": "host_renameOpsiClient"
"params": [
"$oldClientId$",
"$newClientId$"
]


müssen in der Datei /etc/opsi/backendManager/acl.conf folgende Einträge hinzugefügt werden:

host_renameOpsiClient : sys_group({admingroup}); opsi_depotserver; self
objectToGroup_deleteObjects : sys_group({admingroup}); opsi_depotserver; self

Ich habe das nur auf meinem Testsystem ausprobiert, vielleich reicht auch

host_renameOpsiClient : self
objectToGroup_deleteObjects : self



Den Rechnernamen in der Datei opsiclientd.conf ändern geht z.B. mit:

Patches_opsiclientd_conf "%ProgramFiles32Dir%\opsi.org\opsi-client-agent\opsiclientd\opsiclientd.conf"

[Patches_opsiclientd_conf]
set [global] host_id = $newClientId$



Bleibt noch den Rechnernamen auf dem System selbst zu ändern:

[DosInAnIcon_Host_Rename]
WMIC computersystem where caption='$oldHostName$' call rename '$newHostName$'

Viele Grüße
Alfred
Antworten