An dieser Stelle ein dickes Danke für die Lösungsvorschläge!
Auf die Idee den String/Array Inhalt umzudrehen hätte ich auch kommen können, aber manchmal ist man wohl einfach blind....
Danke!
An dieser Stelle ein dickes Danke für die Lösungsvorschläge!
Auf die Idee den String/Array Inhalt umzudrehen hätte ich auch kommen können, aber manchmal ist man wohl einfach blind....
Danke!
Hallo,
ich habe ein Array das ein Abbild einer Ordnerstruktur enthält zb:
\\asdf\jkl\dsl\tzu\567\Autodesk-Viewer-2013\
\\asdf\jkl\dsl\tzu\567\Autodesk-Viewer-2013\Autodesk Viewer 2013 Icons\
\\asdf\jkl\dsl\tzu\567\-GoogleChrome\
\\asdf\jkl\dsl\tzu\567\-GoogleChrome\Chrome Icons\
Und ich möchte jeweils die den letzten Ordner erhalten, sprich zb
\\asdf\jkl\dsl\tzu\567\Autodesk-Viewer-2013\ => Autodesk-Viewer-2013
\\asdf\jkl\dsl\tzu\567\Autodesk-Viewer-2013\Autodesk Viewer 2013 Icons\ => Autodesk Viewer 2013 Icons
\\asdf\jkl\dsl\tzu\567\GoogleChrome\ => GoogleChrome
\\asdf\jkl\dsl\tzu\567\GoogleChrome\Chrome Icons\ => Chrome Icons
Wenn ich jetzt jedoch per
[autoit]StringInStr($list[$i], "\", 0, -1, 1)
[/autoit]
nach dem vorletztem Backslash suche, dann erhalte ich irgendwie nur "2" als Rückgabe.
Hättet ihr einen Tipp, wie ich zum gesuchten komme?
Vielen Dank!
Hat sich erledigt, ich hatte einen Zahlendreher drinnen.
Danke für die Hilfe!
Folgende Aufbau funktioniert:
[autoit]
$ip3 = String("10.164.90.35")
Local $wmi_obj = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $ip3 & "\root\WMI")
If IsObj($wmi_obj) = 1 Then
MsgBox(4096, "Juhuuuu", "Test erfolgreich", 10)
EndIf
Folgender Aufbau funktioniert nicht (liefert kein Obj)
[autoit]
$ip1 = "90"
$ip2 = "35"
$ip3 = "192.168." & $ip1 & "." & $ip2
Local $wmi_obj = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $ip3 & "\root\WMI")
If IsObj($wmi_obj) = 1 Then
MsgBox(4096, "Juhuuuu", "Test erfolgreich", 10)
EndIf
$wmi_obj liefert bei mir einfach nichts zurück, wenn ich die IP zusammenbauen lasse.,
$ip3 = "192.168." & $ip1 & "." & $ip2
Das der Timeout Problem ist mit bewusst und in diesem Falle völlig egal, da die Zeit vorhanden ist.
Guten Morgen,
ich möchte per WMI von einem bestimmten IP Bereich div. Infos auslesen, jedoch habe ich Probleme mit der IP Variable:
[autoit]For $ip1 = 90 To 94 Step +1
For $ip2 = 35 To 254 Step +1
$ip3 = "192.168." & $ip1 & "." & $ip2 ;diese Konstruktion funktioniert nicht
$ip3 = "10.164.90.35" ;diese Konstruktion funktioniert
Local $wmi_obj = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $ip3 & "\root\WMI")
If IsObj($wmi_obj) = 1 Then
MsgBox(4096, "Juhuuuu", "Test erfolgreich", 10)
EndIf
Next
Next
Ich bräuchte somit Hilfe wie ich die Variable $ip3 richtig definiere.
Vielen Danke!
Die Abfrage is falsch da Zahlen immer true sind.
Statt If $sVar = 1 or 3
muss da If $sVar = 1 or $sVar = 3 hin.
Alternativ tuts ein Switch auch.
*Kopf gegen Tisch knall*
Besten Dank, das war es auch schon!
Hallo Leute,
kaum hat das neue Jahr begonnen und ich stehe schon das erste Mal an
Der Reg Eintrag unter \HKEY_LOCAL_MACHINE\SOFTWARE\SIP Company beinhaltet einen von folgenden Werten: K2221, K2222, K22223, K22224, K22225, K22226, K22227, K22228, K22229, K22230
Das "K" kann vor den Zahlen stehen muss aber nicht immer, daher schneide ich es weg.
$company = RegRead("" & $computer & "\HKEY_LOCAL_MACHINE\SOFTWARE\SIP", "Company")
If StringLower(StringLeft($company, 1)) = "k" Then
$company = StringRight($company, 4)
EndIf
If $company = "2221" Or "2222" Or "2223" Or "2224" Or "2225" Then
$empfaenger = "A"
GUICtrlSetState($nic_radio1, $GUI_CHECKED)
ElseIf $company = "2226" Or "2227" Or "2228" Or "2229" Then
$empfaenger = "B"
GUICtrlSetState($nic_radio3, $GUI_CHECKED)
ElseIf $company = "2230" Then
$empfaenger = "C"
GUICtrlSetState($nic_radio3, $GUI_CHECKED)
EndIf
Der Regwert wird ausgelesen und die Filterfunktion/Schneidefunktion funktioniert auch wie erwartet, jedoch liefert mir das zweite If immer $empfaenger = "A" zurück.
Ganz egal ob ich die Zahlen in Anführungszeichen setze oder nicht, immer wird $empfaenger = "A" zurück geliefert.
Vielen Dank für die Hilfe!
Die Syntaxhervorhebung und die Fehlermeldung sagen dir eigentlich schon, an welcher Stelle bei dir das Problem mit den Anführungszeichen besteht.
Manchmal ist man wohl einfach ein wenig blind...
Vielen Dank, funktioniert so!
Hallo zusammen,
ich würde gerne die eingetragenen Admins eines PCs per WMI auslesen.
Unter VB sieht die Abfrage so aus:
"select * from Win32_GroupUser where GroupComponent = " & chr(34) & "Win32_Group.Domain='" & strComputerName & "',Name='Administrators'" & Chr(34)
Bereinigt:
SELECT * FROM Win32_GroupUser WHERE GroupComponent = "Win32_Group.Domain='PCNAME',Name='Administrators'"
Mir ist nicht ganz klar wie ich die Klammern genau setzen muss, damit die Abfrage als ganzes an den WMI Dienst geschickt wird.
[autoit]
$cmpname = @ComputerName
$wmi_obj = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & @ComputerName & "\root\cimv2")
$wmi_adm = $wmi_obj.ExecQuery('"SELECT * FROM Win32_GroupUser WHERE GroupComponent = "Win32_Group.Domain=' & $cmpname & ',Name='Administrators'""')
Derzeit sieht die Fehlermeldung so aus:
W:\***\Admins.au3 (10) : ==> Missing separator character after keyword.:
$wmi_adm = $wmi_obj.ExecQuery('"SELECT * FROM Win32_GroupUser WHERE GroupComponent = "Win32_Group.Domain=' & $cmpname & ',Name='Administrators'""')
$wmi_adm = $wmi_obj.ExecQuery('"SELECT * FROM Win32_GroupUser WHERE GroupComponent = "Win32_Group.Domain=' & $cmpname & ',Name='Administrators^ ERROR
Vielen Dank!
Bei vielen Webhostern ist der Datenbankserver von außen nicht erreichbar, solltest du vielleicht vorab klären.
Danke!
Oft ist die Lösung zu offensichtlich, dass man sie sieht.
(Code konnte ich zwar noch keinen schreiben, aber der Lösungsweg passt, somit setze ich das ganze mal auf gelöst.)
Noch mal ein dickes Danke und noch einen schönen Abend!
Huhu,
danke für die Antwort.
Das Tool/Script kannte ich bisher noch nicht und hatte bisherige WMI Abfragen händisch erstellt. (geht also auch ohne )
Das erste Script bricht jedoch gleich hier ab:
(51) : ==> The requested action with this object has failed.:
$strIPSecPermitIPProtocols = $objItem.IPSecPermitIPProtocols(0)
$strIPSecPermitIPProtocols = $objItem.IPSecPermitIPProtocols(0)^ ERROR
Tante EDIT sagt:
Win32_NetworkAdapterConfiguration.IPAddress liefert die IPv6
Win32_NetworkAdapterConfiguration.IPAddress(0) liefert die IPv4
gerade in einer VBS von MS gefunden
Damit wäre das IPv4 Problem gelöst, benötige ich nur mehr das "Zusammenspiel" der beiden WMI Abfragen.
Hallo zusammen,
ich habe die letzten Tage in die Entwicklung eines Scriptes gesteckt, welche diverse Computerdaten per WMI abfragt.
Läuft auch alles soweit ganz gut, nur stehe ich jetzt vor einem kleinen Problem
Ich benötige folgende Daten der Netzwerkkarten(LAN + WLAN):
Benötigte Daten: Quelle
Name: Win32_NetworkAdapterConfiguration.Description
MAC: Win32_NetworkAdapterConfiguration.MACAddress und auch in Win32_NetworkAdapter.MACAddress zu finden
DHCP(ob IP statisch oder per DHCP): Win32_NetworkAdapterConfiguration.DHCPEnabled
IPv4: ???
Geschwindigkeit: Win32_NetworkAdapter.Speed
Konfiguration(ob Geschwindigkeit auto oder händisch eingestellt wurde): ???
Anmerkung: Win32_NetworkAdapterConfiguration.IPAddress liefert mit leider nur die IPv6 obwohl ich in einem IPv4 Netzwerk bin. (IPv4 Problem GELÖST)
Wie könnte ich die Informationen vom Win32_NetworkAdapterConfiguration mit Win32_NetworkAdapter verknüpfen? Als einziges würde mir die MAC einfallen, da diese bei beiden angegeben ist.
Falls es richtig sein sollte, wie stelle ich das ganze an?
Woher könnte ich die fehlenden Infos (=???) beziehen?
Über einen Schups in die richtige Richtung wäre ich dankbar
Mit dankendem Gruß,
Lausbube
Hier noch die Links zu den entsprechenden WMI MSDN Seiten:
Win32_NetworkAdapterConfiguration
Win32_NetworkAdapter
IPv6 and IPv4 Support in WMI
ich würde mal sagen, es liegt daran, dass $tab5radio1 ein Handle enthält und "$tab5radio" & $var ergibt nur ein String.
Daran wirds wohl liegen.
Hätte ich auch selbst darauf kommen können
Alles anzeigenHallo Lausbube,
wenn du Variblen über ihren Namen ansprecchen willst musst du
[autoit]eval
[/autoit]benutzen, also so:
[autoit]$var = 1
[/autoit]
GUICtrlRead(Eval("tab5radio" & $var))mfg autoBert
Funktioniert!
Vielen Dank für die Antworen und Lösungsvorschläge!
Nabend
Könnte mir bitte jemand erklären wo der Unterschied zwischen
[autoit]GUICtrlRead($tab5radio1)
[/autoit]und
[autoit]$var = 1
GUICtrlRead(("$tab5radio" & $var))
liegt.
Die erste Variante liefert die korrekte Rückgabe, die zweite immer Null.
Vielen Dank schon mal im Vorraus.
Vielen Dank!
Hatte ich leider nicht gefunden
Hallo liebe Scripter
Ich suche eine Funktion die mir eine binäre Zahl mit einer Größe von 1 Byte in eine hexadezimale wandelt.
Beispiel:
10010101b sollte zu 95h gewandelt werden
Vielen Dank