1 votos

¿Cómo puedo alternar los servicios de red con un script?

Actualmente sólo puedo hacerlo por conexión utilizando este script:

property status : "none"
property val : "none"

on get_status()
    set status to do shell script "sudo networksetup -getnetworkserviceenabled Ethernet" as string
end get_status

get_status()

if status is "Enabled" then
    set val to "off"
else
    set val to "on"
end if

do shell script "sudo networksetup -setnetworkserviceenabled Ethernet " & val

get_status()
display dialog "Status: " & status with title "Network Toggle" buttons {"OK"} default button 1

Pero recientemente estoy recibiendo red de diferentes fuentes y me gustaría tener un script con disponibilidad de toggles para todas las conexiones activas (ya sea todas encendidas o todas apagadas).

¿Alguna idea de cómo podría lograrlo?

0voto

Baczek Puntos 150

Utilice el -listallnetworkservices para obtener todos los servicios.

tail -n +2 para eliminar la primera línea que contiene "Un asterisco (*) indica que un servicio de red está desactivado".

sed 's/^*//' para eliminar el carácter asterisco al principio de cada línea

while read thisName al bucle


El script:

if get_status() is "Enabled" then
    set val to "off"
else
    set val to "on"
end if
do shell script "networksetup -listallnetworkservices | tail -n +2 | sed 's/^*//' | while read thisName; do networksetup -setnetworkserviceenabled  \"$thisName\" " & val & "; done" with administrator privileges
display dialog "Status: " & (get_status()) with title "Network Toggle" buttons {"OK"} default button 1

on get_status()
    set status to do shell script "networksetup -getnetworkserviceenabled Ethernet"
end get_status

sudo en un do shell script no funciona en mi sistema, utilizo administrator privileges .

0 votos

T

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