IP-Adresse spliten

Antworten
Cherry
Beiträge: 343
Registriert: 13 Apr 2010, 15:29

IP-Adresse spliten

Beitrag von Cherry »

Guten Morgen,

ich möchte den 3. Bereich der IP rausfiltern z. B. bei 192.168.178.3 die 178. Wie sollte ich das am besten machen.
Ich kenne in Opsi das takeString(splitstring), aber wie lese ich von Opsi die Ip aus.
Im moment würde ich die IP so einlesen:
ipconfig /all | findstr "IPv4-Ad" > C:\tmp\a.log
und von a.log mittels einer StringList wieder zu Opsi reinholen.
Gibt es eine bessere Lösung?

Danke und schöne Grüße
erwinr
Beiträge: 104
Registriert: 25 Feb 2009, 10:08

Re: IP-Adresse spliten

Beitrag von erwinr »

Hi,

leider sagen Sie nicht, in welchem Kontext Sie die IP-Adresse herausfinden wollen.
Daher hier 2 Möglichkeiten:

1. Auf der Linux-Kommandozeile (am OPSI-Server):

Code: Alles auswählen

opsi-admin -d method getIpAddress pcname.domain.tld 
oder
2. In einem Winst-Script:

Code: Alles auswählen

GetMyIpByTarget
zB:

Code: Alles auswählen

set $CompValue$ = getMyIpByTarget("%opsiServer%")
Obiges Beispiel und Funktionen zum Zersplittern des Strings finden Sie in der Winst-Dokumentation, hier:
http://download.uib.de/opsi4.0/doc/html ... ons-others

Gruß, E.R.
Cherry
Beiträge: 343
Registriert: 13 Apr 2010, 15:29

Re: IP-Adresse spliten

Beitrag von Cherry »

Hallo,

danke, für die Antwort.
Ich möchte die IP des Rechners auslesen, auf dem das Opsi Paket gerade installiert wird.
Und dann anhand dieses 3. Bereiches einen Regkey ausführen.

Kann ich mit "GetMyIpByTarget" auch die IP des eigenen Rechners rausfinden, also auf dem das Script gerade ausgeführt wird?

Danke
Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: IP-Adresse spliten

Beitrag von tobias »

Cherry hat geschrieben:Hallo,

danke, für die Antwort.
Ich möchte die IP des Rechners auslesen, auf dem das Opsi Paket gerade installiert wird.
Und dann anhand dieses 3. Bereiches einen Regkey ausführen.

Kann ich mit "GetMyIpByTarget" auch die IP des eigenen Rechners rausfinden, also auf dem das Script gerade ausgeführt wird?

Danke
Wie erwinr oben schreibt mit GetMyIpByTarget. Das ist ein WINST befehl.
Splitten kannst du mit set
$list1$ = splitString ("192.168.178.3", ".")

dandurch erhälst du eine strinliste welche die werte
192
168
178
3

enthält. Nun kannst du mit einer abfrage schauen was im 3. oktet der IP adresse steht und entscheiden ob du was in die registry schreibst oder nicht :)
OpsiBenutzer
Beiträge: 15
Registriert: 16 Jul 2013, 09:48

IP-Adresse spliten

Beitrag von OpsiBenutzer »

Hallo tobias,

jetzt muss ich nochmal deinen Post aufgreifen, da ich aktuell wieder vor dem Problem stehe eine IP zu splitten. Das splitten mit reinem Text funktioniert, aber wenn ich die IP in eine Variable einlese und dann splitte, funktioniert es nicht.

z. B.
set $CompValue$ = getMyIpByTarget("%opsiServer%")
$list1$ = splitString ($CompValue$, ".")
----> erscheint ein Syntaxfehler

wenn ich jedoch die Variable in der Methode splitString in Anführungszeichen setze, wird versucht den Namen $CompValue$" zu splitten.

set $CompValue$ = getMyIpByTarget("%opsiServer%")
$list1$ = splitString ("$CompValue$", ".")

Hast du noch eine Idee wie man das am besten lösen kann?

Vielen Dank.
Zuletzt geändert von OpsiBenutzer am 07 Apr 2014, 14:59, insgesamt 2-mal geändert.
Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: IP-Adresse spliten

Beitrag von tobias »

Du musst eine String Liste nehmen und keine Variable ;)

wobei halt verlesen. Müsste eigtl. so gehen... ich probiers grade mal bin mir nicht sicher :D
Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: IP-Adresse spliten

Beitrag von tobias »

Getestet so gehts:

Code: Alles auswählen

[Actions]
DefVar $CompValue$
DefStringList $list1$

set $CompValue$ = getMyIpByTarget("153.96.112.1")
set $list1$ = splitString ($CompValue$,".")

message takeString(2,$list1$)
OpsiBenutzer
Beiträge: 15
Registriert: 16 Jul 2013, 09:48

[GELÖST] IP-Adresse spliten

Beitrag von OpsiBenutzer »

Hallo,

klasse, so gehts.

Vielen herzlichen Dank. :)

LG
Antworten