Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst If-Abfrage in VBS

Mitglied: KopfLeer

KopfLeer (Level 1) - Jetzt verbinden

25.04.2007, aktualisiert 26.04.2007, 5687 Aufrufe, 7 Kommentare

...

Hallo,

ich habe folgende Abfrage probiert (die Variable single_ip beinhaltet die IP-Adresse, z.B. 172.31.137.110) :

if single_ip = "172.31.137.116" then
Wscript.echo("172er Netz")
else
Wscript.echo("192er Netz")
end if

Das funktioniert soweit. Ich möchte nun aber nicht gezielt auf EINE IP-Adresse vergleichen, sondern auf einen gesamten Bereich, z.B. 172.31.137.* .

Wie gestalte ich die Abfrage. Bitte um Hilfe eines Wissenden. Vielen Dank.

Tom

//EDIT

Konnte das Problem selbst lösen.

Dim strText As String

strText = "Auto, Motorrad, Fahrrad"

Dim strTeil As String
Wenn man das Wort "Auto" heraustrennen will, nimmt man am besten die "Left" Funktion. Diese Funktion nimmt 2 Argumente entgegen. Den Mustertext und die Anzahl der Zeichen, die herauskopiert werden sollen.

strTeil = Left(strText, 4)

Tom
Mitglied: stiehl
25.04.2007 um 21:26 Uhr
und was machst du, wenn du die IP 172.31.137.1 hast? dann liefert dein befehl "172.31.1" zurück. du musst schon nach dem letzten in dem string vorkommenden punkt suchen und danach alles abschneiden. wie die funktion dazu heisst, weiss ich im moment allerdings auch nicht. oder du baust dir direkt nen regulären ausdruck
Bitte warten ..
Mitglied: KopfLeer
25.04.2007 um 22:32 Uhr
Hallo, ich verstehe nicht ganz wo Du das Problem siehtst. Wenn ich die Funktion strTeil = Left(strText,10) nutze, bleibt mir von dem ursprünglichen Wert (z.B. 172.31.137.100) genau 172.31.137 über. Diesen Wert vergleiche ich dann wieder per IF-Abfrage mit der ursprünglich ermittelten IP-Adresse - wenn das Ergebnis True ist, dann ist der Rechner aus diesem Netz, und zwar egal ob die IP-Adresse 172.31.137.1 oder 172.31.137.100 oder sonst was aus diesem Netzt ist - und das ist genau das was ich wissen will - ob der Rechner aus diesem Netz (maskiert mit 255..255.255.0) ist.

Ich verstehe nicht wie Du darauf kommst das mein Befehl 172.31.1 zurück liefert ???

Tom
Bitte warten ..
Mitglied: stiehl
25.04.2007 um 22:52 Uhr
ups, hatte irgendwie right() gelesen...

naja, für den Anwendungsfall ist es dann OK. Eleganter wäre es halt nur, nach nem Punkt zu trennen und nicht nach ner definierten Anzahl an Zeichen. Damit könntest du dann auch verschieden lange IP-Adressen untersuchen
Bitte warten ..
Mitglied: Biber
25.04.2007 um 22:54 Uhr
Moin Kopfleer,

was stiehl richtigerweise meint ist, dass Dein Algorithmus wackelig ist, weil er fest verdrahtet 10 Zeichen vor dem letzten Token unterstellt.

Dabei kann theoretisch aus mal statt einer IP 172.31.137.xxx aich eine IP 10.10.1.xxx dabeisein.

Oder, um Dein Beispiel von oben noch mal zu bemühen:
01.
'lastcommaDemo.vbs 
02.
strText1 = "Auto, Motorrad, Fahrrad" 
03.
wscript.echo "strText1: " & strText1 
04.
wscript.echo "Left(strText1,4): " & Left(strText1,4) 
05.
strText2 = "Motorrad, Fahrrad, Auto" 
06.
wscript.echo "strText2: " & strText2 
07.
wscript.echo "Left(strText2,4): " & Left(strText2,4) 
08.
 
09.
lastcommapos=InstrRev(strtext1, ",") 
10.
wscript.echo "letztes Token Strtext1: " & Mid(StrText1,lastcommapos+1) 
11.
lastcommapos=InstrRev(strtext2, ",") 
12.
 
