1 votes

Comment appliquer un terminal script utilisant ssh à tous les utilisateurs ?

Je dois désactiver l'option d'aperçu avant impression de Google chrome en utilisant le script. "defaults write com.google.Chrome DisablePrintPreview -boolean true -contribué par CutMaster", à un mac en utilisant ssh et appliquer cela à tous les utilisateurs.

Le script ci-dessus ne fonctionne que lorsqu'on le saisit en étant connecté en tant qu'utilisateur. Cependant, je n'ai pas accès au compte de l'utilisateur mais j'ai accès au compte de l'administrateur.

Votre aide est très appréciée.

0 votes

J'ai oublié de mentionner qu'il s'agit d'une tâche que je dois appliquer à plus de 20 postes de travail et que je préférerais ne pas les embêter. Malheureusement, nous n'avons pas encore mis en place de serveur et tous les réglages doivent être effectués manuellement pour le moment.

0 votes

Si la commande ne fonctionne que lorsqu'un utilisateur est connecté, vous devez vous connecter en tant qu'utilisateur. Vous pouvez essayer de ssh au compte administrateur puis sudo defaults write /Users/foo/Preferences/com.google.Chrome DisablePrintPreview -boolean true -contributed by CutMaster puis ajuster les privilèges en fonction des préférences. Ce n'est pas difficile à script si ça marche.

0voto

Douglas Points 10417

Utilisez le sudo commande

La commande est sudo -u username command

Donc, après vous être connecté en tant qu'administrateur, lancez la commande :

sudo -u <username> defaults write  /Users/<username>/Library/Preferences/com.google.Chrome.plist D
isablePrintPreview -boolean true

Cela permettra de définir la valeur des préférences pour l'utilisateur particulier qui vous intéresse sans avoir à connaître son mot de passe.

J'ai personnellement vérifié cela sur OS X 10.11.4 en utilisant un compte appelé "testguy". J'ai pu me connecter en SSH à la machine, définir les préférences à l'aide de la commande que vous avez fournie et vérifier qu'elles étaient définies en lançant la commande :

sudo -u testguy defaults read  /Users/testguy/Library/Preferences/com.google.Chrome.plist Di
sablePrintPreview  

La réponse a été 1 (vrai)

0 votes

C'est une bonne suggestion Allan mais cela implique toujours que je me rende sur chaque poste de travail et que je me connecte en tant qu'utilisateur. J'ai oublié de préciser que je dois appliquer cette solution à 30 postes de travail. Ce que je voulais, c'était me connecter à chaque poste de travail par SSH sans déranger l'utilisateur et appliquer les paramètres à tous les utilisateurs de ce poste de travail. Le script fourni par CutMaster enregistre réellement les paramètres et n'a pas besoin de s'exécuter à chaque fois que le mac démarre.

0 votes

Ahh... Je pensais que c'était plusieurs utilisateurs sur un Mac. J'ai une solution pour vous qui pourrait fonctionner - je m'en suis souvenu pendant le déjeuner.

0 votes

Ne pouvez-vous pas vous connecter à l'utilisateur après vous être connecté en tant qu'administrateur ?

0voto

user3439894 Points 52496

Tout d'abord, je dois dire qu'en ce moment, je ne suis pas en mesure de ssh Je n'ai pas besoin d'un autre Mac pour tester cela, mais je vais quand même le proposer car je pense que cela peut fonctionner.

Quelques suppositions de ma part...

  • Chacun des systèmes à toucher possède plus d'un compte d'utilisateur.
  • Vous utiliserez les informations d'identification de l'administrateur pour modifier la cible. .plist archivo.

Notes :

Afin de toucher la cible .plist sous chaque compte, vous devrez utiliser le fichier sudo et en tant que tel, il modifiera le propriétaire:groupe du fichier cible vers Racine : roue et devra être modifié à nouveau après le defaults write ... est exécutée sur le fichier cible. Ainsi, le propriétaire:groupe L'information sur le dossier devra être vérifiée et stockée dans le système de gestion de l'information. variables avant d'être touché.

Si Google Chrome est en cours d'exécution au moment où son .plist est touché, les changements ne prendront probablement pas effet avant que l'application ne soit fermée et rouverte. En outre, selon la version d'OS X, la modification peut être écrasée lorsque l'application est fermée. Si c'est le cas, vous devez ajouter du code supplémentaire pour vérifier si l'application est en cours d'exécution et la fermer avant d'y toucher. .plist archivo.

Les éléments suivants bash script doit faire ce qui est nécessaire.


#!/bin/bash

f="/Library/Preferences/com.google.Chrome.plist"

for d in /Users/*; do
    if [[ -f $d$f ]]; then
        og="$(ls -l "$d$f" | awk '{print $3":"$4}')"
        defaults write "$d$f" DisablePrintPreview -boolean true
        chown "$og" "$d$f"
    fi
done

enter image description here

0 votes

Je ne suis pas sûr du but de l'image, mais si c'était à cause de la coloration syntaxique, je l'ai corrigé. Mais je ne voulais pas la supprimer.

0voto

J'apprécie vos suggestions. La suggestion d'Allan et celle de l'utilisateur 3439894 sont toutes deux correctes et m'ont vraiment beaucoup aidé. J'ai testé cela dans 10.11.4 et utilisé les scripts ci-dessus à 10.9-10.11. J'ai probablement juste besoin d'envoyer un courriel aux utilisateurs pour relancer google chrome pour que les paramètres prennent effet.

La raison pour laquelle je veux désactiver cet aperçu avant impression dans Chrome pour Mac est que lorsque les utilisateurs impriment sur notre imprimante Konica, dont l'authentification est activée, "print" apparaît comme nom d'utilisateur dans les journaux. D'autres navigateurs comme Firefox ou Safari affichent le nom d'utilisateur approprié. Je n'ai pas pu trouver de solution à ce problème et j'ai donc décidé de désactiver l'aperçu avant impression de Chrome.

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