2 votes

Comment répertorier les UUID des interfaces réseau ?

Je fais de mon mieux pour trouver un moyen simple de récupérer tous les UUIDS du réseau sur mon Mac afin de pouvoir faire quelques manipulations sur les plist.

Y a-t-il une commande pour faire cela ?

Si je regarde dans la plist, je trouverai par exemple "Service Order"

   ServiceOrder = Array {
         2AF2313D-AB7E-4FE7-91C3-XXXXXXXXXXXX
         9B976E4D-F7BE-428D-88C2-YYYYYYYYYYYY
         9A26C39B-8BD4-4562-9E0A-ZZZZZZZZZZZZ

Mais y a-t-il un moyen plus simple que d'écrire un long script pour supprimer les parties avant et après ?

Tous les ordinateurs exécutent Yosemite.

Script final - Merci à @Asmus pour avoir fourni des réponses pour que cela fonctionne

#!/bin/sh
# Définition de la valeur de "SetUDIDSets" pour définir le nom des "Sets" car cela sera différent sur chaque ordinateur
SetUDIDSets=$(/usr/libexec/PlistBuddy -c "print :Sets" /Library/Preferences/SystemConfiguration/preferences.plist | perl -lne 'print $1 if /^    (\S*) =/')

IFS=$'\n'
    # Parcourt la liste des services réseau et définit Exclude Simple Hostnames à 1.
    for i in $(/usr/libexec/PlistBuddy -c "print :Sets:$SetUDIDSets:Network:Global:IPv4:ServiceOrder" /Library/Preferences/SystemConfiguration/preferences.plist | awk 'NR>2{ print l} {l=$0}' | perl -pe 's/^\s+//');
    do

# Si le réglage Exclude Simple Hostnames n'a jamais été modifié, nous devons créer ceci
    sudo /usr/libexec/PlistBuddy -c "add :NetworkServices:$i:Proxies:ExcludeSimpleHostnames integer 1" /Library/Preferences/SystemConfiguration/preferences.plist
    sudo /usr/libexec/PlistBuddy -c "set :NetworkServices:$i:Proxies:ExcludeSimpleHostnames 1" /Library/Preferences/SystemConfiguration/preferences.plist

    echo "Exclude Simple Hostnames est maintenant défini pour $i" 

    done

unset IFS
defaults read /Library/Preferences/SystemConfiguration/preferences.plist
echo "Nous avons terminé !"

2voto

Asmus Points 7195

Tout d'abord, pour obtenir les UUID de vos ensembles réseau, utilisez PlistBuddy et perl :

 /usr/libexec/PlistBuddy -c "print :Sets" /Library/Preferences/SystemConfiguration/preferences.plist | perl -lne 'print $1 if /^    (\S*) =/'

cela devrait retourner les IDs des ensembles réseau. Pour chaque ensemble, vous pouvez alors obtenir le nom avec

/usr/libexec/PlistBuddy -c "print :Sets:698F419D-326E-45E3-8BE2-B0742334DD62:UserDefinedName" /Library/Preferences/SystemConfiguration/preferences.plist 

où, bien sûr, vous devez modifier l'UUID en conséquence. Maintenant, vous pouvez afficher l'ordre des services avec :

/usr/libexec/PlistBuddy -c "print :Sets:698F419D-326E-45E3-8BE2-B0742334DD62:Network:Global:IPv4:ServiceOrder" /Library/Preferences/SystemConfiguration/preferences.plist

Si vous souhaitez lire la valeur de "ExcludeSimpleHostnames", vous devriez pouvoir utiliser

/usr/libexec/PlistBuddy -c "print :NetworkServices:69F7441B-BA1E-4DC3-B7DA-8D6302986F20:Proxies:ExcludeSimpleHostnames" /Library/Preferences/SystemConfiguration/preferences.plist 

en remplaçant bien sûr cet UUID par un valide provenant de "ServiceOrder".

Mise à jour :

n'oubliez pas que vous pouvez également définir des valeurs avec PlistBuddy :

/usr/libexec/PlistBuddy -c "Set :NetworkServices:$serviceid:Proxies:ExcludeSimpleHostnames 1" /Library/Preferences/SystemConfiguration/preferences.plist

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