AppleScript zum reconnect der Airport Extreme Basisstation?

F

Faser

Aktives Mitglied
Thread Starter
Dabei seit
20.08.2003
Beiträge
1.023
Reaktionspunkte
0
Hallo zusammen,

gibt es die Möglichkeit, per AppleScript eine AirPort Extreme Basisstation erneut mit dem Internet zu verbinden? Über das AirPort Utility ist das ja prinzipiell möglich, wichtig wäre, das ganze in einem AppleScript umzusetzen.

Vielen Dank für Antworten,
Faser
 
Ich bin nich der Coder, aber ich habe hier ein Skript zum Reboot der Extreme.

Ursprünglich habe ich das von dieser Site, musste es aber eindeutschen.

Code:
--this script will restart the Airport base station in Leopard
--note there is a different script for Tiger

tell application "AirPort Utility" to activate
delay 2
tell application "System Events"
	tell application process "AirPort Utility"
		
		tell window 1
			click button "Manuelle Konfiguration"
			delay 8
		end tell
		
		tell menu bar 1
			click menu bar item "Basisstation"
			
			tell menu bar item "Basisstation"
				tell menu 1
					click menu item "Neustart …"
				end tell
			end tell
		end tell
		
		delay 1 --imperative
		
		tell window 1 --"AirPort Utility - Extreme Base"
			tell sheet 1
				click button "Fortfahren"
			end tell
		end tell
		
		say "Restarting Airport"
		
		delay 1
		
	end tell
end tell

tell application "AirPort Utility" to quit

Du kannst es bestimmt sinngemäß anpassen.
 
Vielen Dank, das scheint ansatzweise zu klappen!

Leider bekomme ich momentan noch eine Fehlermeldung:
Can't get <<class sheE>> 1 of window 1 of <<class pcap>> "AirPort Utility" of application "System Events". Invalid index.

Was hat das denn zu bedeuten?
 
Vielleicht hast Du GUI-Scripting nicht aktiviert.
Zu finden im AppleScript Dienstprogramm.
 
Gibt es zur Lösung dieses Problems auch eine, mit Verlaub, ordentliche Lösung?

Ich habe auch öfter mal das Bedürfnis, meine Internetverbindung neu aufzubauen. Bisher ging das ganz bequem und schnell: Mit einem Klick auf das Airport-Symbol in der Menüleiste. Im Kontextmenü des Netzwerks musste ich dann nur noch auf "Internetverbindung trennen" klicken. Die Airport hat dann sofort die auf "automatisch" konfigurierte Verbindung sofort wieder aufgebaut. Alles in allem hat das keine 5 Sekunden gedauert.

Seit ich meinen iMac gegen einen Mac Pro ausgetauscht habe, in dem ich zunächst auf Airport verzichtet habe, fehlt mir diese Möglichkeit allerdings.

Ich habe schon eine ganze Weile in Foren gesucht, und dieser Beitrag ist der einzige, den ich überhaupt gefunden habe zu dem Thema. Zufrieden stellend finde ich diese Lösung aber beim besten Willen nicht.
 
Ich sitze gerade nicht vor einem Mac mit Airport, deshalb hier auch keine Lösung.
Aber oben geht's um's rebooten der Airport Basisstation, nicht der Netzwerkverbindung zwischen Mac und Basis.
Was Du möchtest, lässt sich sicherlich genauso einfach mit Applescript bewerkstelligen.
 
Da bin ich mir nicht so sicher. Ich würde es ja per GUI-Scripting lösen, aber abgesehen davon, dass es mir schon zu lange dauert, jedesmal das Airport Utility zu starten, weiss ich auch nicht, wie man darin einen manuellen Reconnect auslösen kann. Es scheint dazu in der grafischen Oberfläche wirklich keine Möglichkeit zu geben. Man kann nicht mal die Verbindung trennen und danach wieder aufbauen.

Neustart der Basisstation für mich keine Option, zumal ich am USB-Port eine Festplatte hängen habe, zu der ich nicht jedes mal die AFP-Verbindung verlieren will.

ssh auf die Basisstation, das wär's. Aber soweit ich weiss geht das ja immer noch nicht.

Alles in allem bin ich mit meinem Setup aus 2 Express und einer Extreme sehr zufrieden, und will auch keine andere Hardware anschaffen. Auido-Streaming und WDN waren mit der Hardware anderer Hersteller immer ein fürchterlicher Krampf. Und eigentlich wollte ich mir für den Mac Pro auch nicht unbedingt eine Airport Karte zulegen, aber vielleicht komme ich nicht drum herum.
 
OK, jetzt habe ich verstanden. ;)
Vielleicht hilft das hier.
(Ich kann's leider nicht testen, mangels Airport)
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: masta k
hier ein programmcode, der meine Basis-Station reconnected:
Das Airportmodemutility hat mir hier geholfen...

als Parameter einfach die IP deines Routers angeben


#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <unistd.h>

int main (int argc, const char * argv[]) {
// insert code here...
int sd;
int ret;
struct hostent *host;
struct sockaddr_in server;

sd = socket(AF_INET, SOCK_DGRAM, 0);
if (sd == -1) {
printf("socket failed\n");
}
server.sin_addr.s_addr = inet_addr(argv[1]);
server.sin_port = htons(192);
server.sin_family = AF_INET;

if (connect(sd, &server, sizeof(server)) == -1) {
printf("connect failed\n");
}

char buffer[116]; // from sniffs
for (int i = 1; i <
116; i++) {
buffer = 0;
}
buffer[0] = (char)0x06; // disconnect from S. Sexton - thanks!

if ((ret = send(sd, buffer, sizeof(buffer), 0)) == -1) {
printf("send failed\n");
}
printf("Disconnected...\n");
sleep(5);
buffer[0] = (short)0x07; // connect from S. Sexton - thanks!
if ((ret = send(sd, buffer, sizeof(buffer), 0)) == -1) {
printf("send failed\n");
}
printf("Reconnected...\n");

close(sd);

return 0;
}
 
Zuletzt bearbeitet:
Zurück
Oben Unten