Hi Autoit-Fans,
ich stehe mal wieder vor einem Problem:
Mittels unten stehender Funktion möchte ich gern aus dem ActiveDirectory Werte auslesen sofern vorhanden.
Leider bricht die Funktion ab, sofern das Array keinen Wert enthält.
Gibt es eine Möglichkeit in der zweiten Dimension den Wert des Arrays, sofern nicht vorhanden zu füllen?
Habe es versucht über if $aProperties[1][1] > "1" then zu lösen - aber AutoIt meckert bereits "Array variable has incorrect number of subscripts or subscript dimension range exceeded."
#include <AD.au3>
#include <Array.au3>
Global $UserList = @ScriptDir & "\UserList.txt"
Global $userName = FileReadToArray($UserList)
;AD Einstellungen
Global $aProperties[1][2]
CheckAD()
Func CheckAD()
;Ausgabeverzeichnis und File
Local $sLogFileAD = @ScriptDir & "\" & "_LogFileAD.txt"
Local $hOpenLFileAD = FileOpen($sLogFileAD, 2)
For $i = 0 to UBound($userName) - 1
MsgBox(0, "", $userName[$i])
_AD_Open()
$aProperties = _AD_GetObjectProperties($userName[$i], "msRADIUSFramedIPAddress")
MsgBox(0, "", $aProperties[1][1])
if $aProperties[1][1] > "1" Then
FileWriteLine($hOpenLFileAD, $userName[$i] & ";" & "keine IP-Adresse")
Else
FileWriteLine($hOpenLFileAD, $userName[$i] & ";" & $aProperties[1][1])
EndIf
Next
FileClose($hOpenLFileAD)
_AD_Close()
EndFunc
Alles anzeigen
Es wird also vorkommen, dass es Nutzer gibt, die Einträge bei "msRADIUSFramdedIPAdress" haben und bei manchen nicht.
Ich möchte einfach alle Nutzer in einer *.txt-Datei nacheinander abfragen und dann in einem Export ausgeben ob sie einen Eintrag haben oder nicht.
Hoffe auf eure Unterstützung.