2 votes

Apple Remote Desktop - Comment envoyer une commande de terminal à des ordinateurs en réseau ?

J'espère que vous pourrez m'aider à créer un script unix pour envoyer une commande de terminal via ARD à plusieurs ordinateurs en réseau. J'espère désactiver l'air drop sur un ensemble de 36 ordinateurs de laboratoire à mon école. Je peux certainement entrer manuellement le script ci-dessous pour désactiver l'air drop, mais ce serait génial si je pouvais juste faire cela "en coulisse" et 36 à la fois.

Le script qui fonctionne est :

 defaults write com.apple.NetworkBrowser DisableAirDrop -bool YES

J'ai une connaissance limitée des scripts/UNIX/ARD, mais j'aimerais apprendre. Jusqu'à présent, tout ce que j'ai obtenu, c'est que le terminal s'ouvre : open /Applications/Utilities/Terminal.app

Cependant, je n'arrive pas à faire fonctionner le script/texte. Toute aide est la bienvenue ! Merci,

1voto

Gordon Davisson Points 30215

Ne vous embêtez pas avec le Terminal ; ARD peut exécuter des commandes shell directement sur les ordinateurs. Il suffit de sélectionner les ordinateurs sur lesquels vous voulez l'exécuter, de cliquer sur le bouton UNIX dans la barre d'outils (ou de choisir le menu Manage > Send UNIX Command). Une fenêtre s'ouvre et vous permet de coller la commande/script que vous voulez exécuter, et de sélectionner l'utilisateur sous lequel l'exécuter.

Mais c'est un peu plus compliqué que cela, car vous modifiez un paramètre par utilisateur. Si vous exécutez la commande en tant que Root, elle ne prendra effet que si quelqu'un se connecte en tant que Root, ce que (espérons-le) personne ne fera jamais. Si vous sélectionnez "Utilisateur actuel de la console sur l'ordinateur cible", la commande sera exécutée par la personne qui est connectée en ce moment, si quelqu'un s'est connecté. Avez-vous plusieurs utilisateurs qui utilisent le même ordinateur et/ou qui se déconnectent entre deux utilisations ? Si c'est le cas, le paramètre sera défini pour certains utilisateurs mais pas pour d'autres.

I pensez à ce court script fonctionnera pour définir le paramètre pour tous les comptes d'utilisateurs actuels (tout le monde avec un répertoire personnel dans /Users) et ajustera également les modèles d'utilisateurs afin que les nouveaux utilisateurs obtiennent ce paramètre également. Notez que ce script doit sera exécuté en tant que Root, et ne prendra pas effet pour les utilisateurs actuels jusqu'à ce qu'ils se déconnectent et se reconnectent.

# Disable AirDrop for current users
for userdir in /Users/*; do
    if [ -d "$userdir/Library" ]; then # only do this for "real" users
        sudo -u "${userdir##*/}" defaults write com.apple.NetworkBrowser DisableAirDrop -bool YES
    fi
done

# Disable AirDrop in the user templates, so new user accounts come with it pre-disabled
for templatedir in "/System/Library/User Template"/*; do
    defaults write "$templatedir/Library/Preferences/com.apple.NetworkBrowser" DisableAirDrop -bool YES
done

AVERTISSEMENT : Je n'ai pas testé ce script. Essayez-le sur un ou quelques ordinateurs que vous pouvez nettoyer ou réimager facilement si quelque chose ne va pas.

1 votes

Gordon - cela a parfaitement fonctionné. En effet, j'ai pu envoyer la commande directement depuis la fenêtre de commande Unix. J'ai vérifié qu'Air Drop ne s'ouvrait plus sur plusieurs profils - merci pour votre aide !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X