Achso: Kann ich anstatt des Programmes auch eine Funktion ausführen lassen?
Den Pfad durch den Funktionnamen ersetzen geht leider nicht ![]()
Beiträge von Scritch
-
-
Alles anzeigen
Wohl eher so:
[autoit]
[/autoit] [autoit][/autoit] [autoit]
Global $benutzername = InputBox("Benutzername", "Geben Sie bitte Ihren Benutzernamen ein.", @UserName)
Global $passwort = InputBox("Passwort", "Geben Sie bitte Ihr Passwort ein.", "", "*")Global $pfad = "c:\WINNT\explorer.exe"
[/autoit] [autoit][/autoit] [autoit]
Global $abenutzername[4] = ["Peter", "Joseph", "Ferdinand", "Ingeborg"]For $r = 0 To Ubound($abenutzername) - 1
[/autoit]
If $abenutzername[$r] = $benutzername Then
RunAs($benutzername, "Domäne", $passwort, 0, $pfad)
EndIf
Next
MsgBox(0, "", "Sie sind zur Installation nich berechtigt!")
ExitBei Dir fehlt nach dem RunAs ein Exit, ansonste perfekt!

-
Funktioniert soweit, danke.
Habe da aber noch eine Kleinigkeit:Spoiler anzeigen
[autoit]Global $benutzername = InputBox("Benutzername", "Geben Sie bitte Ihren Benutzernamen ein.", @UserName)
[/autoit] [autoit][/autoit] [autoit]
Global $passwort = InputBox("Passwort", "Geben Sie bitte Ihr Passwort ein.", "", "*")Global $pfad = "c:\WINNT\explorer.exe"
[/autoit] [autoit][/autoit] [autoit]
Global $abenutzername[4] = ["Peter", "Joseph", "Ferdinand", "Ingeborg"]For $r = 0 To Ubound($abenutzername) - 1
[/autoit] [autoit][/autoit] [autoit]
If Not $abenutzername[$r] = $benutzername Then
MsgBox(0, "", "Sie sind zur Installation nich berechtigt!")
Exit
EndIf
NextRunAs($benutzername, "Domäne", $passwort, 0, $pfad)
[/autoit]
Fals sich ein benutzer anmeldet der sich nicht anmelden darf, oder es zumindest versucht,
Soll eine Meldung kommen. Dachte es würde so funktionieren, dem ist aber nicht so... -
Stimmt, gute Idee. Danke dir

-
Moin,
mit RunAs kann man ja bestimmte Dateien und so mit einer bestimmten Kennung ausführen. Allerdings muss man die ja im Skript angeben. Ist es auch möglich es so einzurichten, dass das ganze nicht mit einer bestimmten Kennung ausgeführt wird, sondern mit einer die man beim Start des Skriptes eingibt? -
Ok, dank erstmal. Aber wird dabei nicht nur das Suchwort gelöscht?
Edit: Irgendwas stimmt da bei dir nicht...
-
So, wieder im etwas das gleiche Problem, daher öffne ich nicht einen neuen Thread.
Ich möchte aus einem Array Spalten löschen. Das funktioniert auch. Eine Schwierigkeitsstufe höher jetzt aber,
möchte ich Zeilen aus einem Array löschen, die mit einem bestimmten Wort anfangen.
Nehmen wir mal als Wort "Eierkucher". Wie stelle ich das am dümmsten an? -
Hallo,
ich wurde vorhin auf die Idee gebracht, dass man Druckertreiber im intergrund installieren kann. Das geht doch sichr auch mit normalen Programmen. Wie bekomme ich das mit AutoIT hin? -
Jop, gerade schon editiert. Habe es erst zu spät gemerkt dass es keine Milisekunden, sondern Sekunden sind.
-
Oder nutzt doch einfach den dritten Parameter von WinWaitActive
[autoit]
If WinWaitActive("Druckerinstallations-Assistent", "Möchten Sie den vorh", 5) Then
[/autoit]
Sleep(500)
Send("{ENTER}")
EndIfIch ralle das aber gerade irgendwie nicht. Wenn WinWaitActive("Druckerinstallations-Assistent", "Möchten Sie den vorh", 5) aktiv wird, soll enter gedrückt werden. Wenns nicht aktiv wird soll mir dem nächsten Punkt im Skript weitergemacht werden. Funktioniert so wie es da steht aber nicht... Stehe gerade bischen auf dem Schlauch :pinch:
Edit: Hat sich erledigt. Dachte die "5" wären Milisekunden, habe es daher in 200 geändert. Sind es aber nicht scheinbar...
-
Ja, habe ich. Hatte MicNeuDev auch schon weiter oben geschrieben dass man es so lösen kann

