Seite 1 von 1

Leere Orgunits, Lokationen und Kostenstellen löschen -Gelöst

Verfasst: 30. Okt 2015, 19:12
von jmaku
Hallo zusammen,

Ich suche ein Skript, mit dem ich leere Ordner in den Organisationseinheiten, Kostenstellen und Lokationen löschen kann - also sobald keine Personen oder sonstiges mehr damit verknüpft sind (Personen und alles weitere aktualisieren wir nächtlich per Importdefinitionen). Hat sowas schon mal jemand gemacht oder eine Idee wie wir das am besten anfangen? Aufgrund unserer Konzernorganisation haben wir über 1500 OUs, da wäre manuell zu aufwändig, zumal wir die Änderungen nur über die Benutzerobjekte mitbekommen.

Für jegliche Tips bin ich dankbar, ansonsten muss ich mich mal auf die Suche machen wie ich das rausbekomme in welcher Tabelle was steht...

Re: Leere Orgunits, Lokationen und Kostenstellen löschen

Verfasst: 02. Nov 2015, 13:20
von Sven_Puth
Soll das denn nun nur einmalig passieren oder passiert sowas ständig?
Vom Verständnis her sollten sich Stammdaten dieser Art doch eigentlich relativ selten ändern, da es hier um organisatorische Dinge geht.

Jedenfalls...Auf Anhieb wären meinerseits 2 Ansätze denkbar:

1. Voll Automatisiert via Workflow und Job oder Aktion:
Ein Workflow der Regelmäßig oder bei Aufruf alle OUs (CCs, LOCs etc.) durchgeht und sie löscht falls keine Verknüpfungen vorhanden sind.

2. Manuelle Hilfe über die Tabellenansicht:
In der Tabelle für OUs (CCs, LOCs, etc.) wird eine Spalte mit einer SUBQUERY hinzugefügt, die die Anzahl sämtlicher Verknüpfter Objekte anzeigt. Auf die kann man dann Filtern und alle Einträge mit 0 löschen.
Ist meiner Meinung nach die Lösung mit der meisten Kontrolle, da beim Löschen ebenfalls nochmal gefragt wird, was mit verknüpften Objekten passieren soll, falls gelöscht wird.

Re: Leere Orgunits, Lokationen und Kostenstellen löschen

Verfasst: 02. Nov 2015, 13:33
von jmaku
Das wird ab und zu mal vorkommen, kann aber manuell erledigt werden - die zweite Lösung klingt schon mal ganz gut, die Subquery wäre wahrscheinlich schon das, was ich auch als SQL-Abfrage hätte laufen lassen.

Wo finde denn die Anzahl der verknüpften Objekte?

Re: Leere Orgunits, Lokationen und Kostenstellen löschen

Verfasst: 02. Nov 2015, 13:39
von Sven_Puth
Am Beispiel der Organisationseinheiten wäre folgendes die Spaltendefinition:

Code: Alles auswählen

=SUBQUERY(SPSCommonClassBase as CNT, COUNT(all,CNT.*), CNT.OU = base.ID)
Einfach entsprechend CNT.OU durch CNT.CostCenter oder CNT.Location ersetzen.

Re: Leere Orgunits, Lokationen und Kostenstellen löschen

Verfasst: 02. Nov 2015, 13:53
von jmaku
Hallo,

funktioniert... super, vielen Dank!