J'ai fait de mon mieux pour trouver une solution aux nombreuses questions de script sur Stack Overflow et sur Internet, mais je n'arrive pas à trouver la solution dont j'ai besoin. Ce que je veux faire est de créer une solution plus automatisée et moins cliquable pour enlever tous les comptes d'utilisateur mis en cache par Mobile sur un système. Je me suis connecté et je suis allé manuellement aux comptes d'utilisateurs et j'ai supprimé les utilisateurs un à la fois en cliquant sur le bouton "-", puis en cliquant sur "Supprimer immédiatement" pour les données de l'utilisateur. Cela fonctionne, mais cela prend du temps et j'ai de meilleures choses à faire avec mon temps. Donc je savais qu'il devait y avoir un moyen de le faire avec un script.Exécution d'un script avec des permissions d'administrateur sur OS X
Je couru à travers ce code:
for cuser in `dscl . -list /Users AuthenticationAuthority | grep LocalCachedUser | awk '{print $1}' | tr '/n' ' '`; do
dscl . -delete /Users/$cuser
done
Si je cours dans le terminal ce que j'obtiens des erreurs d'autorisation. J'ai donc pensé que je devais le faire avec sudo. J'ai donc commencé à chercher des AppleScript pour lancer le script, mais je n'arrive pas à trouver la bonne façon de le faire.
Des idées? En passant, je suis nouveau sur les scripts sur Mac, alors s'il vous plaît commentez votre code afin que je sache ce qui se passe, et donc je ne fais pas juste du code de script sans savoir ce que ça va faire. :)
Merci
J'ai essayé de l'exécuter dans un script Apple, mais maintenant je reçois tout un tas de "delete: Invalid Path", que je suppose être pour chaque utilisateur qu'il essaie de supprimer. Le fichier AppleScript est sur le bureau. Est-ce que ça doit être un autre endroit? Dois-je donner à la commande delete un chemin plus valide? – ScottN
J'ai enlevé le "| tr '/ n' '" "de la commande comme exécution de la commande de liste dans le terminal a été l'impression d'utilisateurs très bizarre. Mais maintenant j'ai un autre problème. Lorsque j'ai exécuté AppleScript la première fois et que je n'ai pas eu d'erreur, j'ai supposé que cela fonctionnait. La vérification de la liste des comptes dans les préférences système répertorie toujours les utilisateurs, de sorte que la suppression n'a pas complètement supprimé les comptes d'utilisateurs du système. Mais si j'exécute à nouveau la commande list, aucun utilisateur n'est imprimé dans la fenêtre Terminal, donc le script n'a plus rien à faire. Qu'est-ce que je fais mal maintenant? La commande "dscl -delete" fait-elle la même chose que l'interface graphique? – ScottN
Ok, ils apparaissaient encore dans les préférences du système jusqu'à ce que j'ai redémarré le système, alors ils n'étaient plus là. J'ai dû supprimer manuellement les dossiers d'utilisateur. Mais cela ne nécessite que quelques clics. Je pourrais être satisfait de cela. Ce serait bien de supprimer le dossier des utilisateurs en même temps. – ScottN