1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. gmmg

Beiträge von gmmg

  • MS Access Read Field + Spaltennamen der Tabellen

    • gmmg
    • 26. November 2019 um 13:17

    Hallo Zusammen,

    ich war auf der Suche zum Auslesen der Spaltennamen der Tabelle. Die Funktion _ReadOneFld($_sql, $_dbname, $_field) hat mir aber immer nur die Ergebnisse ohne die Spaltennamen geliefert.

    Im englischen Forum habe ich nun ein Code Schnipsel gefunden und entsprechend die _ReadOneFld() angepasst.

    Hier nun das Ergebnis.

    Code
    #include <Array.au3>
    
    Local $DB_Array[1][1]
    
    ;--------- Modify the variables below as desired or applicable -------
    $dbname = "\\DB-PFfad\datenbank.mdb"
    $tblname = "Tabellenname"
    ;---------------------------------------------------------------------
    ;$query = "SELECT * FROM " & $tblname
    $query = "SELECT * FROM " & $tblname & " WHERE PCName = " & "'" & @ComputerName & "'"
    _ReadonField_with_Name($query, $dbname)
    _ArrayDisplay($DB_Array)
    
    Func _ReadonField_with_Name($_sql, $_dbname)
        $adoCon = ObjCreate("ADODB.Connection")
        $adoCon.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $_dbname)
        $adoRs = ObjCreate("ADODB.Recordset")
        $adoRs.CursorType = 1
        $adoRs.LockType = 3
        $adoRs.Open($_sql, $adoCon)
    
        With $adoRs
            $dimension = .Fields.Count
            ;ConsoleWrite($dimension & @cr)
            ReDim $DB_Array[1][$dimension]
            ; Column header
            $Title = ""
            For $i = 0 To .Fields.Count - 1
                $Title = $Title &  .Fields( $i ).Name  & @TAB
                $DB_Array[0][$i] = .Fields( $i ).Name ; set the array elements
            Next
            ;ConsoleWrite($Title & @CR & "----------------------------------" & @CR)
            ; loop through the records
            $element = 1
            If .RecordCount Then
                While Not .EOF
                    $element = $element + 1
                    ReDim $DB_Array[$element][$dimension]
                    $Item = ""
                    For $i = 0 To .Fields.Count - 1
                        $Item = $Item &  .Fields( $i ).Value & @TAB
                        $DB_Array[$element - 1][$i] = .Fields( $i ).Value ; set the array element
                    Next
                    ;ConsoleWrite($Item & @CR)
                    .MoveNext
                WEnd
            EndIf
        EndWith
        $adoCon.Close ; close connection
        Return $DB_Array
    EndFunc
    Alles anzeigen

    Falls es einen einfacherer Weg gibt, einfach einmal Antworten.

    Gruß gmmg :)

  • Nachtfalke stellt sich vor

    • gmmg
    • 22. Oktober 2019 um 08:41

    Hallo Oliver,

    Willkommen und viel Spaß mit AutoIT. Bei fragen wird dir hier sicher geholfen :)

    Gruß

  • Externe IP ermitteln

    • gmmg
    • 8. Oktober 2019 um 13:14

    Falls du eine Fritzbox hast, kannst du dir da auch einen täglichen Bericht mit den Infos zustellen lassen.

    Gruß gmmg

  • Externe IP ermitteln

    • gmmg
    • 8. Oktober 2019 um 12:04

    So in etwa. Die Site lässt aber keine mehrmaligen kurzfristigen abfragen zu.

    Im Prinzip, liest man den Text der Website aus und filtert dann die Daten, die man benötigt.

    C
    #include <IE.au3>
    #include <Array.au3>
    #include <String.au3>
    
    Local $oIE = _IECreate("https://www.whatismyip.com/")
    _IELoadWait($oIE)
    Local $sText = _IEBodyReadText($oIE)
    _IEQuit($oIE)
    
    ;MsgBox(0, "Body Text", $sText)
     Local $aArray = _StringBetween($sText, "Your Public IPv4 is:", "Location:")
    _ArrayDisplay($aArray)
    Alles anzeigen

    Gruß gmmg

  • MySQL Datenbank CHARACTER SET über CMD

    • gmmg
    • 30. September 2019 um 08:43

    Super :)

    Gruß gmmg

  • AutoIt-Exe-File sowohl mit Grafischer Oberfläche und auch als "KonsolenDatei" ausführbar?

    • gmmg
    • 26. September 2019 um 14:33

    Hier mal ein kleine Beispiel

    Nach dem erstellen der EXE sind die Parameter zu übergeben: test.exe /u USER /p Password

    Code
    Local $user = "Benutzer", $pass = "Kennwort"
    
    If IsArray($CMDLINE) Then
        For $i = 1 To $CMDLINE[0]
            Switch $CMDLINE[$i]
                Case "/u"
                    If StringLeft($CMDLINE[$i + 1], 1) = "/" Then
                        MsgBox(0,"Fehler", "Es wurde kein user angegeben")
                        ExitLoop
                    Else
                        $user = $CMDLINE[$i + 1]
                        $i += 1
                    EndIf
                Case "/p"
                    If StringLeft($CMDLINE[$i + 1], 1) = "/" Then
                        MsgBox(0,"Fehler", "Es wurde keine passwort angegeben")
                        ExitLoop
                    Else
                        $pass = $CMDLINE[$i + 1]
                        $i += 1
                    EndIf
            EndSwitch
        Next
    EndIf
    
    MsgBox(0,"info", $user & " " & $pass)
    Alles anzeigen

    Gruß gmmg

  • MySQL Datenbank CHARACTER SET über CMD

    • gmmg
    • 26. September 2019 um 13:14

    Hast du dir die Ausgaben mal mit Consolewrite() angesehen?

    Bei mir funktioniert das mit der mysql.au3 (suche mal nach libMySQLdll.au3) mit folgendem Skript, woebei der Character "utf8mb4" bei unserer DB noch nicht unterstützt wird.

    Dazu gibt es hier einen Artikel im Netz (https://dba.stackexchange.com/questions/7678…h-charset-utf-8)

    Code
    #include <mysql.au3>
    
    ; db verbindungsvariablen
    $ipadd = "server"
    $sname = "user"
    $spasswort = "kennwort"
    ;$db = "db_test"
    
    
    _MySQL_InitLibrary()
    If @error Then Exit MsgBox(0, "Fehler", "libmysql.dll nicht gefunden")
    
    $MysqlConn = _MySQL_Init()
    
    ;$connected = _MySQL_Real_Connect($MysqlConn,$ipadd,$sname,$spasswort,$db)
    $connected = _MySQL_Real_Connect($MysqlConn,$ipadd,$sname,$spasswort)
    If $connected = 0 Then
        $errno = _MySQL_errno($MysqlConn)
        MsgBox(0,"Fehler","Login Server ist nicht Erreichbar")
        Exit
    Endif
    
    Local $sQuery = "CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;"
    _MySQL_Real_Query($MysqlConn, $sQuery)
    
    ; Verbindung beenden
    _MySQL_Close($MysqlConn)
    ; MYSQL beenden
    _MySQL_EndLibrary()
    Alles anzeigen

    gruß gmmg

  • Send("{BROWSER_HOME}") funktioniert nicht mehr.

    • gmmg
    • 26. September 2019 um 12:22

    In Firefox geht auch der Shortcuts Alt + Home (POS1)

  • WebDriver- Chrome Browser

    • gmmg
    • 25. September 2019 um 13:14

    BugFix :

    Eine Quelle ist ergänzt.

  • WebDriver- Chrome Browser

    • gmmg
    • 25. September 2019 um 11:36

    Hallo Zusammen,

    ich möchte euch heute mal meinen Autologin per Webdriver.udf und Chromedriver.exe für die im Quelltext genannten Website zeigen.

    Da es für jede Chrome Version wohl einen eigenen Chromedriver.exe gibt, ist das auch entsprechend zu beachten.

    Anhand der vielen Beispiele im englischen Forum, war das unten stehende Konstrukt schnell fertig, da aber Chrome hier immer einen Hinweis zur automatischen Steuerung bringt und immer das Fenster für die Passwort Speicherung aufging, habe ich als Lösung nach einigen Versuchen, die folgende gefunden. Unter "$sDesiredCapabilities" müssen die folgenden Einträge gesetzt werden.

    "excludeSwitches": ["enable-automation"], "useAutomationExtension": false, ;

    "prefs": {"credentials_enable_service": false},

    Hier mal der komplette Quelltext, Sicher kann das ein oder andere noch verbessert werden.

    Im Script ist auch noch der ABSCHNITT für den Firefox enthalten.

    C
    #include "wd_helper.au3"
    #include "wd_core.au3"
    
    $file = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
    
    If FileExists($file) Then
        $Fileversion = FileGetVersion($file)
        IF StringLeft($Fileversion,2) = "76" Then $webdriver = "chromedriver_76.exe"
        IF StringLeft($Fileversion,2) = "77" Then $webdriver = "chromedriver_77.exe"
        IF StringLeft($Fileversion,2) = "78" Then $webdriver = "chromedriver_78.exe"
    Else
        MsgBox(0,"Info","Google Chrome in der richtigen Version nicht vorhanden.")
        Exit
    EndIf
    
    $mail = "user"
    $pass = "pass"
    
    $_WD_DEBUG = $_WD_DEBUG_None  ;set to $_WD_DEBUG_None before compiling.
    
    ;Global $_WD_DRIVER
    Local $sDesiredCapabilities
    Local $iIndex
    
    $url = "https://app.slidepresenter.com/#/login"
    
    SetupChrome()
    ;SetupGecko()
    
    _WD_Startup()
    $sSession = _WD_CreateSession($sDesiredCapabilities)
    _WD_Navigate($sSession, $url)
    
    ;WinSetState ("","",@SW_MAXIMIZE)
    
    _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='email']")
    ConsoleWrite("+ @error = " & @error & @CRLF)
    $sElement_mail = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='email']")
    
    _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='password']")
    ConsoleWrite("+ @error = " & @error & @CRLF)
    $sElement_pass = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='password']")
    
    If @error = $_WD_ERROR_Success Then
       _WD_ElementAction($sSession, $sElement_mail, 'value',$mail)
    EndIf
    If @error = $_WD_ERROR_Success Then
       _WD_ElementAction($sSession, $sElement_pass, 'value',$pass)
    EndIf
    
    Sleep(1500)
    Send("{ENTER}")
    
    
    ;_WD_DeleteSession($sSession)
    _WD_Shutdown()
    
    Func SetupChrome()
    
        ;_WD_Option('Driver', 'chromedriver.exe')
        _WD_Option('Driver', 'data\'& $webdriver) ;Pfad zur Chromedriver.exe
        _WD_Option('Port', 9515)
        ;_WD_Option('DriverParams', '--log-path="' & @ScriptDir & '\chrome.log"')
        _WD_Option('DriverParams')
    
        $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"unhandledPromptBehavior": "ignore", ' & _
        '"goog:chromeOptions": {"w3c": true, "excludeSwitches": ["enable-automation"], "useAutomationExtension": false, ' & _
        '"prefs": {"credentials_enable_service": false},' & _
        '"args": ["start-maximized"] }}}}'
    
    ;---Google Chrome in anderem Pfad installiert---
    ;~      $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"unhandledPromptBehavior": "ignore", ' & _
    ;~     '"goog:chromeOptions": {"w3c": true, "excludeSwitches": ["enable-automation"], "useAutomationExtension": false, "binary":"D:/Data/scripte/WebDriver-0.1.0.20/Full/Chrome-bin/chrome.exe", ' & _
    ;~     '"prefs": {"credentials_enable_service": false},' & _
    ;~     '"args": ["start-maximized"] }}}}'
    
    EndFunc
    
    Func SetupGecko()
    
        _WD_Option('Driver', 'geckodriver.exe')
        ;_WD_Option('DriverParams', '--log trace')
        _WD_Option('DriverParams')
        _WD_Option('Port', 4444)
    
        $sDesiredCapabilities = '{"desiredCapabilities":{"javascriptEnabled":true,"nativeEvents":true,"acceptInsecureCerts":true}}'
    
    EndFunc
    Alles anzeigen

    Die entsprechende WebDriver UDF findet man unter folgendem Link im engl. Forum:

    https://www.autoitscript.com/forum/topic/19…ersion-9102019/

    WebDriver Download

    https://github.com/Danp2/WebDriver/releases/tag/0.1.0.21

    Download der Chromedriver.exe

    https://sites.google.com/a/chromium.org…river/downloads


    Gruß gmmg :)

  • AutoIt Window Info erkennt Farben nicht

    • gmmg
    • 1. April 2019 um 15:03

    Hallo Bitnugger,

    mit dem Autoit Window Info kann man auch den Farbwert anzeigen.n (siehe Bild)

    Dies habe ich mit dem PhotoshopFarbwähler gegengeprüft. Es kommt die gleiche Zahl raus.

    Gruß gmmg

    Dateien

    AutoitWindowInfo_Color.PNG 29,71 kB – 0 Downloads
  • Umbenannt: Installierte Drucker Remote auslesen

    • gmmg
    • 21. März 2019 um 07:54

    Die SID lässt sich auch im AD auslesen ...

    Code
    #include <AD.au3>
    
    _ad_open()
    
    If @error Then Exit MsgBox(16, "Active Directory Example Skript", "Function _AD_Open encountered a problem. @error = " & @error & ", @extended = " & @extended)
    
    $ssamaccountname = @username
    $aproperties = _ad_getobjectproperties($ssamaccountname)
    If @error Then
        ;ConsoleWrite($ssamaccountname & @CRLF)
    Else
        For $x = 1 To $aproperties[0][0]
            If $aproperties[$x][0] = "objectSid" Then
                $sid = $aproperties[$x][1]
                ;ConsoleWrite($ssamaccountname & ";" & $sid & @CRLF)
                MsgBox(0,"", $ssamaccountname & @crlf & $sid)
            EndIf
        Next
    EndIf
    
    _ad_close()
    Alles anzeigen

    Gruß gmmg

  • Umbenannt: Installierte Drucker Remote auslesen

    • gmmg
    • 20. März 2019 um 08:07

    Hallo Lasandan,

    über Powershell kannst du die Ausgabe wie folgt machen (funktioniert auch als normaler User auf einen Export Pfad wo der User Schreibrechte hat).

    get-WmiObject -class Win32_printer | ft name, systemName, shareName >> d:\printers.txt

    Das sollte die Netzwerk und lokal installierten Drucker beinhalten.

    Gruß gmmg :)

  • AD Usermanager - GetManagedBy

    • gmmg
    • 4. März 2019 um 07:36

    Hi Water,

    habe mir das eben angesehen, das ist aber nicht das Richtige. Bestimmte Usern sollen über den Eintrag "Verwaltet von" (ManagedBy) im AD ihre Verteilergruppen selbst Pflegen können. Outlook ginge ja auch dazu, aber mit einer GUI dazu ist das einfacher, da der User hier nur seine Gruppen sieht, die er Verwalten darf.

    Ich denke den Fehler hab ich gefunden, ein Label war zu lang :( Total übersehen.

    Im Post 1 (AD_Groups.zip) wurde die aktuelle Version hinterlegt.

    Gruß gmmg

  • AD Usermanager - GetManagedBy

    • gmmg
    • 1. März 2019 um 14:29

    Hallo Zusammen,

    ich habe auf der GUI zum Hinzufügen der User das Problem, dass ich, wenn ich in das Listview geklickt habe, ich nicht mehr in die Inputbox klicken kann.

    Mit der Tab Taste kann ich aber wieder wechseln. Hat einer eine Idee, an was das liegt?

    C
    #include <D:\Data\scripte\AD_1.4.11.0_Functions\AD.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GuiListView.au3>
    #include <GuiButton.au3>
    
    #include <Date.au3>
    #include <EditConstants.au3>
    #include <WindowsConstants.au3>
    
    Local $listview1, $listview2, $listview3, $txtInput
    
    If Not FileExists(@ScriptDir & "/pic") Then DirCreate(@ScriptDir & "/pic")
    
    FileInstall("D:\Data\scripte\AD_Groups/User.gif", @ScriptDir & "/pic/User.gif",1)
    FileInstall("D:\Data\scripte\AD_Groups/Users_Group.gif", @ScriptDir & "/pic/Users_Group.gif",1)
    FileInstall("D:\Data\scripte\AD_Groups/User_add.gif", @ScriptDir & "/pic/User_add.gif",1)
    FileInstall("D:\Data\scripte\AD_Groups/User_delete.gif", @ScriptDir & "/pic/User_delete.gif",1)
    
    _AD_Open()
    
    $user = @username
    
    $sFQDN = _AD_SamAccountNameToFQDN($user)
    ; Get the Display Name for the current User
    $sDisplayName = _AD_FQDNToDisplayname($sFQDN)
    ;MsgBox(0,"",$sDisplayName)
    
    
    $aManagedBy = _AD_GetManagedBy($user)
    If @error > 0 Or $aManagedBy[0][0] = 0 Then
        MsgBox(64, "Active Directory Functions - Example 1", "No managed groups could be found")
        $bNotFound = True
    Else
        ;_ArrayDisplay($aManagedBy, "Active Directory Functions - Example 1 - groups managed by")
        ;MsgBox(0,"",_AD_FQDNToSamAccountName($aManagedBy[1][0]))
    
    EndIf
    
    ; Create a GUI with various controls.
    $hgui = GUICreate("Groupmanager")
    $pic1 = GUICtrlCreatePic(@ScriptDir & "/pic/User.gif",20,20,40,40)
    $userlabel1 = GUICtrlCreateLabel("Manager:   " & $sDisplayName ,80,30,200,20)
    $grouplabel1 = GUICtrlCreateLabel("Managed Groups ",20,100,180,20)
    
    $listview1 = GUICtrlCreateListView("Group Name", 20, 120, 320, 200,0x0004)
    _GUICtrlListView_SetColumnWidth($listview1, 0,316)
    
    For $i = 1 to $aManagedBy[0][0]
    
        ;MsgBox(0,"",$aManagedBy[$i][0])
        GUICtrlCreateListViewItem(_AD_FQDNToSamAccountName($aManagedBy[$i][0]), $listview1)
    
    Next
    
    _GUICtrlListView_SetItemSelected($listview1, 0)
    
    $view_members = GUICtrlCreateButton("View Members", 20, 340, 120, 25)
    
    ; Display the GUI.
    GUISetState(@SW_SHOW, $hgui)
    
    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case $view_members
    
                $selected_item =  ControlListView($hgUI, "", $listview1, "GetSelected")
                $selected_item = Number($selected_item) ;String wird in Number formatiert
                $selected_group = _GUICtrlListView_GetItemText($listview1, $selected_item)
    
                _EditgroupMembers($selected_group)
    
        EndSwitch
    WEnd
    
    ; Delete the previous GUI and all controls.
    GUIDelete($hgui)
    _AD_Close()
    
    
    Func _EditgroupMembers($selected_group) ;View members
    
        ;MsgBox(0,"2",$selected_group)
    
        $aMembers = _AD_GetGroupMembers($selected_group)  ; hier den AD gruppennamen eintragen AD-Gruppenname
        If @error > 0 Then
            MsgBox(64, "Active Directory Functions", "The group has no members")
        Else
            _ArraySort($aMembers, 0, 1)
            ;_ArrayDisplay($aMembers, "Active Directory Functions - Example 1 - List of members for group")
        EndIf
    
        $gui1 = GUICreate("Edit Group Members")
        $pic2 = GUICtrlCreatePic(@ScriptDir & "/pic/Users_Group.gif",20,20,40,40)
        $grouplabel2 = GUICtrlCreateLabel($selected_group ,80,30,200,20)
    
        $listview2 = GUICtrlCreateListView("Name|Anmeldename", 20, 120, 320, 200,0x0004)
    
    
        For $i = 1 to $aMembers[0]
    
            ;MsgBox(0,"", $aMembers[$i] & @crlf & $sFQDN )
    
            ;$aMembers01 = _AD_FQDNToDisplayname($aMembers[$i])
            $sSamAccountName = _AD_FQDNToSamAccountName($aMembers[$i])
    
            $groupmember = _AD_GetObjectAttribute($sSamAccountName, "name")
    
            GUICtrlCreateListViewItem($groupmember & "|" & $sSamAccountName , $listview2)
    
        Next
    
        ;_GUICtrlListView_SetColumnWidth($listview2, 0,316)
        _GUICtrlListView_SetColumnWidth($listview2, 0,213)
    
        $add_members = GUICtrlCreateButton("+  Add", 20, 340, 80, 25, 0x0080)
        $remove_members = GUICtrlCreateButton("-  Remove", 110, 340, 80, 25, 0x0080)
    
        GUISetState(@SW_SHOW)
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    GUIDelete($gui1)
                    ExitLoop
                Case $add_members
                    ;MsgBox(0,"","Add")
                    _add_groupMembers()
                    ;_Refresh() ; $listview2
    
                Case $remove_members
    
                    $selected_item = ""
                    $selected_item =  ControlListView($gui1, "", $listview2, "GetSelected")
    
                    If $selected_item = "" Then
                        MsgBox(0,"Info","Bitte eine Auswahl Treffen...")
                    Else
                        $selected_item = Number($selected_item) ;String wird in Number formatiert
                        $selected_user = _GUICtrlListView_GetItemText($listview2, $selected_item)
                        $selected_user_anmelde = _GUICtrlListView_GetItemText($listview2, $selected_item,1)
                        $t = MsgBox(4,"Achtung","Der folgende User wird aus der Gruppe entfernt!" & @CRLF & @CRLF & $selected_user)
    
                        If $t = 6 Then
                            ;MsgBox (0,"","you have pressed Yes")
                            ;MsgBox(0,"",$selected_group)
    
                            $sGroup = $selected_group
                            $sUser = $selected_user_anmelde
    
                            $iValue = _AD_RemoveUserFromGroup($sGroup, $sUser)
                            If $iValue = 1 Then
                                MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' successfully removed from group '" & $sGroup & "'")
                            ElseIf @error = 1 Then
                                MsgBox(64, "Active Directory Functions - Example 1", "Group '" & $sGroup & "' does not exist")
                            ElseIf @error = 2 Then
                                MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' does not exist")
                            ElseIf @error = 3 Then
                                MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' is not a member of group '" & $sGroup & "'")
                            Else
                                MsgBox(64, "Active Directory Functions - Example 1", "Return code '" & @error & "' from Active Directory")
                            EndIf
    
                        ElseIf $t = 7 Then
                            ;MsgBox (0,"","you have pressed No")
                        EndIf
    
                    EndIf
                    _Refresh(); $listview2
    
            EndSwitch
        WEnd
    
    EndFunc
    
    
    Func _add_groupMembers()
    
        ;Opt("GUIOnEventMode", 1)
    
        $gui2 = GUICreate("Add Group Members")
        $pic2 = GUICtrlCreatePic(@ScriptDir & "/pic/User_add.gif",20,20,40,40)
        $grouplabel2 = GUICtrlCreateLabel($selected_group ,80,30,200,20)
        GUICtrlCreateLabel("Add User: ", 40, 80, 231, 17)
        $txtInput = GUICtrlCreateInput("", 120, 80, 180, 21)
        $listview3 = GUICtrlCreateListView("Name|Anmeldename", 20, 120, 320, 200,0x0004)
        _GUICtrlListView_SetColumnWidth($listview3, 0,213)
    
    
        $OK = GUICtrlCreateButton("OK", 20, 340, 80, 25, 0x0080)
    
        GUISetState(@SW_SHOW)
    
        GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
    
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    GUIDelete($gui2)
                    ExitLoop
    
    ;~             Case $OK
    
    ;~                 $sUser = GUICtrlRead($txtInput)
    ;~                 $sGroup = $selected_group
    
    ;~                 ; Add user to group
    ;~                 Global $iValue = _AD_AddUserToGroup($sGroup, $sUser)
    ;~                 If $iValue = 1 Then
    ;~                     MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' successfully assigned to group '" & $sGroup & "'")
    ;~                 ElseIf @error = 1 Then
    ;~                     MsgBox(64, "Active Directory Functions - Example 1", "Group '" & $sGroup & "' does not exist")
    ;~                 ElseIf @error = 2 Then
    ;~                     MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' does not exist")
    ;~                 ElseIf @error = 3 Then
    ;~                     MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' is already a member of group '" & $sGroup & "'")
    ;~                 Else
    ;~                     MsgBox(64, "Active Directory Functions - Example 1", "Return code '" & @error & "' from Active Directory")
    ;~                 EndIf
    
    ;~                 _Refresh() ; $listview2
    ;~                 GUIDelete($gui2)
    ;~                 ExitLoop
    
            EndSwitch
        WEnd
    
    EndFunc
    
    Func _Refresh() ;$listview2
    
        _GUICtrlListView_DeleteAllItems($listview2)
    
        $aMembers = _AD_GetGroupMembers($selected_group)  ; hier den AD gruppennamen eintragen AD-Gruppenname
        If @error > 0 Then
            MsgBox(64, "Active Directory Functions", "The group has no members")
        Else
            _ArraySort($aMembers, 0, 1)
            ;ArrayDisplay($aMembers, "Active Directory Functions - Example 1 - List of members for group")
        EndIf
    
            For $i = 1 to $aMembers[0]
    
            $sFQDN = _AD_SamAccountNameToFQDN()
    
            $aMembers01 = _AD_FQDNToDisplayname($aMembers[$i])
            $sSamAccountName = _AD_FQDNToSamAccountName($aMembers[$i])
    
            $groupmember = _AD_GetObjectAttribute($sSamAccountName, "name")
            GUICtrlCreateListViewItem($groupmember & "|" & $sSamAccountName , $listview2)
    
        Next
    
    EndFunc
    
    Func _search_User($search)
    
        $aObjects = _AD_GetObjectsInOU("", "(ANR=" & $search & ")", 2, "displayname,sAMAccountName", "displayname")
    
        If @error > 0 Then
            MsgBox(64, "Active Directory Functions", "No objects found")
        Else
            ;_ArrayDisplay($aObjects, "Active Directory Functions - Example 3  - Ambigous Name Resolution. Search for '" & $search & "'")
            For $i = 1 to $aObjects[0][0]
                GUICtrlCreateListViewItem($aObjects[$i][0] & "|" & $aObjects[$i][1] , $listview3)
            Next
    
        EndIf
    
    
    
    EndFunc
    
    Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    
        Local $hdlWindowFrom, _
              $intMessageCode, _
              $intControlID_From
    
        $intControlID_From =  BitAND($wParam, 0xFFFF)
        $intMessageCode = BitShift($wParam, 16)
    
        Switch $intControlID_From
    
            Case $txtInput
    
                Switch $intMessageCode
                    Case $EN_CHANGE
    
                        _GUICtrlListView_DeleteAllItems($listview3)
                        $search = GUICtrlRead($txtInput)
                        If StringLen($search) < 3 Then
                        Else
                            _search_User(GUICtrlRead($txtInput))
                            ;ConsoleWrite("[" & _Now() & "] - The text in the $txtInput control has changed! Text = " & GUICtrlRead($txtInput) & @CRLF)
                        EndIf
    
                EndSwitch
    
        EndSwitch
    
        ;Return $GUI_RUNDEFMSG
    
    EndFunc
    Alles anzeigen

    Danke

    Gruß gmmg

    Dateien

    User_Add_Fehler.PNG 31,35 kB – 0 Downloads
  • AD Usermanager - GetManagedBy

    • gmmg
    • 28. Februar 2019 um 10:12

    Hallo autoiter,

    danke, der Hinweis hat mich weitergebracht.

    Die AD.au3 ist die aktuelle von Water hier aus dem Forum (Im Post 1 jetzt im Zip enthalten) , alle anderen sollten Standard sein.

    C
    #include <D:\Data\scripte\AD_1.4.11.0_Functions\AD.au3>
    
    #include <GUIConstantsEx.au3>
    
    #include <ListViewConstants.au3>
    
    #include <GuiListView.au3>
    
    #include <GuiButton.au3>
    
    
    Local $listview2, $listview2
    
    
    If Not FileExists(@ScriptDir & "/pic") Then DirCreate(@ScriptDir & "/pic")
    
    
    FileInstall("D:\Data\scripte\AD_Groups/User.gif", @ScriptDir & "/pic/User.gif",1)
    
    FileInstall("D:\Data\scripte\AD_Groups/Users_Group.gif", @ScriptDir & "/pic/Users_Group.gif",1)
    
    FileInstall("D:\Data\scripte\AD_Groups/User_add.gif", @ScriptDir & "/pic/User_add.gif",1)
    
    FileInstall("D:\Data\scripte\AD_Groups/User_delete.gif", @ScriptDir & "/pic/User_delete.gif",1)
    
    
    _AD_Open()
    
    
    $user = @username
    
    
    $aManagedBy = _AD_GetManagedBy($user)
    
    If @error > 0 Or $aManagedBy[0][0] = 0 Then
    
    MsgBox(64, "Active Directory Functions - Example 1", "No managed groups could be found")
    
    $bNotFound = True
    
    Else
    
    ;_ArrayDisplay($aManagedBy, "Active Directory Functions - Example 1 - groups managed by")
    
    ;MsgBox(0,"",_AD_FQDNToSamAccountName($aManagedBy[1][0]))
    
    
    EndIf
    
    
    $sFQDN = _AD_SamAccountNameToFQDN($user)
    
    ; Get the Display Name for the current User
    
    $sDisplayName = _AD_FQDNToDisplayname($sFQDN)
    
    ;MsgBox(0,"",$sDisplayName)
    
    
    ; Create a GUI with various controls.
    
    $hgui = GUICreate("Groupmanager")
    
    $pic1 = GUICtrlCreatePic(@ScriptDir & "/pic/User.gif",20,20,40,40)
    
    $userlabel1 = GUICtrlCreateLabel("Manager: " & $sDisplayName ,80,30,200,20)
    
    $grouplabel1 = GUICtrlCreateLabel("Managed Groups ",20,100,180,20)
    
    
    $listview1 = GUICtrlCreateListView("Group Name", 20, 120, 320, 200,0x0004)
    
    _GUICtrlListView_SetColumnWidth($listview1, 0,316)
    
    
    For $i = 1 to $aManagedBy[0][0]
    
    
    ;MsgBox(0,"",$aManagedBy[$i][0])
    
    GUICtrlCreateListViewItem(_AD_FQDNToSamAccountName($aManagedBy[$i][0]), $listview1)
    
    
    Next
    
    
    _GUICtrlListView_SetItemSelected($listview1, 0)
    
    
    $view_members = GUICtrlCreateButton("View Members", 20, 340, 120, 25)
    
    
    ; Display the GUI.
    
    GUISetState(@SW_SHOW, $hgui)
    
    
    ; Loop until the user exits.
    
    While 1
    
    Switch GUIGetMsg()
    
    Case $GUI_EVENT_CLOSE
    
    ExitLoop
    
    Case $view_members
    
    
    $selected_item = ControlListView($hgUI, "", $listview1, "GetSelected")
    
    $selected_item = Number($selected_item) ;String wird in Number formatiert
    
    $selected_group = _GUICtrlListView_GetItemText($listview1, $selected_item)
    
    
    _EditgroupMembers($selected_group)
    
    
    EndSwitch
    
    WEnd
    
    
    ; Delete the previous GUI and all controls.
    
    GUIDelete($hgui)
    
    _AD_Close()
    
    
    
    Func _EditgroupMembers($selected_group)
    
    
    ;MsgBox(0,"2",$selected_group)
    
    
    $aMembers = _AD_GetGroupMembers($selected_group) ; hier den AD gruppennamen eintragen AD-Gruppenname
    
    If @error > 0 Then
    
    MsgBox(64, "Active Directory Functions", "The group has no members")
    
    Else
    
    _ArraySort($aMembers, 0, 1)
    
    ;ArrayDisplay($aMembers, "Active Directory Functions - Example 1 - List of members for group")
    
    EndIf
    
    
    $gui1 = GUICreate("Edit Group Members")
    
    $pic2 = GUICtrlCreatePic(@ScriptDir & "/pic/Users_Group.gif",20,20,40,40)
    
    $grouplabel2 = GUICtrlCreateLabel($selected_group ,80,30,200,20)
    
    
    $listview2 = GUICtrlCreateListView("Name|Anmeldename", 20, 120, 320, 200,0x0004)
    
    
    
    For $i = 1 to $aMembers[0]
    
    
    $sFQDN = _AD_SamAccountNameToFQDN()
    
    
    $aMembers01 = _AD_FQDNToDisplayname($aMembers[$i])
    
    $sSamAccountName = _AD_FQDNToSamAccountName($aMembers[$i])
    
    
    ;MsgBox(0,"", $aMembers01)
    
    ;MsgBox(0,"", $sSamAccountName)
    
    ;GUICtrlCreateListViewItem($aMembers01, $listview2)
    
    GUICtrlCreateListViewItem($aMembers01 & "|" & $sSamAccountName , $listview2)
    
    
    Next
    
    
    ;_GUICtrlListView_SetColumnWidth($listview2, 0,316)
    
    _GUICtrlListView_SetColumnWidth($listview2, 0,213)
    
    
    $add_members = GUICtrlCreateButton("+ Add", 20, 340, 80, 25, 0x0080)
    
    $remove_members = GUICtrlCreateButton("- Remove", 110, 340, 80, 25, 0x0080)
    
    
    GUISetState(@SW_SHOW)
    
    While 1
    
    Switch GUIGetMsg()
    
    Case $GUI_EVENT_CLOSE
    
    GUIDelete($gui1)
    
    ExitLoop
    
    Case $add_members
    
    ;MsgBox(0,"","Add")
    
    _add_groupMembers()
    
    ;_Refresh() ; $listview2
    
    
    Case $remove_members
    
    
    $selected_item = ""
    
    $selected_item = ControlListView($gui1, "", $listview2, "GetSelected")
    
    
    If $selected_item = "" Then
    
    MsgBox(0,"Info","Bitte eine Auswahl Treffen...")
    
    Else
    
    $selected_item = Number($selected_item) ;String wird in Number formatiert
    
    $selected_user = _GUICtrlListView_GetItemText($listview2, $selected_item)
    
    $selected_user_anmelde = _GUICtrlListView_GetItemText($listview2, $selected_item,1)
    
    $t = MsgBox(4,"Achtung","Der folgende User wird aus der Gruppe entfernt!" & @CRLF & @CRLF & $selected_user)
    
    
    If $t = 6 Then
    
    ;MsgBox (0,"","you have pressed Yes")
    
    ;MsgBox(0,"",$selected_group)
    
    
    $sGroup = $selected_group
    
    $sUser = $selected_user_anmelde
    
    
    $iValue = _AD_RemoveUserFromGroup($sGroup, $sUser)
    
    If $iValue = 1 Then
    
    MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' successfully removed from group '" & $sGroup & "'")
    
    ElseIf @error = 1 Then
    
    MsgBox(64, "Active Directory Functions - Example 1", "Group '" & $sGroup & "' does not exist")
    
    ElseIf @error = 2 Then
    
    MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' does not exist")
    
    ElseIf @error = 3 Then
    
    MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' is not a member of group '" & $sGroup & "'")
    
    Else
    
    MsgBox(64, "Active Directory Functions - Example 1", "Return code '" & @error & "' from Active Directory")
    
    EndIf
    
    
    ElseIf $t = 7 Then
    
    ;MsgBox (0,"","you have pressed No")
    
    EndIf
    
    
    EndIf
    
    _Refresh(); $listview2
    
    
    EndSwitch
    
    WEnd
    
    
    EndFunc
    
    
    
    Func _add_groupMembers()
    
    
    $gui2 = GUICreate("Add Group Members")
    
    $pic2 = GUICtrlCreatePic(@ScriptDir & "/pic/User_add.gif",20,20,40,40)
    
    $grouplabel2 = GUICtrlCreateLabel($selected_group ,80,30,200,20)
    
    GUICtrlCreateLabel("Add User: ", 40, 80, 231, 17)
    
    $add_user = GUICtrlCreateInput("", 120, 80, 180, 21)
    
    $OK = GUICtrlCreateButton("OK", 20, 340, 80, 25, 0x0080)
    
    
    GUISetState(@SW_SHOW)
    
    While 1
    
    Switch GUIGetMsg()
    
    Case $GUI_EVENT_CLOSE
    
    GUIDelete($gui2)
    
    ExitLoop
    
    Case $OK
    
    
    $sUser = GUICtrlRead($add_user)
    
    $sGroup = $selected_group
    
    
    ; Add user to group
    
    Global $iValue = _AD_AddUserToGroup($sGroup, $sUser)
    
    If $iValue = 1 Then
    
    MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' successfully assigned to group '" & $sGroup & "'")
    
    ElseIf @error = 1 Then
    
    MsgBox(64, "Active Directory Functions - Example 1", "Group '" & $sGroup & "' does not exist")
    
    ElseIf @error = 2 Then
    
    MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' does not exist")
    
    ElseIf @error = 3 Then
    
    MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' is already a member of group '" & $sGroup & "'")
    
    Else
    
    MsgBox(64, "Active Directory Functions - Example 1", "Return code '" & @error & "' from Active Directory")
    
    EndIf
    
    
    _Refresh() ; $listview2
    
    GUIDelete($gui2)
    
    ExitLoop
    
    
    EndSwitch
    
    WEnd
    
    
    EndFunc
    
    
    Func _Refresh() ;$listview2
    
    
    _GUICtrlListView_DeleteAllItems($listview2)
    
    
    $aMembers = _AD_GetGroupMembers($selected_group) ; hier den AD gruppennamen eintragen AD-Gruppenname
    
    If @error > 0 Then
    
    MsgBox(64, "Active Directory Functions", "The group has no members")
    
    Else
    
    _ArraySort($aMembers, 0, 1)
    
    ;ArrayDisplay($aMembers, "Active Directory Functions - Example 1 - List of members for group")
    
    EndIf
    
    
    For $i = 1 to $aMembers[0]
    
    
    $sFQDN = _AD_SamAccountNameToFQDN()
    
    
    $aMembers01 = _AD_FQDNToDisplayname($aMembers[$i])
    
    $sSamAccountName = _AD_FQDNToSamAccountName($aMembers[$i])
    
    
    GUICtrlCreateListViewItem($aMembers01 & "|" & $sSamAccountName , $listview2)
    
    Next
    
    
    EndFunc
    Alles anzeigen

    ToDo: User Add - Suche und Auflistung von Usern nach Anmeldename oder Nachnamen.

    Gruß gmmg :)

  • App bzw. Webseite ermitteln, welche generische Anmeldeinformationen hinterlegt

    • gmmg
    • 26. Februar 2019 um 11:14

    Hallo autoBert,

    ich kann das leider nicht nachvollziehen. Habe derzeit keine Windows10 bei der Hand.

    Eventuell hat ja noch ein anderer User eine zündende Idee :) Im iNet gibt es noch diverse Beispiele für Powershell, aber ob da das passende dabei ist, musst du mal schauen.

    Gruß gmmg

  • AD Usermanager - GetManagedBy

    • gmmg
    • 26. Februar 2019 um 11:10

    Hallo Zusammen,

    ich habe mal angefangen eine Oberfläche für die AD Funktion "_AD_GetManagedBy" zu erstellen.

    Was jetzt noch im Script fehlt, ist ein Refresh der Ansicht, nach hinzufügen bzw. Löschen von Usern der Gruppe. Hier fehlt mir aber gerade der Ansatz, wie ich das am Besten einfüge.

    C
    #include <D:\Data\scripte\AD_1.4.11.0_Functions\AD.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GuiListView.au3>
    #include <GuiButton.au3>
    
    If Not FileExists(@ScriptDir & "/pic") Then DirCreate(@ScriptDir & "/pic")
    
    FileInstall("D:\Data\scripte\AD_Groups/User.gif", @ScriptDir & "/pic/User.gif",1)
    FileInstall("D:\Data\scripte\AD_Groups/Users_Group.gif", @ScriptDir & "/pic/Users_Group.gif",1)
    FileInstall("D:\Data\scripte\AD_Groups/User_add.gif", @ScriptDir & "/pic/User_add.gif",1)
    FileInstall("D:\Data\scripte\AD_Groups/User_delete.gif", @ScriptDir & "/pic/User_delete.gif",1)
    
    _AD_Open()
    
    $user = @username
    
    $aManagedBy = _AD_GetManagedBy($user)
    If @error > 0 Or $aManagedBy[0][0] = 0 Then
        MsgBox(64, "Active Directory Functions - Example 1", "No managed groups could be found")
        $bNotFound = True
    Else
        ;_ArrayDisplay($aManagedBy, "Active Directory Functions - Example 1 - groups managed by")
        ;MsgBox(0,"",_AD_FQDNToSamAccountName($aManagedBy[1][0]))
    
    EndIf
    
    $sFQDN = _AD_SamAccountNameToFQDN($user)
    ; Get the Display Name for the current User
    $sDisplayName = _AD_FQDNToDisplayname($sFQDN)
    ;MsgBox(0,"",$sDisplayName)
    
    ; Create a GUI with various controls.
    $hgui = GUICreate("Groupmanager")
    $pic1 = GUICtrlCreatePic(@ScriptDir & "/pic/User.gif",20,20,40,40)
    $userlabel1 = GUICtrlCreateLabel("Manager:   " & $sDisplayName ,80,30,200,20)
    $grouplabel1 = GUICtrlCreateLabel("Managed Groups ",20,100,180,20)
    
    $listview1 = GUICtrlCreateListView("Group Name", 20, 120, 320, 200,0x0004)
    _GUICtrlListView_SetColumnWidth($listview1, 0,316)
    
    For $i = 1 to $aManagedBy[0][0]
    
        ;MsgBox(0,"",$aManagedBy[$i][0])
        GUICtrlCreateListViewItem(_AD_FQDNToSamAccountName($aManagedBy[$i][0]), $listview1)
    
    Next
    
    _GUICtrlListView_SetItemSelected($listview1, 0)
    
    $view_members = GUICtrlCreateButton("View Members", 20, 340, 120, 25)
    
    ; Display the GUI.
    GUISetState(@SW_SHOW, $hgui)
    
    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case $view_members
    
                $selected_item =  ControlListView($hgUI, "", $listview1, "GetSelected")
                $selected_item = Number($selected_item) ;String wird in Number formatiert
                $selected_group = _GUICtrlListView_GetItemText($listview1, $selected_item)
    
                _EditgroupMembers($selected_group)
    
        EndSwitch
    WEnd
    
    ; Delete the previous GUI and all controls.
    GUIDelete($hgui)
    _AD_Close()
    
    
    Func _EditgroupMembers($selected_group)
    
        ;MsgBox(0,"2",$selected_group)
    
        $aMembers = _AD_GetGroupMembers($selected_group)  ; hier den AD gruppennamen eintragen AD-Gruppenname
        If @error > 0 Then
            MsgBox(64, "Active Directory Functions", "The group has no members")
        Else
            _ArraySort($aMembers, 0, 1)
            ;ArrayDisplay($aMembers, "Active Directory Functions - Example 1 - List of members for group")
        EndIf
    
        $gui1 = GUICreate("Edit Group Members")
        $pic2 = GUICtrlCreatePic(@ScriptDir & "/pic/Users_Group.gif",20,20,40,40)
        $grouplabel2 = GUICtrlCreateLabel($selected_group ,80,30,200,20)
    
        $listview2 = GUICtrlCreateListView("Name|Anmeldename", 20, 120, 320, 200,0x0004)
    
    
        For $i = 1 to $aMembers[0]
    
            $sFQDN = _AD_SamAccountNameToFQDN()
    
            $aMembers01 = _AD_FQDNToDisplayname($aMembers[$i])
            $sSamAccountName = _AD_FQDNToSamAccountName($aMembers[$i])
    
            ;MsgBox(0,"", $aMembers01)
            ;MsgBox(0,"", $sSamAccountName)
            ;GUICtrlCreateListViewItem($aMembers01, $listview2)
            GUICtrlCreateListViewItem($aMembers01 & "|" & $sSamAccountName , $listview2)
    
        Next
    
        ;_GUICtrlListView_SetColumnWidth($listview2, 0,316)
        _GUICtrlListView_SetColumnWidth($listview2, 0,213)
    
        $add_members = GUICtrlCreateButton("+  Add", 20, 340, 80, 25, 0x0080)
        $remove_members = GUICtrlCreateButton("-  Remove", 110, 340, 80, 25, 0x0080)
    
        GUISetState(@SW_SHOW)
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    GUIDelete($gui1)
                    ExitLoop
                Case $add_members
                    ;MsgBox(0,"","Add")
                    _add_groupMembers()
    
                Case $remove_members
    
                    $selected_item = ""
                    $selected_item =  ControlListView($gui1, "", $listview2, "GetSelected")
    
                    If $selected_item = "" Then
                        MsgBox(0,"Info","Bitte eine Auswahl Treffen...")
                    Else
                        $selected_item = Number($selected_item) ;String wird in Number formatiert
                        $selected_user = _GUICtrlListView_GetItemText($listview2, $selected_item)
                        $selected_user_anmelde = _GUICtrlListView_GetItemText($listview2, $selected_item,1)
                        $t = MsgBox(4,"Achtung","Der folgende User wird aus der Gruppe entfernt!" & @CRLF & @CRLF & $selected_user)
    
                        If $t = 6 Then
                            ;MsgBox (0,"","you have pressed Yes")
                            ;MsgBox(0,"",$selected_group)
    
                            $sGroup = $selected_group
                            $sUser = $selected_user_anmelde
    
                            $iValue = _AD_RemoveUserFromGroup($sGroup, $sUser)
                            If $iValue = 1 Then
                                MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' successfully removed from group '" & $sGroup & "'")
                            ElseIf @error = 1 Then
                                MsgBox(64, "Active Directory Functions - Example 1", "Group '" & $sGroup & "' does not exist")
                            ElseIf @error = 2 Then
                                MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' does not exist")
                            ElseIf @error = 3 Then
                                MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' is not a member of group '" & $sGroup & "'")
                            Else
                                MsgBox(64, "Active Directory Functions - Example 1", "Return code '" & @error & "' from Active Directory")
                            EndIf
    
                        ElseIf $t = 7 Then
                            ;MsgBox (0,"","you have pressed No")
                        EndIf
    
                    EndIf
            EndSwitch
        WEnd
    
    EndFunc
    
    
    Func _add_groupMembers()
    
        $gui2 = GUICreate("Add Group Members")
        $pic2 = GUICtrlCreatePic(@ScriptDir & "/pic/User_add.gif",20,20,40,40)
        $grouplabel2 = GUICtrlCreateLabel($selected_group ,80,30,200,20)
        GUICtrlCreateLabel("Add User: ", 40, 80, 231, 17)
        $add_user = GUICtrlCreateInput("", 120, 80, 180, 21)
        $OK = GUICtrlCreateButton("OK", 20, 340, 80, 25, 0x0080)
    
        GUISetState(@SW_SHOW)
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    GUIDelete($gui2)
                    ExitLoop
                Case $OK
    
                    $sUser = GUICtrlRead($add_user)
                    $sGroup = $selected_group
    
                    ; Add user to group
                    Global $iValue = _AD_AddUserToGroup($sGroup, $sUser)
                    If $iValue = 1 Then
                        MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' successfully assigned to group '" & $sGroup & "'")
                    ElseIf @error = 1 Then
                        MsgBox(64, "Active Directory Functions - Example 1", "Group '" & $sGroup & "' does not exist")
                    ElseIf @error = 2 Then
                        MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' does not exist")
                    ElseIf @error = 3 Then
                        MsgBox(64, "Active Directory Functions - Example 1", "User '" & $sUser & "' is already a member of group '" & $sGroup & "'")
                    Else
                        MsgBox(64, "Active Directory Functions - Example 1", "Return code '" & @error & "' from Active Directory")
                    EndIf
    
            EndSwitch
        WEnd
    
    EndFunc
    Alles anzeigen

    Die GUI für die +add Funktion ist auch noch nicht komplett. Man kann aber schon User in die Gruppe aufnehmen.

    Das Hinzufügen und Löschen der User aus der Gruppe funktioniert jetzt. (siehe Bilder)

    Im Suchfeld kann der Login oder der Name eingeben werden. Dabei werden die Sucheinträge dynamisch geändert.


    Gruß gmmg :)

    Dateien

    Usermanager_Ansicht.jpg 133,75 kB – 0 Downloads AD_Groups.zip 376,98 kB – 404 Downloads Edit_Group_Members.PNG 51,38 kB – 0 Downloads Edit_Group_Members_DEL.PNG 32,68 kB – 0 Downloads
  • App bzw. Webseite ermitteln, welche generische Anmeldeinformationen hinterlegt

    • gmmg
    • 22. Februar 2019 um 11:08

    Hi autoBert,


    was gibt der cmdkey /List parameter aus? Welches BS nutzt du Windows 10?

    Ist es eventuell eine RAS Verbindung (cmdkey /delete /ras)

    Hier nochmal ein anderer Link: https://www.searchsecurity.de/tipp/Gespeiche…-Tools-loeschen



    Gruß gmmg

  • App bzw. Webseite ermitteln, welche generische Anmeldeinformationen hinterlegt

    • gmmg
    • 18. Februar 2019 um 15:10

    Hallo autoBert,

    schau mal nach cmdkey. Mit dem /list parameter lassen sich gespeicherte ausgeben. Mit cmdkey /delete /ras löscht man die Einträge

    Hier auch eine URL dazu https://www.tecchannel.de/a/gespeicherte…usgeben,2033029

    Ich hoffe das ist die richtige Info :)

    Gruß gmmg

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™