-
Hätte ich das mal schon gestern gewusst, dass es das gibt

Ich muss allerdings nicht nur Netzwerkdrucker installieren, sondern auch lokale... -
Genau, einen Drucker installieren. So ziemlich am Ende der Installation wird manchmal gefragt, ob, wenn schon einer vorhanden ist, der Treiber beibehalten, oder neuinstalliert werden soll. Jenachdem ob auf dem PC schonmal der Drucker installiert wurde oder nicht, kommt halt das Fenster und das Script stoppt an der Stelle.
Ich werde das mal ausprobieren, danke euch.
-
Timeout? Wie veranstalte ich das denn mit WinWaitActive?
-
Moin,
ich wollte gerne eine Bedingung aus einem aktiven Fenster machen. Das heißt wenn sich ein bestimmtes Fenster öffnet, soll eine Aktion durchgeführt werden. Ich dachte man kann das so realisieren:
[autoit]If (WinWaitActive("Druckerinstallations-Assistent","Möchten Sie den vorh")) Then
[/autoit]
Sleep(500)
Send("{ENTER}")
EndIf
Wenn das Fenster nicht kommt, soll mit dem Script fortgefahren werden, was halt unter dieser Bedingung steht.
Funktioniert aber leider nicht... Was habe ich falsch gemacht? -
Super, das habe ich gesucht - danke dir.
-
Moin,
wenn ich eine Installation mache, egal für welches Programm, sind oftmals Checkboxen da die Standardmäßig ein Häkchen haben. Kann ich diese Checkboxen mit AutoIT abfragen welchen Status sie haben und ggf. deaktivieren? -
Genau das! Danke dir!
-
Hallo,
ich frage mich gerade, ob man die Klicks und Tastatureingaben die man z. B. bei der Installation macht, "aufnehmen" kann und dann gleich in Code umwandelt? Wäre reichlich praktisch finde ich! -
Hallo,
ich wollte eine Combobox erstellen. Soweit, sogut, hat auch geklappt.
Allerdings möchte ich beim Auswählen eines Eintrages auch eine Aktion automatisch ausführen lassen.
In meinem Bsp. wäre es dann die Installation eines Druckertreibers für den ausgewählten Drucker:Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\GUI.kxf
$Form1 = GUICreate("Form1", 277, 261, 188, 112)
$Label1 = GUICtrlCreateLabel("Lokalen_Drucker inst.", 56, 184, 160, 17)
$Combo1 = GUICtrlCreateCombo("Drucker auswählen", 56, 200, 145, 25)
GUICtrlSetData(-1, "E232d|E240d", "Drucker auswählen")
$Button1 = GUICtrlCreateButton("Explorer", 56, 56, 147, 25, $WS_GROUP)
$Label2 = GUICtrlCreateLabel("Netzw. Drucker inst.", 56, 136, 160, 17)
$Combo2 = GUICtrlCreateCombo("Drucker auswählen", 56, 152, 145, 25)
$Combo3 = GUICtrlCreateCombo(".cmd auswählen", 56, 104, 145, 25)
$Label3 = GUICtrlCreateLabel(".cmd kopieren", 56, 88, 160, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit]
$nmsg = GUIGetMsg()
Select
Case $nmsg = $GUI_EVENT_CLOSE
ExitLoop
Case $nmsg = $Button1
RunAs( "Benutzer", "Domäne", "1234", 0, "c:\WINNT\explorer.exe")
EndSelect
WEndWie bekomme ich denn nun die Aktion für die Installation hin?
Edit: Habs schon selber hinbekommen
