Mavericks-Startskript

399
Chris

Ich versuche, ein kleines Skript zu schreiben, das gestartet wird, wenn sich der Benutzer anmeldet. Ich habe gesucht und das Skript zum Laufen gebracht, konnte aber beim Anmelden mit .plist nicht ausgeführt werden

Wir haben ein Active Directory-Setup. Wenn sich der Benutzer mit seinen Anmeldeinformationen anmeldet, funktioniert das Skript nach der Ausführung manuell

tell application "finder" set MyName to do shell script "whoami" mount volume "smb://server/folder/" & MyName end tell 

oder

set MyName to do shell script "whoami" mount volume "smb://server/folder/" & MyName 

und speicherte es als .scpt sowohl manuell

Oder ich muss es so verwenden

tell application "Terminal" set MyName to do shell script "whoami" mount volume "smb://server/folder/" & MyName end tell 

Speichern Sie es als .sh

Nun ist die Liste gespeichert in /Library/LaunchAgents:

<plist version="1.0">  <dict> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> <key>Label</key> <string>com.script</string> <key>ProgramArguments</key> <array> <string>/Users/Shared/SCRIPT.sh</string> </array> </dict>  </plist> 

und führen Sie den folgenden Befehl aus

launchctl load /Library/LaunchAgents/com.script.plist 

Es funktioniert nicht. Das Laufwerk kann während der Anmeldung nicht automatisch geladen werden

Bitte helfen Ich bin kein Programmierer, also seien Sie bitte genau.

Vielen Dank, Chris

0
Ich habe einige Skriptformate für diese Site aufgeräumt. Es schien, als wären einige Charaktere abgeschnitten worden, also versuchte ich, sie zu ersetzen, um eine gültige PLIST zu erstellen. Überprüfen Sie jedoch, ob sie genau den Inhalt der Datei widerspiegelt. Verwenden Sie auch Linux oder OSX? Es handelt sich hierbei um zwei verschiedene Betriebssysteme, die unterschiedliche Antworten haben werden (aber Sie haben beide für Sie markiert). Darth Android vor 9 Jahren 0
Ich verwende osx 10.9 Mavericks .... im Posting entfernte ich das> weil es nicht alle Codes anzeigen würde ... danke ... sieht viel besser aus Chris vor 9 Jahren 0

1 Antwort auf die Frage

0
Gordon Davisson

Ihr Skript ist ein Applescript, kein Shell-Skript. Sie können es also nicht direkt ausführen. Ich denke, es würde funktionieren, wenn der ossascriptBefehl es interpretiert:

<array> <string>/usr/bin/osascript</string> <string>/Users/Shared/SCRIPT.sh</string> </array> 

(& verwenden Sie eine passendere Dateierweiterung als ".sh")

BTW, ich bin ziemlich sicher, dass Sie KeepAliveauf <false/>- mit ihm auf <true/>, wird Ihr Skript kontinuierlich und nicht erneut ausgeführt werden, als nur einmal.