13.
wscript.echo "letztes Token Strtext2: " & Mid(StrText2,lastcommapos+1)
01.
>cscript //nologo e:\lastCommaDemo.vbs 
02.
strText1: Auto, Motorrad, Fahrrad 
03.
Left(strText1,4): Auto 
04.
strText2: Motorrad, Fahrrad, Auto 
05.
Left(strText2,4): Moto 
06.
letztes Token Strtext1:  Fahrrad 
07.
letztes Token Strtext2:  Auto
--->wenn Du erst die Position des letzten Kommas in "Auto, Motorrad, Fahrrad" oder die Position des letzten Punkts in einer IP ermitteltst, dann wird es flexibler und allgemeiner verwendbar.

Gruss
Biber
Bitte warten ..
Mitglied: KopfLeer
25.04.2007 um 22:57 Uhr
Hi, ist mir später auch eingefallen das Du vielleicht von rechts gezählt haben könntest. Mit dem Punkt zu trennen (also nach dem dritten Octett) wäre natürlich noch eleganter. Aber in meinem Fall ist das so ausreichend. Tom
Bitte warten ..
Mitglied: KopfLeer
25.04.2007 um 23:43 Uhr
Hi Biber,
vielen Dank - einen großen Baumstamm für Dich . Die einfache Variante die ich oben geschrieben habe, habe ich zwar jetzt bereits in meinem Script verbaut, aber ich werde Deinem Vorschlag folgen und dementsprechend mein Script ändern - einfach nur weil es Spaß macht das "ordentlich" zu machen.

Aber es ist in meinem Fall eigentlich wirklich nicht nötig, da ich nur die Rechner mit dem Script erwischen will die 172.31.137.xxx als IP haben - alle anderen Rechner mit anderen IP's aus anderen Netzen interessieren mich nicht. Und die erreiche ich auch mit meiner Lösung sicher.

Ich habe es nun so gemacht gehabt :
single_ip = 172.31.137.14 (wird natürlich im Script ermittelt)
single_net = Left(single_ip,10)
if single_net = "172.31.137" then
Wscript.echo("Für Rechner die hierzu passen wird hier was gemacht")
else
single_net = Left(single_ip,7)
if single_net = "192.168" then
Wscript.echo("Rechner aus dem 192er Netz, die aber nicht interessieren.")
end if
end if

Viele Grüße

Tom
Bitte warten ..
Mitglied: Biber
26.04.2007 um 08:15 Uhr
Moin Kopfleer,
einfach nur weil es Spaß macht das "ordentlich" zu machen.

FULL ACK. Du hast den Sinn und Zweck dieses Forums verstanden.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
VB for Applications
If exist - if not exist in .vbs - Datei
gelöst Frage von Komoran12VB for Applications24 Kommentare

Moin, moin, vielleicht hat jemand ja einen Tipp für mich. Mit nachfolgender .vbs lasse ich mir einen Messagebox ausgeben: ...

Windows 7
If Abfrage in Batchdatei
gelöst Frage von sammy65Windows 76 Kommentare

Hallo miteinander, ich möchte eine cfg.Datei in ein Verzeichnis kopieren. Da ich sowohl Windows 7 32 bit und 64 ...

Entwicklung
Verschachtelte IF Abfrage Powershell
gelöst Frage von HanutaEntwicklung19 Kommentare

Hallo Zusammen, habe ein Programm, das es in verschiedenen Versionen gibt 4.5.0 4.5.3 4.6.2 4.6.3 Das Programm soll überall ...

C und C++
IF Abfrage funktioniert nicht mehr
gelöst Frage von pablovicC und C++2 Kommentare

Hallo Ich habe eine Frage zu einem, zu Übungszwecken, geschriebenen Programm und zwar handelt es sich um einen Rechenprogramm, ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 2 TagenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 3 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein interessanter Beitrag dazu: Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10 Anscheinend ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 3 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1016 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)12 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Server-Hardware
Server für Exchange 2016, Kaufberatung
Frage von MazenauerServer-Hardware10 Kommentare

Guten Tag werte Gemeinde, Vorab: Ich dachte es gab mal einen separaten Bereich für solche Anfragen, habe ich leider ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall10 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...