1 votos

sierra alta de conmutación de ethernet de Automator

He estado tratando de crear un servicio para alternar ethernet en off, pero no puede administrar para obtener el derecho.

Es para os x de alta de la sierra.

Hasta ahora tengo esto, se ejecuta sin error y no aparecen en mi menú de los servicios, pero no cambiar la conexión de ethernet.

He probado algunos de código para el aeropuerto y funciona. Pero lo que realmente necesita para Ethernet 1, en0.

on run {input, parameters}

(* do shell script "networksetup -setnetworkserviceenabled Ethernet 1 off" user name "xxxx" password "xxxx" with administrator privileges
do shell script "networksetup -setnetworkserviceenabled Ethernet 1 on" user name "xxxx" password "xxxx" with administrator privileges *)

return input end run

He hecho algunos flujos de trabajo de grabación de acciones para esto, pero sólo un poco espeluznante y realmente es una molestia de esta manera.

Cualquier ayuda sería muy apreciada.

1voto

qarma Puntos 71

Es posible que no necesite privilegios de administrador (no necesito de ellos para poder cambiar de Wi-Fi on/off). Pero el problema que tienes es probable, ya que no ponía "Ethernet 1" en las comillas. Así que, asumiendo la conexión ethernet es, de hecho, llamado "Ethernet de 1", a continuación, el comando para activar la unidad ethernet fuera se parece a esto:

on run {input, parameters}

    do shell script "networksetup -setnetworkserviceenabled \"Ethernet 1\" off"

return input end run

Si desea activar/desactivar función de su estado actual, entonces usted puede hacer esto:

on run {input, parameters}

    do shell script ¬
        "[[ \"$(networksetup -getnetworkserviceenabled 'Ethernet 1')\" = \"Enabled\" ]] \
         && networksetup -setnetworkserviceenabled 'Ethernet 1' off \
         || networksetup -setnetworkserviceenabled 'Ethernet 1' on"

end run

Pero, puesto que toda su AppleScript es, de hecho, un comando de la shell se ajusta dentro de un do shell script de comandos, a continuación, me gustaría recomendar el uso de un Ejecutar secuencia de Comandos de Shell de acción en su Automator flujo de trabajo en lugar de un AppleScript. Entonces usted puede simplemente escribir el comando en su figura desnuda, que es mucho más sensata:

[[ "$(networksetup -getnetworkserviceenabled 'Ethernet 1')" = "Enabled" ]] \
&& networksetup -setnetworkserviceenabled 'Ethernet 1' off \
|| networksetup -setnetworkserviceenabled 'Ethernet 1' on

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