perfekt.... läuft
wenn er keine namen findet, kommt ein error, kann man das mit einer Message abfangen und sagen "name nicht gefunden" und wieder zur Eingabe zurück...?
perfekt.... läuft
wenn er keine namen findet, kommt ein error, kann man das mit einer Message abfangen und sagen "name nicht gefunden" und wieder zur Eingabe zurück...?
So vielleicht?
[autoit]#include <AD.au3>
Global $sName = "", $sTitle = "Telefonnummernabfrage"
_AD_Open()
While 1
While $sName = ""
$sName = InputBox($sTitle, "Bitte geben Sie den zu suchenden Familiennamen ein." & @CRLF & "* als Platzhalter erlaubt.")
If @error = 1 Then Exit
WEnd
If @error Then Exit MsgBox(16, $sTitle, "Error: " & @error & " bei Erstellung der Verbindung zum Active Directory!")
Global $asResult = _AD_GetobjectsInOU("", "(name=" & $sName & "*)", 2, "name, telephoneNumber,mobile")
Select
Case @error = 0
_ArrayDisplay($asResult)
Case @error = 3
MsgBox(16, $sTitle, "Name '" & $sName & "' wurde nicht gefunden!")
Case Else
MsgBox(16, $sTitle, "Error: " & @error & " bei Abfrage nach Name '" & $sName & "'!")
EndSelect
$sName = ""
WEnd
_AD_Close()
okay... wird abgefangen....
könnten man die Bezeichnungen Col 0 Col 1 usw noch in "Namen" "Tele Büro" und "Handy" ändern....?
ich habe mir das mla angeguckt, verstehe es wohl nicht. Habe auch nocht nichts mit arrays gemacht.....
bin mir nicht sicher ob ich was mit "dim array" machen muss......
gruß
So?
[autoit]#include <AD.au3>
Global $sName = "", $sTitle = "Telefonnummernabfrage"
_AD_Open()
While 1
While $sName = ""
$sName = InputBox($sTitle, "Bitte geben Sie den zu suchenden Familiennamen ein.", "", "", "", 140)
If @error = 1 Then Exit
WEnd
If @error Then Exit MsgBox(16, $sTitle, "Error: " & @error & " bei Erstellung der Verbindung zum Active Directory!")
Global $asResult = _AD_GetobjectsInOU("", "(name=" & $sName & "*)", 2, "name, telephoneNumber,mobile")
Select
Case @error = 0
_ArrayDisplay($asResult, $sTitle, -1, 0, "", "|", "|Name|Telefon Büro|Handy")
Case @error = 3
MsgBox(16, $sTitle, "Name '" & $sName & "' wurde nicht gefunden!")
Case Else
MsgBox(16, $sTitle, "Error: " & @error & " bei Abfrage nach Name '" & $sName & "'!")
EndSelect
$sName = ""
WEnd
_AD_Close()
teste ich sehr gerne....
es gibt "dummy" user und User deren Feld frei sind...
wenn ein User ein "Mobile" hat hat er auch ein Büro Telefon, somit würde ich gerne alle nicht anzeigen, die kein Büro Telefon haben...
mir ist klar das irgendwann deine Bereitschaft am Ende ist, aber solltest du noch Energie haben und mir helfen wollen....
TOP, sag ich nur
Gruß & Danke
Noch'n Versuch. Die LDAP-Query habe ich erweitert, so dass nur Personen und nur solche bei denen das Feld "telephoneNumber" nicht leer ist, angezeigt werden:
[autoit]#include <AD.au3>
Global $sName = "", $sTitle = "Telefonnummernabfrage"
_AD_Open()
While 1
While $sName = ""
$sName = InputBox($sTitle, "Bitte geben Sie den zu suchenden Familiennamen ein.", "", "", "", 140)
If @error = 1 Then Exit
WEnd
If @error Then Exit MsgBox(16, $sTitle, "Error: " & @error & " bei Erstellung der Verbindung zum Active Directory!")
Global $asResult = _AD_GetobjectsInOU("", "(&(objectcategory=person)(objectclass=user)(name=" & $sName & "*)(telephoneNumber=*))", 2, "name, telephoneNumber,mobile")
Select
Case @error = 0
_ArrayDisplay($asResult, $sTitle, -1, 0, "", "|", "|Name|Telefon Büro|Handy")
Case @error = 3
MsgBox(16, $sTitle, "Name '" & $sName & "' wurde nicht gefunden!")
Case Else
MsgBox(16, $sTitle, "Error: " & @error & " bei Abfrage nach Name '" & $sName & "'!")
EndSelect
$sName = ""
WEnd
_AD_Close()
Nun müsste man das nur noch mit einer GUI verschönern
moin...
klasse, läuft.
Habe die Abfragebox wieder "zurück" gesetzt.... das Fenster war kleiner bzw der Text nicht ganz sichtbar.
Das man jetzt das ganze noch schön machen könnte dachte ich auch heute morgen....
Habe mir die GUI angeguckt, müsste nur noch wissen, wie ich welche Funktion hinter welchen buttton bekommen bzw Ausgabefenster.
könnte man noch deaktievierte User rausfiltern?
Es werden bei uns nicht alle User sofort gelöscht, aber das Tool zeigt diese auch an....
"Deaktivierte" user sind "disabled"? Hier die Version um User die "disabled" sind, auszublenden:
[autoit]#include <AD.au3>
Global $sName = "", $sTitle = "Telefonnummernabfrage"
_AD_Open()
While 1
While $sName = ""
$sName = InputBox($sTitle, "Bitte geben Sie den zu suchenden Familiennamen ein.", "", "", "", 140)
If @error = 1 Then Exit
WEnd
If @error Then Exit MsgBox(16, $sTitle, "Error: " & @error & " bei Erstellung der Verbindung zum Active Directory!")
Global $asResult = _AD_GetobjectsInOU("", "(&(objectcategory=person)(objectclass=user)(name=" & $sName & "*)(telephoneNumber=*)(!userAccountControl:1.2.840.113556.1.4.803:=" & $ADS_UF_ACCOUNTDISABLE & "))", 2, "name, telephoneNumber,mobile")
Select
Case @error = 0
_ArrayDisplay($asResult, $sTitle, -1, 0, "", "|", "|Name|Telefon Büro|Handy")
Case @error = 3
MsgBox(16, $sTitle, "Name '" & $sName & "' wurde nicht gefunden!")
Case Else
MsgBox(16, $sTitle, "Error: " & @error & " bei Abfrage nach Name '" & $sName & "'!")
EndSelect
$sName = ""
WEnd
_AD_Close()
Moin...
wenn ich innerhalb des Scripts ein Info Fenster einblenden möchte, kann ich doch eine Tastatur kombi anlegen und ein Fenster würde bis man okay drückt geöffnet werden, oder.
Habe aktuell kein Zugriff auf meine alten Scripte......
Hab das Ding mal auf GUI umgestellt und einen Hilfe Button ("?") eingebaut.
#include <AD.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
Global $sName = "", $sTitle = "Telefonnummernabfrage"
Global $sVersion = "1.0", $sAutor = "water", $sVDatum = "2012/03/15"
#region ### START Koda GUI section ### Form=
Global $hForm = GUICreate($sTitle, 615, 440, 192, 124)
Global $hInput = GUICtrlCreateInput("", 56, 22, 233, 21)
GUICtrlCreateLabel("Name:", 8, 24, 35, 17)
Global $hBtn_OK = GUICtrlCreateButton("OK", 296, 22, 41, 21)
Global $hBtn_Exit = GUICtrlCreateButton("Exit", 536, 22, 65, 21)
Global $hBTN_Help = GUICtrlCreateButton("?", 352, 22, 33, 21)
Global $hList = GUICtrlCreateListView("Name|Telefon Büro|Handy", 8, 64, 601, 357)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $hBtn_Exit
Exit
Case $hBtn_OK
$sName = GUICtrlRead($hInput)
If $sName <> "" Then _Process()
Case $hBTN_Help
_Help()
EndSwitch
WEnd
Func _Process()
[/autoit] [autoit][/autoit] [autoit]_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($hList)) ; Clear the ListView
_AD_Open()
If @error Then Exit MsgBox(16, $sTitle, "Error: " & @error & " bei Erstellung der Verbindung zum Active Directory!")
Global $asResult = _AD_GetobjectsInOU("", "(&(objectcategory=person)(objectclass=user)(name=" & $sName & "*)(telephoneNumber=*)(!userAccountControl:1.2.840.113556.1.4.803:=" & $ADS_UF_ACCOUNTDISABLE & "))", 2, "name, telephoneNumber,mobile")
Select
Case @error = 0
For $i = 1 To $asResult[0][0]
GUICtrlCreateListViewItem($asResult[$i][0] & "|" & $asResult[$i][1] & "|" & $asResult[$i][2], $hList)
Next
Case @error = 3
MsgBox(16, $sTitle, "Name '" & $sName & "' wurde nicht gefunden!")
Case Else
MsgBox(16, $sTitle, "Error: " & @error & " bei Abfrage nach Name '" & $sName & "'!")
EndSelect
_GUICtrlListView_SetColumnWidth($hList, 0, $LVSCW_AUTOSIZE)
_GUICtrlListView_SetColumnWidth($hList, 1, $LVSCW_AUTOSIZE)
_GUICtrlListView_SetColumnWidth($hList, 2, $LVSCW_AUTOSIZE)
_AD_Close()
EndFunc ;==>_Process
[/autoit] [autoit][/autoit] [autoit]Func _Help()
[/autoit] [autoit][/autoit] [autoit]MsgBox(64, "About", $sTitle & @CRLF & @CRLF & "Programm written by ... " & _
@CRLF & @CRLF & "Version: " & $sVersion & @CRLF & "Autor: " & $sAutor & @CRLF & "Date: " & $sVDatum)
EndFunc ;==>_Help
[/autoit]habe versucht eine txt datei zu lesen.....
Funktion angepasst...
habe einen weitern button, der wird auch angezeigt ( TF )
Func _tf()
$hGui = GUICreate('test', 600, 400)
$hEdit = GUICtrlCreateEdit('', 5, 5, 590, 390)
GUISetState()
$sText = FileRead(@ScriptDir & '\telefonfunktionen.txt') ; Datei lesen
; GUICtrlSetData($hEdit, $sText) ; und in Edit-Control einfügen
das fenster poppt nicht auf....
in der datei sollen Funktionen vom Telefon so wie Kurzwahl & Co angezeigt werden...
Ich würde diese Beschreibung in einer PDF-Datei ablegen und diese dann in der Funktion _TF z.B. mit
[autoit]Shellexecute("Hilfe.PDF")
[/autoit]anzeigen.
Das hat den Vorteil, dass der Benutzer sie auch schön formatiert ausdrucken kann.
moin....
hab ich übernommen, aber die Datei wird nicht angezeigt....
Könnte man die Suche direkt mit "enter" starten, so muss man erst noch auf "ok" drücken
#include <AD.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
Global $sName = "", $sTitle = "Telefonnummernabfrage"
Global $sVersion = "1.0", $sAutor = "water", $sVDatum = "2012/03/15"
#region ### START Koda GUI section ### Form=
Global $hForm = GUICreate($sTitle, 615, 440, 192, 124)
Global $hInput = GUICtrlCreateInput("", 56, 22, 233, 21)
GUICtrlCreateLabel("Name:", 8, 24, 35, 17)
Global $hBtn_OK = GUICtrlCreateButton("OK", 296, 22, 41, 21)
Global $hBtn_Exit = GUICtrlCreateButton("Exit", 536, 22, 65, 21)
Global $hBTN_Help = GUICtrlCreateButton("?", 350, 22, 33, 21)
Global $hBTN_info = GUICtrlCreateButton("I", 400, 22, 33, 21)
Global $hBTN_tf = GUICtrlCreateButton("T", 450, 22, 33, 21)
Global $hList = GUICtrlCreateListView("Name|Telefon Büro|Handy", 8, 64, 601, 357)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $hBtn_Exit
Exit
Case $hBtn_OK
$sName = GUICtrlRead($hInput)
If $sName <> "" Then _Process()
Case $hBTN_Help
_Help()
EndSwitch
WEnd
Func _Process()
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($hList)) ; Clear the ListView
_AD_Open()
If @error Then Exit MsgBox(16, $sTitle, "Error: " & @error & " bei Erstellung der Verbindung zum Active Directory!")
Global $asResult = _AD_GetobjectsInOU("", "(&(objectcategory=person)(objectclass=user)(name=" & $sName & "*)(telephoneNumber=*)(!userAccountControl:1.2.840.113556.1.4.803:=" & $ADS_UF_ACCOUNTDISABLE & "))", 2, "name, telephoneNumber,mobile")
Select
Case @error = 0
For $i = 1 To $asResult[0][0]
GUICtrlCreateListViewItem($asResult[$i][0] & "|" & $asResult[$i][1] & "|" & $asResult[$i][2], $hList)
Next
Case @error = 3
MsgBox(16, $sTitle, "Name '" & $sName & "' wurde nicht gefunden!")
Case Else
MsgBox(16, $sTitle, "Error: " & @error & " bei Abfrage nach Name '" & $sName & "'!")
EndSelect
_GUICtrlListView_SetColumnWidth($hList, 0, $LVSCW_AUTOSIZE)
_GUICtrlListView_SetColumnWidth($hList, 1, $LVSCW_AUTOSIZE)
_GUICtrlListView_SetColumnWidth($hList, 2, $LVSCW_AUTOSIZE)
_AD_Close()
EndFunc ;==>_Process
Func _Help()
MsgBox(64, "About", $sTitle & @CRLF & @CRLF & "Programm written by ... " & _
@CRLF & @CRLF & "Version: " & $sVersion & @CRLF & "Autor: " & $sAutor & @CRLF & "Date: " & $sVDatum)
EndFunc ;==>_Help
Func _tf()
ShellExecute("telefonfunktionen.txt", "", @ScriptDir, "edit")
EndFunc ;==>_tf
Alles anzeigen
Die Buttons "I" und "T" funktionieren nicht, da Du sie in der Schleife nicht abfragst. Das muss analog zu
[autoit]Case $hBTN_Help
_Help()
erfolgen.
Um ENTER verwenden zu können füge bitte folgenden Code vor
[autoit]GUISetState(@SW_SHOW)
[/autoit]ein:
[autoit]; Set accelerators for Enter
Local $AccelKeys[1][2] = [["{ENTER}",$hBtn_OK]]
GUISetAccelerators($AccelKeys)
wundervoll....
geht alles.... jetzt werde ich es testen lassen...
vielen Dank...
so als nettes Addon... könnten man ein jpg in das Ausgabefenster "hinterlegen"....?
Klar, geht mit function GUICtrlCreatePic.