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

string in array suchen

Mitglied: larty81

larty81 (Level 1) - Jetzt verbinden

22.10.2008, aktualisiert 30.10.2008, 5655 Aufrufe, 4 Kommentare

Hallo,

ich habe mir folgendes zusammen gebaut um aus einem array einen string der die ip adresse eines bestimmten adapters enthält auszulesen, vorher setze ich noch die bedingung dass diese ip aus einem bestimmten adressbreich kommt:


Set objNetwork = WScript.CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("SELECT IPAddress " & _
"FROM Win32_NetworkAdapterConfiguration " & _
"WHERE IPEnabled=TRUE")

For Each objItem In colItems
If Not IsNull(objItem.IPAddress) Then
For i = LBound(objItem.IPAddress) To UBound(objItem.IPAddress)
if objItem.IPAddress(i) like "172.16." Then
WScript.Echo("IP-Adresse: " & objItem.IPAddress(i) & " gefunden.")
else WScript.Echo("No Match.")
end if
next
End if
Next


nun meine frage: warum bekommen ich immernoich die ausgabe "IP-Adresse: 172.16.irgendwas gefunden" auch wenn ich den adressbereich ändere, meinetwegen auf "if objItem.IPAddress(i) like "232.16."" setze?


bin noch absoluter vbs noob, kann es daher nich wirklich nachvollziehen, sorry

danke schonmal im voraus!
Mitglied: bastla
22.10.2008 um 12:26 Uhr
Hallo larty81 und willkommen im Forum!

nun meine frage: warum bekommen ich immernoich die ausgabe "IP-Adresse: 172.16.irgendwas gefunden" auch wenn ich den adressbereich ändere, meinetwegen auf "if objItem.IPAddress(i) like "232.16."" setze?
Die Antwort erhältst Du, wenn Du "On Error Resume Next" entfernst (was während der Testphase eines Scripts generell anzuraten ist).

Du wirst dann auf den Fehler in Zeile 18 hingewiesen (BTW: wenn Du Code-Formatierung verwendest, lässt sich in Deinem geposteten Script die Zeile 18 leichter finden) - VBScript kennt nämlich kein "Like". Anstelle dessen kannst Du InStr() oder Left() verwenden.

Eine Alternative zur "Vergleichs"-Schleife könnte übrigens so aussehen:
01.
For Each objItem In colItems 
02.
    If Not IsNull(objItem.IPAddress) Then 
03.
        If InStr(Join(objItem.IPAddress), "192.168.") > 0 Then 
04.
            WScript.Echo("IP-Adresse: " & objItem.IPAddress(i) & " gefunden.") 
05.
        Else 
06.
            WScript.Echo("No Match.") 
07.
        End If 
08.
    End If 
09.
Next
Grüße
bastla
Bitte warten ..
Mitglied: larty81
23.10.2008 um 15:13 Uhr
vielen Dank für die schnelle Hilfe!! bin soweit auch ordentlich vorwärts gekommen..

01.
Set objNetwork = WScript.CreateObject("WScript.Network") 
02.
strComputer = objNetwork.ComputerName 
03.
 
04.
On Error Resume Next 
05.
 
06.
Const wbemFlagReturnImmediately = &h10 
07.
Const wbemFlagForwardOnly = &h20 
08.
 
09.
 
10.
 
11.
   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
12.
 
13.
   Set colItems = objWMIService.ExecQuery("SELECT IPAddress " & _ 
14.
        "FROM Win32_NetworkAdapterConfiguration " & _ 
15.
        "WHERE IPEnabled=TRUE") 
16.
		 
17.
   Set colItems1 = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter Where NetConnectionStatus = 2")	 
18.
 
19.
For Each objItem In colItems  
20.
    If Not IsNull(objItem.IPAddress) Then  
21.
        If InStr(Join(objItem.IPAddress), "172.16.") > 0 Then  
