Hallo zusammen ,
ich schon wieder - aber seit gestern nachmittag kämpfe ich mit meinem Problem und komme(trotz Suche im Forum) nicht so recht weiter.
Problem:
ich habe 2 Dateien in denen jeweils das Ergebnis einer Query (spez. Gruppenmitgliedschaften) auf je ein Active Directory stehen.
Diese lese ich jeweils in ein Array - trim die Einträge, sodass sich diese auf die reinen Gruppennamen redutieren.
Soweit - sogut
Jetzt möchte ich die beiden Arrays vergleichen und als Ergebnis angezeigt bekommen, welche Einträge in Array 2 fehlen.
Wobei Array1 ($aRecordsADS) sozusagen der Master ist - also die Vorgabe ist, gegen das mit dem Array2 ($aRecordsVF) geprüft wird.
Ergebnis wären dann die in Array2 ($aRecordsVF) nicht vorhandenen Einträge bzw. welche Einträge sind Array1 ($aRecordsADS) mehr vorhanden. (Ich hoffe mal das kann man verstehen).
Den Teil des Scripts, indem ich auf Fehler laufe , habe mal 'auskommentiert'
(Wobei ich nicht sicher bin, ob der Ansatz überhaupt so richtig ist)
Vielleicht weiss ja jemand Rat bzw. kann helfen
Danke schon einmal im voraus
[autoit]
#include <file.au3>
#include <array.au3>
Dim $aRecordsVF, $aRecords2VF, $aRecordsADS, $aRecords2ADS, $aResult
[/autoit][autoit][/autoit][autoit];read file1 - sort array - trim records - display array
If Not _FileReadToArray("adsGroups.txt",$aRecordsADS) Then
MsgBox(4096,"Error", " Error reading log to Array error:" & @error)
Exit
EndIf
_ArraySort($aRecordsADS)
for $i = 1 to $aRecordsADS[0]
$aRecords2ADS = StringSplit(StringReplace($aRecordsADS[$i], "CN=", ""), ",")
$aRecordsADS[$i] = $aRecords2ADS[1]
Next
_ArrayDisplay($aRecordsADS, "Liste Groups ADS")
;read file2 - sort array - trim records - display array
If Not _FileReadToArray("vfGroups.txt",$aRecordsVF) Then
MsgBox(4096,"Error", " Error reading log to Array error:" & @error)
Exit
EndIf
_ArraySort($aRecordsVF)
for $i = 1 to $aRecordsVF[0]
$aRecords2VF = StringSplit(StringReplace($aRecordsVF[$i], "CN=", ""), ",")
$aRecordsVF[$i] = $aRecords2VF[1]
Next
_ArrayDisplay($aRecordsVF, "Liste Groups VF")
;HIER KOMME ICH LEIDER NICHT WEITER - START
;Global $r = 0
;For $i = 1 To $aRecordsVF[0]
; Local $index
; $index = _ArraySearch($aRecordsADS, $aRecordsVF[$i])
; If $index <> 0 Then
; $aResult[$r] = $aRecordsADS[$i]
; $r = $r + 1
; EndIf
;Next
;_ArrayDisplay($aResult, "Ergebnis der Suche")
;HIER KOMME ICH LEIDER NICHT WEITER - ENDE
;FEHLERMELDUNG:
;==> Subscript used with non-Array variable.:
;$aiResult[$r] = $aRecordsVF[$i]
;$aiResult^ ERROR
mfg
ugt100 ![]()