Auf einmal fange alle Macs an zu singen... ALLE!!!

Thomas_xp

Aktives Mitglied
Thread Starter
Dabei seit
05.04.2006
Beiträge
632
Reaktionspunkte
13
Hi Leute.

Ich hatte ein Idee und brauche etwas Hilfe bei der Umsetzung. Ich will ein Skript schreiben, bei dem sich die Shell auf alle Macs eines Netzwerkes einloggt und mit "Cellos" schön lalalala macht.

- Skript muss alle IP's der Macs herrausfinden und sich natürlich nur auf dem Macs einloggen (Wobei es sich um einen Laden handelt und es nur Mac und WLAN-Drucker und Router gibt, welche man irgendwie unterscheiden muss). Die IP's sollen nicht manuell vergeben werden, auch wenn das einfacher wäre.
- Auf allen Maschinen gibt es ein Admin-Konto, ALLE Konten haben den gleichen Namen und Passwort
- Man soll nur einmal Name und Passwort eingeben müssen und das Skript wiederholt es dann.
- Wenn irgendwie möglich sollen alle Macs genau gleichzeitig anfangen zu singen.
- Es soll ein Unterbrechungskommando eingefügt werden, welches das Singen sofort unterbricht, auf allen Rechnern

Was ich im Moment noch nicht weiß....
- wie alle IP's herrausfinden
- wie Macs von anderen Geräten unterscheiden
- wie Login und Passwort wiederholen lassen
- wie "Gleichzeitigkeit" sicherstellen (Idee: Netzwerkzeit oder Systemzeit des "Kommander"

Habt ihr Vorschläge? Ich habe vor 2 Stunden mit AppleScript angefangen ;-) und versuche mich mal soweit durchzuackern.... ICh Wäre für jeder Hilfe sehr dankbar.
 
Ich glaube, AppleScript ist hier nicht die Waffe der Wahl

1) IPs (KEIN APOSTOPH! NEIN!) findest Du am besten über Bonjour heraus
2) Siehe 1: Du holst Dir über Bonjour eben einfach die ssh services.
3) Versteh ich nicht
4) Im Firmennetz ist das nicht so schwer, da ist die Latenz überlicherweise vernachlässigbar

Alex
 
Genau.
Mach das per Shell-Script.
Im Grunde ist es egal, ob du einen Rechner, Drucker oder Router an der Gegenstelle hast, denn eigentlich sollten nur die Rechner auf einen SSH-Zugriff reagieren, weil nur auf diesen ein SSH-Dämon läuft.(Mit dieser Annahme gehe ich davon aus, dass du diese kleinen Wlan-Router meinst, die sonst nicht viel können und über ein Web-Interface gesteuert werden. - Und wenn die doch SSH beherrschen, werden sie spätestens mit dem say-Befehl ncihts anfangen können und damit machst du nichts kaputt.)
 
Alle IPs mit Hostname im Netz bekommst du mit arp -a
Die Mac-Hostname könntest du ja im Ausschlussverfahren ausfiltern. Der Rest: :noplan:
 
- wie Login und Passwort wiederholen lassen
Mach einmal einen "ssh kex exchange" von dem Rechner, der das Skript steuern soll mit allen anderen Rechnern. Dann müssen keine Passwörter mehr angegeben werden.
Dann kannst du einfach über ssh das Applescript aufrufen.

Pseudocode:
Code:
#!/bin/sh

# ips ermittel wie oben beschrieben
# iteriere über jede ip

ssh -l benutzername $ipadresse osascript -e 'tell application xxx 
   etc 
   pp 
   ... 
end tell'

# ende der iteration
Das ganze in eine Textdatei gepackt und ausführbar gemacht und fertig isses...
 
Alle IPs mit Hostname im Netz bekommst du mit arp -a

...
Das ist so nicht richtig. Damit bekommst Du nur die Daten der Rechner, mit denen schon vorher Netzwerkverkehr stattgefunden hat.
 
Zurück
Oben Unten