Script de usuário de logout

5

Estou tentando criar um script no ARD que me permita fazer logout de um usuário. Agora eu tenho um script que inicia o logout, mas quero que ele seja executado em vez de esperar 60 segundos. O script atualmente é:

osascript -e 'tell application "System Events" to log out'

Como eu disse, isso funciona, mas eu quero que ele pressione o botão de retorno no diálogo de logout. O script que tentei fazer é que:

osascript -e 'tell application "System Events" to log out' -e 'keystroke return'

que não funciona.

Existe uma maneira, possivelmente dizendo ao sistema para pressionar Cmd + Opte + q , então Digitar , para sair sem esperar que o tempo limite expire?

    
por Baconlove 19.09.2013 / 15:24

3 respostas

1

O pressionamento de tecla precisa estar em um bloco de informes de eventos do sistema ...

osascript -e 'tell application "System Events"' -e 'log out' -e 'keystroke return' -e end
    
por 19.09.2013 / 15:58
3

O evento da Apple é a maneira mais robusta de fazer isso (mas ainda pode ser bloqueado por um aplicativo emperrado).

Digitar os caracteres especiais é complicado ... aqui está um bloco que você pode usar em um script ou via ARD.

osascript -e 'ignoring application responses' -e 'tell application "loginwindow" to «event aevtrlgo»' -e end

Os caracteres «e» são digitados por opção- \ e shift-option-\ respectivamente.

    
por 31.10.2013 / 03:31
2

O evento rlgo ( kAEReallyLogOut ) da Apple efetua logout sem mostrar uma caixa de diálogo de confirmação:

tell application "loginwindow" to «event aevtrlgo»

tell application "System Events" to log out envia loginwindow a logo ( kAELogOut ) evento da Apple. Os eventos da Apple estão listados em AERegistry.h .

    
por 28.09.2013 / 20:41