OU des Computer Objektes auslesen und verwerten

Post Reply
User avatar
muelnik
Posts: 205
Joined: 28. Jan 2014, 13:02
Contact:

OU des Computer Objektes auslesen und verwerten

Post by muelnik » 29. Mar 2017, 16:04

Hallo zusammen,

kann ich in einem Paket die OU des jeweiligen Computer Objektes im AD auslesen und als Entscheidungsgrundlage in einer If Schleife verwerten? Hintergrund ist es eine Software, die pro Standort eine kleine aber wichtige Abweichung hat, durch nur ein Paket installieren zu können und somit keine x neuen Zuweisungsgruppen im Empirum bauen zu müssen. Durch das Auslesen der OUs könnten wir die Standorte zuordnen.

Vielen Dank :)
Vielen Dank und Grüße
Niko M.

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 8094
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: OU des Computer Objektes auslesen und verwerten

Post by Hendrik_Ambrosius » 29. Mar 2017, 19:49

Kann man sicherlich. Aber was ist, wenn der Client gerade nicht im Netz ist? Dann schlägt die Abfrage fehl.
Gucken Sie lieber mal in der Variablen-INI des Clients.
i.d.R. gibt es da eine entsprechende Variable wenn sie in der Konsole gepflegt wurde:
ORGANIZATIONAL_UNIT=OU=Germany,OU=EMEA,OU=Global,DC=imagoverum,DC=com
Die kann man dann auch offline lesen und auswerten.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

T.Kliempt
Posts: 15
Joined: 09. Oct 2015, 09:31
Location: Leipzig
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by T.Kliempt » 30. Mar 2017, 07:42

Was mir dabei so noch als Idee einfällt. Verschiedene Standorte haben eventuell verschiedenen IP Adressbereiche. Die lassen sich auswerten.
SET IPADRESSE=GETIP ()
ReplaceEnv IPADRESSE
If Left ("%IPADRESSE%",6) == "10.xxx" Then ....

MFG

User avatar
muelnik
Posts: 205
Joined: 28. Jan 2014, 13:02
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by muelnik » 30. Mar 2017, 08:02

Hendrik_Ambrosius wrote:Kann man sicherlich. Aber was ist, wenn der Client gerade nicht im Netz ist? Dann schlägt die Abfrage fehl.
Gucken Sie lieber mal in der Variablen-INI des Clients.
i.d.R. gibt es da eine entsprechende Variable wenn sie in der Konsole gepflegt wurde:
ORGANIZATIONAL_UNIT=OU=Germany,OU=EMEA,OU=Global,DC=imagoverum,DC=com
Die kann man dann auch offline lesen und auswerten.

Guten Morgen,

ja, meine Idee war es aus dem Inventory, aber wenn der Client neu aufsetzt, steht da ja noch nichts drin. Wo finde ich denn die Variablen-INI und wie werte ich die aus?

Evtl. so?

Code: Select all

If DoesTextInFileExist ("ORGANIZATIONAL_UNIT=OU=Germany,OU=EMEA,OU=Global,DC=imagoverum,DC=com",Variablen-INI) Then "Set:Standort1" Else "Set:Standort2" EndIf
Vielen Dank und Grüße
Niko Müller

User avatar
tgrosch
Posts: 602
Joined: 14. Nov 2007, 16:34
Location: Fulda
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by tgrosch » 30. Mar 2017, 09:56

Wenn dem Client in der EMC eine Variable mit Wert zugewiesen wurde, dann kann man die in der Setup.inf unter [Environment] auslesen und dann weiter verwenden. Der Agent schreibt Variable mit Wert in die .ini Datei, die auf c:\EmpirumAgent\Values\MachineValues\ liegt.

Code: Select all

[Environment]
VM_Variablenname=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,Variablenname%%
Die kann man dann beliebig einbauen:

Code: Select all

Call "%SRC%\Install.exe" /q /h /m"%VM_Variablenname%
Solche Variablen kannst Du einem einzelnen Client zuweisen oder ganzen Gruppen, wenn ihr also eine Konfiggruppe für den Standort habt, dann einfach da eintragen und für alle untergeordneten Clients übernehmen.
Viele Grüße

Tobias
---
Empirum Echtsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.3 und UEM Agent 1905.1
Empirum Testsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.5 und UEM Agent 1906.1
Workplace Management Echtsystem: ServiceStore 9.1.0.2532 - Win 2012 R2
Workplace Management Testsystem: ServiceStore 9.1.0.2532 - Win 2016
MDM: Silverback 18.0.3.27
DB-Server: Win 2012 R2 mit SQL 2014

User avatar
muelnik
Posts: 205
Joined: 28. Jan 2014, 13:02
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by muelnik » 30. Mar 2017, 10:50

tgrosch wrote:Wenn dem Client in der EMC eine Variable mit Wert zugewiesen wurde, dann kann man die in der Setup.inf unter [Environment] auslesen und dann weiter verwenden. Der Agent schreibt Variable mit Wert in die .ini Datei, die auf c:\EmpirumAgent\Values\MachineValues\ liegt.

Code: Select all

[Environment]
VM_Variablenname=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,Variablenname%%
Die kann man dann beliebig einbauen:

Code: Select all

Call "%SRC%\Install.exe" /q /h /m"%VM_Variablenname%
Solche Variablen kannst Du einem einzelnen Client zuweisen oder ganzen Gruppen, wenn ihr also eine Konfiggruppe für den Standort habt, dann einfach da eintragen und für alle untergeordneten Clients übernehmen.


