Estou tentando muito encontrar uma maneira simples de buscar todos os UUIDS de rede no meu Mac para poder fazer alguma mágica.
Existe um comando para fazer uma coisa dessas?
Se eu olhar na lista, vou encontrar uma instância "Ordem de Serviço"
ServiceOrder = Array {
2AF2313D-AB7E-4FE7-91C3-XXXXXXXXXXXX
9B976E4D-F7BE-428D-88C2-YYYYYYYYYYYY
9A26C39B-8BD4-4562-9E0A-ZZZZZZZZZZZZ
Mas existe uma maneira mais simples do que escrever um longo script excluindo as partes antes e depois?
Todos os computadores executando o Yosemite.
Script final - Agradecemos a @Asmus por fornecer respostas para que este funcione
#!/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!"
networksetup -listnetworkserviceorder
ajudaria? Ele não retorna os UUIDs, mas imprime bem as informações enetworksetup
é a ferramenta para ativar / desativar as configurações de rede.Respostas:
Primeiro de tudo, para obter os UUIDs dos seus conjuntos de rede, use PlistBuddy e perl:
isso deve retornar os IDs dos conjuntos de rede. Para cada conjunto, você pode obter o nome com
onde, é claro, você deve alterar o UUID de acordo. Agora, você pode imprimir o ServiceOrder com:
Se você quiser ler o valor para "ExcludeSimpleHostnames", poderá usar
enquanto, é claro, substituindo esse UUID por um válido do "ServiceOrder".
Atualizar:
não perca que você também pode definir valores com o PlistBuddy:
fonte