2 votos

Cómo mostrar la Interfaz de Red UUID?

Estoy tratando muy duro para encontrar una manera sencilla de recuperar toda la red UUID en mi Mac para poder hacer algunas plist magia.

Hay un comando para hacer tal cosa?

Si me miro en el plist voy a encontrar de una instancia "Orden de Servicio"

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

Pero hay una forma más simple de lo que acaba de escribir una larga secuencia de comandos de la eliminación de las piezas antes y después?

Todos los equipos que ejecutan Yosemite.

Guión Final - Gracias a @Asmus para dar respuestas a conseguir este trabajo

#!/bin/sh
# Setting value on "SetUDIDSets" to define the "Sets" name as this will be different on each computer
SetUDIDSets=$(/usr/libexec/PlistBuddy -c "print :Sets" /Library/Preferences/SystemConfiguration/preferences.plist | perl -lne 'print $1 if /^    (\S*) =/')

IFS=$'\n'
    # Loops through the list of network services and sets Exclude Simple Hostnames to 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

# If the setting Exclude Simple Hostnames never has been touched we need to create this
    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 is now set for $i" 

    done

unset IFS
defaults read /Library/Preferences/SystemConfiguration/preferences.plist
echo "We're done!"

2voto

James Socol Puntos 146

Primero de todo, para obtener el Uuid de la red fija, uso PlistBuddy y perl:

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

esto debería devolver el Id de la red fija. Para cada conjunto se puede obtener el nombre con

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

donde, por supuesto, usted tiene que cambiar el UUID en consecuencia. Ahora, usted puede imprimir el ServiceOrder con:

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

Si desea leer el valor de "ExcludeSimpleHostnames", usted debería ser capaz de utilizar

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

aunque por supuesto la sustitución de este UUID con una tarjeta válida de la "ServiceOrder".

Actualización:

no te pierdas que usted puede establecer los valores con PlistBuddy, y también:

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X