Comando de terminal para incluir o usuário atualmente conectado


1

Eu estou tentando escrever um script que faz com que nosso administrador de rede (diretório ativo) usuários locais em seus macs. Eu tenho o script que fará isso:

dseditgroup -o editar -n / local / padrão -a networkuser -t usuário admin

mas eu estou olhando para substituir 'networkuser' com o usuário conectado no momento, ou até mesmo todos os usuários no computador. A razão para isso é que eu quero empurrar isso para vários computadores usando o Apple Remote Desktop, e isso economizaria muito tempo do que executar o script individualmente por usuário.

Alguém sabe como editar esse script para afetar o usuário conectado no momento ou todos os usuários no computador?

obrigado


faz whoami trabalhar para você em macland? funciona na maioria dos shells linux.
Frank Thomas

whoami (como 'quem sou eu') irá imprimir o usuário atual, mas eu não acho que isso permitirá que o script funcione.
jasetech

como Louis mencionou, na maioria dos shells você pode embutir comandos e outras invocações dentro de uma string de comando usando aspas `` (aquela na tecla til para um teclado americano). por exemplo "echo hoje é date "imprime" hoje é sexta-feira, 9 de maio 12:56:46 BRT 2014 "Editar: eu rodei o comando" data "nos backticks, no comando acima. SE aparentemente renderiza os exemplos de código, então você não pode vê-los no meu exemplo.
Frank Thomas

Respostas:


1

Você poderia tentar o seguinte comando:

dseditgroup -o edit -n /Local/Default -a `whoami` -t user admin

Observe os backticks antes e depois whoami. Estes irão executar o whoami comando e use a saída em seu comando.


whoami dará o nome de usuário que o script está rodando como ("root"), não o usuário atualmente logado.
Gordon Davisson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.