22.
            WScript.Echo("IP-Adresse: " & objItem.IPAddress(i) & " gefunden.") 
23.
            For Each objItem1 in colItems1 
24.
             if objItem1.NetConnectionID = "LAN-Verbindung" and InStr(Join(objItem.IPAddress), "172.16.") > 0   then  
25.
               MsgBox "Verbindungsname = LAN-Verbindung" 
26.
             else 
27.
                  msg = "NW-Verbindung in LAN-Verbindung umbenennen?"    
28.
                  title = "NW-Verbindung umbenennen" 
29.
                  If MsgBox(msg, 4, title) = vBYes Then    
30.
                  lanvar = "netsh interface set interface name = " & objItem1.NetConnectionID  & " newname = LAN-Verbindung {Enter}"  
31.
                  set ws = CreateObject("Wscript.shell")  
32.
                  ws.sendkeys(lanvar) 
33.
                  MsgBox "Verbindung in LAN-Verbindung umbenannt" 
34.
                Else 
35.
                  MsgBox "Abbruch durch Benutzer" 
36.
                End If 
37.
 
38.
             end if    
39.
            Next 
40.
        Else  
41.
            WScript.Echo("Keine passende IP gefunden.")  
42.
        End If 
43.
		 
44.
    End If  
45.
Next
nur: warum wird die lan-verbindung unter win2000 nicht umbenannt, sonder nur die meldung "Verbindungsname = LAN-Verbindung"? unter xp funkt das script wie es soll.

wenn ich "On Error Resume Next" auskommentiere bekomm ich nen fehler in zeile 23 angezeigt mit dem fehlercode "0x80041017"


kann es daran liegen dass ich zwei verschiedene klassen abfrage?! hab nur ne ahnung, keinen wirklichen plan... help pls!
Bitte warten ..
Mitglied: larty81
30.10.2008 um 10:51 Uhr
hab rausgefunden das viele probleme dabei haben unter win2k die Eigenschaft "NetConnectionStatus" aus der Klasse "Win32_NetworkAdapter" in der query auszulesen, es soll sich durch einen syntax-fehler in der query bemerkbar machen - das tut es auch in meinem script, aber wie gesagt eben nur unter win2k.

hat jemand mal was davon gehört bzw weiß was man dagegen machen kann? ohne den ConnectionStatus ist das gesamte script hinfällig...
Bitte warten ..
Mitglied: bastla
30.10.2008 um 11:05 Uhr
Hallo larty81!

Hierher verirrt sich vermutlich kaum jemand (außer uns beiden )- Du solltest daher besser einen neuen Thread zum Thema "ConnectionStatus" eröffnen - auch, weil ich leider dazu auch keine Idee habe ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
PowerShell Array Elements zum String
gelöst Frage von derhoeppiBatch & Shell1 Kommentar

Hallo, ich stehe vor folgender Herausforderung. Nachdem ich nun erfolgreich zwei Arrays vergleichen kann in dem ganze Zahlen stecken, ...

C und C++

String einlesen in Array und wieder ausgeben von hinten

Frage von ProtectedC und C++4 Kommentare

Hallo, ich würde gerne einen String einlesen bzw. char und dann andersrum wieder ausgeben. Also: Otto Maoam zu: maoaM ...

Batch & Shell

PowerShell String zerlegen in Array, DataTable, Hashtable speichern

gelöst Frage von derhoeppiBatch & Shell7 Kommentare

Guten Morgen, leider habe wieder ein Thema beim zerlegen eines Strings. Folgendes Problem: Die Rückgabe eines Admintools liefert mir ...

Batch & Shell

Powershell String Suchen mit Wildcard und Ersetzen

gelöst Frage von herrmanndominicBatch & Shell6 Kommentare

Hallo zusammen, ich bräuchte Unterstützung bei einem Powershell Script. Ich habe ein Java Rollout per GPO über ein PowerShell ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...