Danke, ich habe jetzt die Variable ORGANIZATIONAL_UNIT genommen, da darin der komplette Baum vom AD abgebildet ist, wo dann auch das Objekt liegt, wäre es noch interessant, wie ich hier in die Abfrage ein "enthält" oder Like reinbringen könnte.

Code: Select all

Hier mal ein Beispielinhalt, ich müsste da nur den Wert Standort_1 abgreifen:

OU=Info_1,OU=Info_2,OU=Standort_1,OU=Land_1,DC=...,DC=...
Vielen Dank und Grüße
Niko M.

User avatar
muelnik
Posts: 205
Joined: 28. Jan 2014, 13:02
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by muelnik » 30. Mar 2017, 11:30

hab gerade gesehen, dass er nur die ersten beiden Buchstaben in die Variable legt und nicht den ganzen Wert, siehe Anhang.
Attachments
VM_OU.png
(8.98 KiB) Downloaded 294 times
Vielen Dank und Grüße
Niko M.

User avatar
tgrosch
Posts: 602
Joined: 14. Nov 2007, 16:34
Location: Fulda
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by tgrosch » 30. Mar 2017, 12:27

Achso, sorry - mein Ansatz war ein anderer:

Je Standort die Variable (in der EMC) befüllen und dann von der Setup.inf auslesen. Dann ist es vom AD her unabhängig, weil es in der computername.ini steht. Es bedeutet natürlich, dass die Variable in der EMC je Standort gepflegt werden muss.

Wenn Du jetzt 300 Standorte hast ist das Aufwand klar. Wenn wir aber von 15 Subdepots reden, ist der Aufwand m.E. überschaubar. Aber klar, das ist halt eine Philosophiefrage.
Viele Grüße

Tobias
---
Empirum Echtsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.3 und UEM Agent 1905.1
Empirum Testsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.5 und UEM Agent 1906.1
Workplace Management Echtsystem: ServiceStore 9.1.0.2532 - Win 2012 R2
Workplace Management Testsystem: ServiceStore 9.1.0.2532 - Win 2016
MDM: Silverback 18.0.3.27
DB-Server: Win 2012 R2 mit SQL 2014

User avatar
muelnik
Posts: 205
Joined: 28. Jan 2014, 13:02
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by muelnik » 30. Mar 2017, 13:19

Also ich hätte in den Variablen der Clients jeweils die korrekte Variable mit den Werten befüllt die ich brauche, aktuell ist nur das Problem, dass ich diese nicht auswerten kann.

Aktuell versuche ich es so:

Code: Select all

If Right ("%VM_OU%", 45) == "OU=Standort1,OU=AUENLAND,DC=Mittelerde,DC=abc" Then "Set:Product_Standort1" EndIf
If Right ("%VM_OU%", 45) == "OU=Standort2,OU=AUENLAND,DC=Mittelerde,DC=abc" Then "Set:Product_Standort2" EndIf
If Right ("%VM_OU%", 45) == "OU=Standort3,OU=AUENLAND,DC=Mittelerde,DC=abc" Then "Set:Product_Standort3" EndIf
If Right ("%VM_OU%", 45) == "OU=Standort4,OU=AUENLAND,DC=Mittelerde,DC=abc" Then "Set:Product_Standort4" EndIf
Mein Problem ist nur, dass mein Paket aktuell statt z.B. OU=Info1,OU=Info2,OU=Standort1,OU=AUENLAND,DC=Mittelerde,DC=abc nur OU als Wert in die Variable setzt.

Die Variable befülle ich so:

Code: Select all

VM_OU=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,ORGANIZATIONAL_UNIT%%
Vielen Dank und Grüße
Niko M.

LightTempler
Posts: 409
Joined: 23. Aug 2010, 13:47
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by LightTempler » 30. Mar 2017, 16:09

Hallo,

wenn der standortabhängige Teil des Pakets relativ unabhängig vom Rest ist, hab ich auch schon nur diesen in Lokationspakete gesteckt, die dann in Abhängigkeit/Reihenfolge passend zum Hauptpaket gestellt sind.
Wir haben pro Lokation ein Depot und eine zugehörige Lokationsgruppe, in der das Depot zugewiesen wird.
So spart man sich die IFs und hat keine Änderungen am Hauptpaket, wenn ein Standort dazu kommt.

Grüße
LiTe

User avatar
muelnik
Posts: 205
Joined: 28. Jan 2014, 13:02
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by muelnik » 30. Mar 2017, 16:12

hab es aktuell so umgesetzt und es funktioniert scheinbar :P

Code: Select all

If DoesTextInFileExist ("OU=Standort1,OU=AUENLAND,DC=Mittelerde,DC=abc","%V_MachineValuesPath%\%ComputerName%.ini") == "1" Then "Set:Product_Standort1" EndIf
Vielen Dank und Grüße
Niko M.

LightTempler
Posts: 409
Joined: 23. Aug 2010, 13:47
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by LightTempler » 30. Mar 2017, 16:27

Und jetzt wissen wir auch endlich, von wem Frodo und Gandald ihre Software verteilt bekommen :lol:

User avatar
muelnik
Posts: 205
Joined: 28. Jan 2014, 13:02
Contact:

Re: OU des Computer Objektes auslesen und verwerten

Post by muelnik » 31. Mar 2017, 08:42

:lol:
Vielen Dank und Grüße
Niko M.

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 8 guests