Script für Terminal Mac Addressen Änderung

S

Shag

Mitglied
Thread Starter
Dabei seit
05.03.2007
Beiträge
21
Reaktionspunkte
1
Hallo Community, mal in die Runde wink:D

bin seit 3 Wochen begeisterter MacBook Besitzer und konnte bis jetzt alle anfallenden Fragen mit Hilfe dieses Forums per Search beantworten.
Da ich jedoch nicht mit den Shell script weiterkomme bitte ich Euch um Hilfe.


Bis jetzt wechsle ich meine Airport Mac Adresse durch diesen Befehl im Terminal

sudo ifconfig en1 lladdr aa:bb:cc:dd:ee:ff

es geht ja eigentlich recht schnell, aber ich würde mich freuen wenn ich es nicht jedesmal nach dem Neustart neu eintippen würde.

Bin bis jetzt nur soweit gekommen;)

tell application "Terminal"
activate
end tell

dann starten Terminal aber was muß noch dazwischen damit er den oben genannten sudo Befehl ausführt

und auch die nötige Passworteingabe im Terminal für mich übernimmt.

Danke
Gruß Shag
 
do shell script "sudo ifconfig en1 lladdr aa:bb:cc:dd:ee:ff" password "shagspasswort"
 
danke mekkablue:)

läuft aber noch nicht ganz,


tell application "Terminal"
activate
do shell script "sudo ifconfig en1 lladdr aa:bb:cc:dd:ee:ff" password "xxxxxxxx"
end tell

folgenden fehler zeigt der script editor
„Terminal“ hat einen Fehler erhalten: Password:


Hmmmm aber das passwort stimmt was ich eintippe, fehlt vielleicht noch etwas ???:(
 
Ich versteh davon ja nicht sonderlich viel, aber muss nach dem "password" nicht ein Doppelpunkt hin?
Code:
tell application "Terminal"
activate
do shell script "sudo ifconfig en1 lladdr aa:bb:cc:dd:ee:ff" password: "xxxxxxxx"
end tel
 
warum auch immer du deine airport MAC ändern musst...
versuch es doch mal mit einem launchd job, den kannst du ganz einfach mit lingon erstellen und dann braucht es auch keine passwort, weil der dann mit root läuft ;)
 
do shell script gehört zu den Befehlen der Standard Additions - da brauchts kein Terminal, das geht nativ via AS

do shell script v : Execute a shell script or command using the ‘sh’ shell
do shell script string : the command or shell script to execute. Examples are ‘ls’ or ‘/bin/ps -auxwww’
[as type class] : the desired type of result; default is Unicode text (UTF-8)
[administrator privileges boolean] : execute the command as the administrator
[user name string] : use this administrator account to avoid a password dialog (If this parameter is specified, the “password” parameter must also be specified.)
[password string] : use this administrator password to avoid a password dialog
[altering line endings boolean] : change all line endings to Mac-style and trim a trailing one (default true)
→ string : the command output

Einfach mal in die Bibliotheken gucken ;)

Achso - im String sehen die Anführungszeichen so aus: \" Also im Beispiel: "String ... password \"Wort\" "
 
Nochmal langsam zum Mitmeißeln. Es muss sein:
Code:
do shell script "sudo ifconfig en1 lladdr aa:bb:cc:dd:ee:ff" password "xxxxxxxx"

Und nicht:
Code:
tell application "Terminal"
activate
do shell script "sudo ifconfig en1 lladdr aa:bb:cc:dd:ee:ff" password "xxxxxxxx"
end tell

Kein Grund, das Terminal anzusteuern oder es sogar zu aktivieren.
 
hallo ;-)

ich benötige genau das selbe wie Shag!

leider komme ich mit den antworten hier in diesem thread nicht ganz klar.
ich habe keine erfahrung mit script-programmierung. deshalb folgende fragen:

Kein Grund, das Terminal anzusteuern oder es sogar zu aktivieren.

was muss ich wo eingeben?

ich bin sehr dankbar für jede hilfe!

MMM
 
Den oberen Code, den Mekkablue gepostet hat im Script Editor eingeben und speichern. Beim Doppelklick auf die gespeicherte Datei wird die Auktion ausgeführt.
 
danke mobilephoner, für deine schnelle antwort!

leider funktioniert es nicht. ich bekomme immer eine fehlermeldung.
kannst du das eventuell mal prüfen? am einfachsten währe es, wenn du selber mal versuchst das skript zu erstellen. ich hoffe du kannst mir bei der fehlersuche helfen!

bis dann...

[EDIT]

hier die screenshots zum besseren verständniss:

das habe ich eingegeben:
script.jpg


dieser fehler wird ausgegeben wenn ich das script laufen lasse:
error.jpg


natürlich habe ich bei der passwort eingabe mein richtiges passwort verwendet!

danke schon jetzt für jede hilfe!
 
Zuletzt bearbeitet:
Hi,

gibt es hier mittlerweile eine Lösung zu? Hänge da gerade auch dran...
 
Versucht mal dem script folgenen Ausdruck hinzuzufühgen: with administrator privileges
 
Wollte ich gerade hinzufügen in den Thread! Genau das war das Problem! Das muss man allerdings hinter jeden Befehl schreiben, nicht wie im Terminal, wo man sich nur einmal authorisieren muss.

Grüße,

Xcell
 
Das AS muss auch heissen:
do shell script "ifconfig en1 lladdr aa:bb:cc:dd:ee:ff" with administator privileges and password

dann wirst du nach dem Passwort gefragt. Ich glaube das lässt sich nicht wirklich verhindern da man ein passwort nicht einfach so in ein Script pipen darf. Geht ja zb bei SSH auch nicht...

Aber ich glaube die bessere alternative wäre das ganze nicht mit applescript zu machen sondern, ein Startup Item anzulegen... ist eigentlich gar net schwer:
http://www.osxfaq.com/Tutorials/LearningCenter/HowTo/Startup/index.ws

Dann ahst du auch das Passwort problem nicht da es eh als root läuft.

MFG
 
Zuletzt bearbeitet von einem Moderator:
doch, das geht:

password "deinpasswort" with administrator privileges

So funktionierts. Grüße,


Xcell
 
Zurück
Oben Unten