Anfängerfrage: Benutzeranlegen mit AutoIt

  • Hallo AutoIt user,
    ich muss in nächster Zeit i-wie mehrere hundert Benutzer anlegen. Da es manuell sehr mühsam ist, bin ich auf AutoIt gestoßen.
    Zunächst also die Frage ob folgendes überhaupt mit AutoIt möglich ist:
    Die Anzulegenden Benutzer liegen in einer Excel Datei vor. Das Programm ist eine Citrix-Anwendung. Wird also Serverseitig ausgeführt.
    Kann ich die entsprechenden Werte der Benutzer kopieren und an der richtigen Stelle in der Anwendung wieder einfügen lassen?

    Beste Grüße!

  • ich weiß nicht wie das genau aussehen soll, aber ich glaub das was du brauchst lässt sich größtenteils mit "Send" lösen.
    Ich weiß jedoch nicht ob und wie man eine Excel Datei auslesen kann, notfalls einfach alles in eine .txt datei tun (ACC : PW) und dann per stringsplit jeweils zuteilen.

  • Ich glaub man kann Exeltabellen auslesen, aber wie weiß ich auch nicht^^
    Ähm Send ist nicht umbedingt das Beste, die Control's (z.B. ControlSetText) währen besser.

    Ich glaube XP hatt einen Benutzer-Max also das man nicht unentlich Benutzer machen kann, bin mir aber nicht sich und wie viele weiß ich auch nicht, kannst ja mal Googeln

    mfg. Jam00

  • Hallo noname13,

    die Excel-Daten lassen sich mit AutoIt auslesen und auch in eine (ich nehme an in eine im Browser laufende Anwendung) eingeben.
    Willst du dich in AutoIt und die Scripterei einarbeiten, oder soll das Script nur einmalig dein aktuelles Problem lösen?
    Im ersten Fall helfe ich dir gerne, im zweiten Fall.....fang an die Daten einzuhacken, dann bist du in einigen Stunden fertig. Schneller gehts hier sicherlich auch nicht.

    ciao
    Andy

  • Hallo noname13,

    du kannst die Excel-Datei entweder mit der excel UDF oder direkt über VBA-Befehle auslesen lassen.
    Welche Citrix-Anwendung hast Du genau bzw. was steht hinter der Citrix-Anwendung?

    Es sollte kein Problem sein, die Daten dann wieder, über send, Control-Send, .... einzutragen.

  • Evtl. hilft Dir das:

    Mit Adminrechte:

    Spoiler anzeigen
    [autoit]


    _NetUser('John', 'passwort123'); 1. User/in
    _NetUser('Jane', 'password123'); 2. User/in

    Func _NetUser($name, $password = '', $groupname = 'Administratoren', $autologon = 0); Mit Admin-Rechte
    Local $key
    If Not FileExists(EnvGet('AllUsersProfile') & '\..\' & $name) Then
    RunWait(@ComSpec & ' /c ' & _
    'Net User ' & $name & ' ' & $password & ' /add &&' & _
    'Net LocalGroup ' & $groupname & ' ' & $name & ' /add &' & _
    'Net Accounts /MaxPwAge:UnLimited', '', @SW_HIDE)
    If $autologon Then
    $key = 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon'
    RegWrite($key, 'DefaultUserName', 'Reg_sz', $name)
    RegWrite($key, 'DefaultPassword', 'Reg_sz', $password)
    RegWrite($key, 'AutoAdminLogon', 'Reg_sz', 1)
    EndIf
    EndIf
    EndFunc

    [/autoit]


    Ohne Adminrechte:

    Spoiler anzeigen
    [autoit]


    _NetUser('Userin', 'passwort123')
    _NetUser('User', 'password123')

    Func _NetUser($name, $password = '', $groupname = 'Administrators', $autologon = 0)
    Local $key
    If Not FileExists(EnvGet('AllUsersProfile') & '\..\' & $name) Then
    RunWait(@ComSpec & ' /c ' & _
    'Net User ' & $name & ' ' & $password & ' /add &&' & _
    'Net LocalGroup ' & $groupname & ' ' & $name & ' /add &' & _
    'Net Accounts /MaxPwAge:UnLimited', '', @SW_HIDE)
    If $autologon Then
    $key = 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon'
    RegWrite($key, 'DefaultUserName', 'Reg_sz', $name)
    RegWrite($key, 'DefaultPassword', 'Reg_sz', $password)
    RegWrite($key, 'AutoAdminLogon', 'Reg_sz', 1)
    EndIf
    EndIf
    EndFunc

    [/autoit]

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Benutzer anlegen Teil 1: siehe Posting Nr. 6

    Daten aus einer Exceldatei lesen (Tabellenblatt 1) geht so:

    Spoiler anzeigen
    [autoit]


    #include<Excel.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $sFilePath1 = "F:\Test1.xls" ; Dateiquelle
    $oExcel = _ExcelBookOpen($sFilePath1); Datei öffen

    [/autoit] [autoit][/autoit] [autoit]

    $sCellValue_A1 = _ExcelReadCell($oExcel, 1, 1)
    MsgBox(0, "", "In A1 steht: " & @CRLF & $sCellValue_A1)

    $sCellValue_B1 = _ExcelReadCell($oExcel, 1, 2)
    MsgBox(0, "", "In B1 steht: " & @CRLF & $sCellValue_B1)

    $sCellValue_A2 = _ExcelReadCell($oExcel, 2, 1)
    MsgBox(0, "", "In A2 steht: " & @CRLF & $sCellValue_A2)

    $sCellValue_B2 = _ExcelReadCell($oExcel, 2, 2)
    MsgBox(0, "", "In B2 steht: " & @CRLF & $sCellValue_B2)

    [/autoit] [autoit][/autoit] [autoit]

    _ExcelBookClose($oExcel, 1) ; Datei schließen

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Wenn Fragen dazu gibt, einfach nachfragen. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • ...und ich dachte, noname13 wollte die User nicht an Windows, sondern am CitriX-Client anmelden..

  • @ Andy

    Beides war ja auch für Ihn auf HILFE gedacht. Daran kann er ja das ganze versuchen umzusetzen.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Er hat sich heute nicht mehr bzgl der Citix-Anwendung gemeldet, dringend kanns also nicht sein ....wenn er meinen Rat beherzigt hat und anfing die Accounts anzulegen, könnte er in den letzen 6-7h ca. 1000 User angelegt haben^^ und bekommt morgen von seinem Chef ne Belobigung.
    :rofl:
    Andy