• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Der Frühling ist auch in den eingesandten Fotos deutlich zu erkennen. Zeigt uns, wer Euer Favorit ist! hier geht es lang für Euer Voting --> Klick

Cisco VPN Client Error 51 Resetskript

flostere

Finkenwerder Herbstprinz
Registriert
20.08.08
Beiträge
466
Moin moin,

ich will mich gleich mal an meinem ersten Applescript probieren, um folgendes Problem zu lösen:

Ich nutze mein Macbook viel unterwegs und leider hat der Client probleme mit oft wechselnden Verbindungen. Manchmal reicht es schon aus, wenn ich zu Hause (Wireless) ins Büro fahre und dort mein Macbook über Kabel anschliesse.

Blupp:
"Error 51: Unable to communicate with the VPN subsystem"

Cisco hat es leider verschlafen, das subsystem zurückzusetzen oder neustarten zu können, sonst gäbe es diese Probleme gar nicht.

Ich bin glücklicherweise nicht der Einzige und es gibt im netz folgende Lösung:

sudo kextload /System/Library/Extensions/CiscoVPN.kext

Da ich auf meinem Macbook aus Sicherheitsgründen so gut wie nie als Admin arbeite hämmer ich also immer folgendes ins Terminal:

su admin
pw
sudo kextload /System/Library/Extensions/CiscoVPN.kext
pw
exit

Dies möchte ich nun als Skript lösen, am besten mit einer Erfolgsmeldung am Ende.

Ich habe mir schon mal ein paar gedanken gemacht.

Code:
tell application "Terminal"
	do shell script "sudo kextload /System/Library/Extensions/CiscoVPN.kext" with administrator privileges
end tell

Eine Erfolgsmeldung wäre nun noch sehr schön.

Viele Grüße,
Florian
 

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Warum als Applescript und nicht als Shellscript?
 

flostere

Finkenwerder Herbstprinz
Registriert
20.08.08
Beiträge
466
Auch gerne als Shell script... Hauptsache ich führe nur noch irgendein skript mit quicksilver aus...

Ich möchte dann eigentlich auch nicht immer noch mal administrator/password eingeben, kann man das durch irgend ein "set password" oder so realisieren?

Ich habe eigentlich so überhaupt keine ahnung...

Verstehe ich das richtig?

Folgendes Skript würde auch ausreichen?

Code:
#!/bin/bash
su admin
PW XXXXX
sudo kextload /System/Library/Extensions/CiscoVPN.kext
PW XXXXX
exit
 

sedna

Schweizer Glockenapfel
Registriert
22.10.08
Beiträge
1.375
Hallo!

Dein AppleScript hat ein paar Fehler. Es ist wirklich ratsam, sich ein wenig schlau zu machen, zumal du mit sudo arbeitest.
Die wichtigste Anlaufstelle wäre: do shell script in AppleScript. Da steht eigentlich alles, was du wissen musst. Der AppleScript Language Guide ist natürlich auch lesenswert...
Na ja. Du hast hier gefragt, und ich fasse mal zusammen:

- ein do shell script sollte ausserhalb eines tell Blocks stehen (Oder aber in einem tell me block)
Das Terminal brauchst du eh nicht. Den tell Block kannst du weglassen

- sudo in Verbindung mit with administrator privileges ist unnötig und sogar schlecht


Zur Erfolgsmeldung:
Result
The output of the shell script.

Signals an error if the shell script exits with a non-zero status. The error number will be the status, the error message will be the contents of stderr.

Und dazu die man page von kextload:

DIAGNOSTICS
kextload exits with a zero status if all kexts specified load success-
fully (or are already loaded). If any kext fails to load, kextload
prints an error message for that kext, continues trying to load any
remaining kexts, then exits with a nonzero status.

Das heißt: Du brauchst keine Erfolgsmeldung, sondern eher im Bedarfsfall eine Fehlermeldung!

Code:
try
	do shell script "kextload /System/Library/Extensions/CiscoVPN.kext" password "DEINPASSWORT" with administrator privileges
	
	#optional (entferne die -- in der nächsten Zeile):
	--if result is "" then display alert "Ok!" --giving up after 2
	
on error errText number errNo
	display alert (errNo as text) message errText
end try

Gruß
 
  • Like
Reaktionen: flostere

flostere

Finkenwerder Herbstprinz
Registriert
20.08.08
Beiträge
466
Moin moin,

vielen Dank für die kurze erläuterung deinerseits und den code, hatte in der zwischenzeit auch schon ein bisschen gelesen und war schon auf dem Trichter gekommen, allerdings nicht so präzise wie du es hier nun dargestellt hattest.

Und wieder habe ich Themenbereiche entdeckt, die ich sehr interessant finde, aber wahrscheinlich nie genug Zeit finden werde um mich tiefer damit auseinander setzen zu können.

NetApp & VMware & Cisco sind schon umfangreich genug.

Aber neue Bookmarks habe ich schon mal ;)

Viele Grüße,
Flo