Beiträge von Lashandan

    Hi Musashi


    Ich möchte ja, dass sich mehrere Instanzen gleichzeitig starten und nicht das aufeinander gewartet wird, bis die andere fertig ist.

    Dann hätte ich mit ShellExecuteWait() nichts gekonnt.


    Die globalen Deklarationen habe ich auf local geändert.

    Das hätte mir schon vorher auffallen müssen ^^

    Danke dafür ;)

    BugFix


    Habs jetzt durchdrungen und verstanden.


    Aufrufskript:

    Hier musste ich am Ende aber einen Sleep(1000) einbauen.

    Denn sonst kloppen sich die jeweiligen Verarbeitungsprogramme um die Einträge und es kommt zu Fehlern in der Exportdatei.


    Verarbeitungsprogramm:

    BugFix


    Vielen Dank für das Aufrufskript.


    Ich stehe aber grade irgendwie im Wald.


    Aus dem Aufrufskript werden die Parameter ausgegeben.


    Wie binde ich diese nun korrekt in die kompilierte work.exe ein?


    Im Verarbeitungsskript muss ich diese Paramter ja bekannt geben bzw. mit ihnen in der Funktion arbeiten.


    Leider verstehe ich das nicht so ganz.

    BugFix vielen Dank für deine schnelle Unterstützung


    Folgendes habe ich bis jetzt.



    Als nächstes möchte ich das Verarbeitungsskript erstellen.

    Wie übergebe ich den String richtig, sodass das Verarbeitungsskript diesen Zeile für Zeile verarbeitet?

    Hallo liebe AutoIter,


    ich brauche eure Unterstützung bei folgendem Vorhaben.


    Ich habe eine Textdatei mit n Einträgen pro Zeile (für das Beispiel sagen wir mal 100 Einträge).

    Diese Einträge möchte ich zählen lassen.

    Dafür nehme ich $n = FileReadToArray($Textdatei)

    Weiterhin definiere ich eine Variable die für die Anzahl der zu startenden Instanzen stehen soll.

    Als Beispiel $i = 10 für 10 zu startende Instanzen


    Jede Instanz soll 10 Einträge aus der Textdatei lesen und zum Weiterverarbeiten nutzen.

    Also $p = Ubound($n) / $i


    Jetzt soll mittels for-Schleife die Funktion aufgerufen werden und wie folgt arbeiten (Beispiel: for $x = 1 to $i):

    _Funktion(1) lese die Einträge aus der Textdatei von 1-10 und verarbeite sie.

    _Funktion(2) lese die Einträge aus der Textdatei von 11-20 und verarbeite sie.

    _Funktion(3) lese die Einträge aus der Textdatei von 21-30 und verarbeite sie usw.


    Ist dies möglich?

    Wenn ja, wie gehe ich vor?

    Da müsstest du bitte die Source Version herunterladen und über die AutoIt_Studio.au3 starten. Dann sind auch die Fehlermeldungen Detailierter.
    Da aber in wenigen Tagen ein neues Update (1.09) erscheint, bitte ich dich vlt. noch um etwas geduld.

    In Ordnung, dann werde ich mich einfach noch etwas gedulden ;)

    Danke vorab!

    Hi ISI360


    ich habe heute erst dein ISN AutoIt Studio entdeckt und wollte direkt loslegen und damit arbeiten...


    leider erhalte ich immer wieder an verschiedenen Stellen folgende Fehlermeldung:



    Kannst du damit was anfangen bzw. mir erläutern was falsch läuft?

    Hallo nochmal in die Runde und nochmal vielen Dank an alle Helfer. :thumbup::party::klatschen::thumbup:


    Letztlich hat mich der Code von Bitnugger am meisten zum Ziel geführt. :theke:


    Hier nun also der finale Code:


    Habe mich allerdings noch dazu entschlossen die Funktionen für die Druckeinstellungen etc. vorerst auszukommentieren.

    Wenn ich hierfür mal wieder mehr Zeit habe, werde ich mich da nochmal ransetzen.

    Hey Concara ,


    ich werde morgen ebenfalls mal den HKEY_USER Zweig testen.

    Und du liegst völlig richtig in deiner Annahme.

    Ich arbeite in einem Unternehmen mit über 500 Rechnern - und wir verwenden für die Rechner eine AD-Domain.

    Für die meisten Drucker haben wir einen Printserver, dennoch haben wir auch einen beachtlichen Teil an Druckern die lokal per USB angeschlossen sind.

    Die Adminrechte habe ich ausnahmslos.


    Ich möchte ganz simpel folgendes erreichen;

    - Rechnernamen eingeben und den installierten Standarddrucker angezeigt bekommen, weiterhin natürlich auch alle anderen Drucker die für den jeweiligen Rechner installiert sind.

    - viele Rechner haben die klassischen PDF-Printer und einen Hauptdrucker der über den Printserver kommt - dieser ist auch gleichzeitig der Standarddrucker

    - Wir haben aber auch viele Rechner die an mehreren Orten in unserem Unternehmen drucken müssen

    - je granularer und genauer das Skript arbeitet, desto besser


    Ich möchte nichtmal zwingend die Einstellungen der Drucker ändern.

    In der Praxis reicht es mir, angezeigt zu bekommen an welchem Rechner welche Drucker installiert sind.

    Einstellungen, Testseiten drucken usw. ist nur ein kleiner Bonus für den Anwender.


    Die GPOs werden bei uns vom Mutterkonzern vorgegeben und darauf habe ich nur bedingten Einfluss.


    Ich werde morgen nochmal ein bisschen testen.

    Freue mich von dir zu lesen und warte gespant auf dein Skript für die ID zum jeweiligen User ;)


    Bis dahin erstmal,

    gute Nacht :sleeping:

    Vielen Dank an der Stelle für eure Hilfe.


    Habe hier mal den aktuellen Code der soweit auch ganz gut funktioniert wie ich mir das vorgestellt habe:



    Concara hast du eine Idee wie ich das Problem mit dem Auslesen der installierten Drucker per remote löse?

    Habe schon verschiedene Pfade gefunden aber diese liefern mir leider nicht die selben Informationen:


    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3


    Oder gibt es noch eine ganz andere Möglichkeit die installierten Drucker auszulesen?

    Ich kann es dir nicht genau sagen was falsch läuft, aber dein Fehler liegt in der For Next Schleife

    der Funktion Printerinfo.

    Bist du sicher daß du nur auf @error -1 prüfen willst. Ersetze das mal versuchsweise durch If @error <> 0

    Hi Tuxedo,


    vielen Dank für deine Antwort.

    habe es versuchsweise mal von @error = -1 auf @error <> 0 gesetzt - das Ergebnis bleibt aber unverändert.


    Was ich allerdings mal geändert habe ist folgendes:


    Ich übergebe der Funktion printerInfo() jetzt die Variable $sComputer und erhalte dann auch ein korrektes Ergebnis mit dem Wert aus der InputBox.

    Wenn ich dann den Wert der Variablen in der InputBox ändere und erneut abfrage, erhalte ich auch neue Daten, die ebenfalls korrekt sind.

    Wenn ich dann aber in die Liste klicke, werden mir wieder die alten Werte angezeigt.

    Also habe ich noch irgendeinen Fehler in der GUI das er sich den aktuellen Status nicht sauber zieht.


    Hier mal der abgeänderte Code:

    Hallo liebe AutoITer,


    ich habe folgendes Problem:


    Innerhalb eines GUI verwende ich eine InputBox. In diese kann/soll der Anwender einen bestimmten Wert eingeben der dann an weitere Funktionen übergeben werden und dann damit weiter gearbeitet werden soll.


    Natürlich soll der Anwender ohne die Anwendung zu schließen und wieder zu öffnen, den Wert verändern können und mehrere Abfragen nacheinander durchführen können.

    Aktuell klappt das ganze leider nur einmal.

    Ändere ich den Wert in der Inputbox und führe die Abfrage erneut aus, wird die Variable nicht verändert weitergegeben.


    Wie gehe ich das am Besten an?


    Hier mal der derzeitige Code:


    Ich hoffe wie immer auf eure Unterstützung.

    Aber der Hinweis mit dem Ubound war perfekt!!!


    Habe nun alles was ich brauche ;)


    Vielen Dank.


    Hier der neue Code:

    Die Funktion _AD_GetObjectProperties sieht wie folgt aus:


    _AD_GetObjectProperties

    _AD_GetObjectProperties($vObject = @UserName, $sProperties = "", $bSort = True)
    Description: Returns a two-dimensional array of all or selected properties and their values of an object in readable form.

    Return Value:

    Success - Returns a one based two-dimensional array with all properties and their values of an object in readable form

    Failure - "" or property name, sets @error to:

    1 - $vObject could not be found

    2 - No values for the specified property. The name of the property in error is returned as the function result

    3 - Error retrieving $vObject. @Extended is set to the error returned by LDAP

    Parameters:

    $vObject - Optional: SamAccountName, FQDN or ADSPath of the object to retrieve properties from (e.g. computer, user, group ...) (default = @Username)

    Can be of type object as well. Useful to get properties for a schema or configuration object (see _AD_ListRootDSEAttributes)

    $sProperties - Optional: Comma separated list of properties to return (default = "" = return all properties)

    $bSort - Optional: True specifies that the array will be sorted on property name (default = True)

    Remarks: Dates are returned in format: YYYY/MM/DD HH:MM:SS local time of the calling user (AD stores all dates in UTC - Universal Time Coordinated)

    Exception: AD internal dates like "whenCreated", "whenChanged" and "dSCorePropagationData". They are returned as UTC

    NT Security Descriptors are returned as: Control:nn, Group:Domain\Group, Owner:Domain\Group, Revision:nn

    No error is returned if there are properties in $sProperties that are not available for the selected object ;+

    Properties are returned in alphabetical order. If $sProperties is set to "samaccountname,displayname" the returned array will contain

    displayname as the first and samaccountname as the second row.

    Author: Sundance

    Modified: water

    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."



    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. :thumbup:

    Verdammt war das dann doch einfach :rock:


    Und für alle weiteren "Sections" kann man ja einfach den Wert "Klicks" ändern und kann mehrere Einträge in der Ini speichern. :thumbup:
    Danke euch für das befreien meiner Barriere :klatschen: