Ça n'existe pas à ma connaissance. Tu peux automatiser la fermeture d'une session (
log out), mettre en veille (
sleep), redémarrer (
restart) ou éteindre (
shut down).
Ce que tu demandes me semble impossible pour la raison suivante :
Supposons qu'il existe une commande
swap to user "utilisateur"
with password "motdepasse".
Cette commande est lancée par "utilisateurActuel". La partie « fermeture de la session » ne pose pas de problème, "utilisateurActuel" est encore actif pendant que les applications se ferment. Puis arrive le moment où la session est fermée. À ce moment "utilisateurActuel" n'est plus actif. Il ne peut alors pas envoyer la commande d'ouverture d'une nouvelle session en fournissant le nom d'utilisateur et le mot de passe.
Par contre, il est possible de passer à un autre utilisateur, en gardant la session actuelle active (c'est la permutation rapide).
Voir ici :
An AppleScript to ease fast user switching - Mac OS X Hints
Si tu n'es pas trop à l'aise avec l'anglais, il faut enregistrer le script donné avec le nom du compte dans lequel tu veux permuter.
Pour que le script fonctionne, il faut également activer l'accès au script de l'interface graphique (GUI scripting). Il faut pour cela cocher dans les préférences système Accessibilité la case d'accès aux périphériques d'aide (sous Mavericks, pour raison de sécurité, c'est plus compliqué, mais d'après un autre message t'es sous 10.7 donc pour toi c'est aisé).
Je remets ici le code qui provient du site Macworld.com (pour le cas où ça change d'URL ou bien devient inaccessible) :
Bloc de code:
set thePassword to "password"
set N to name of (info for (path to me))
set AppleScript's text item delimiters to (".")
set N to first text item of N
set AppleScript's text item delimiters to ""
set N to do shell script "/usr/bin/id -u " & N
do shell script "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -switchToUserID " & N
tell application "System Events"
tell process "SecurityAgent" to set value of text field 1 of group 1 of window 1 to thePassword
click button 2 of window 1 of application process "SecurityAgent"
end tell
Je n'ai pas testé le code (qui date de 2008), peut-être faudra-t-il l'adapter pour 10.7.