Come posso ottenere l'output system_profiler da molte macchine in una rete?

0

Ho bisogno di uno script che eseguirà il comando "system_profiler -detailLevel full" in una macchina mac remota. Mentre sta succedendo, l'utente sulla macchina remota non dovrebbe sapere che sta succedendo qualcosa.

Ho provato il seguente applescript:

tell application "Terminal" of machine "eppc://<ip address of remote machine>"
    activate
    do script "system_profiler -detailLevel full >> /$HOSTNAME.txt" 
end tell

Questo attiva l'app del terminale sul desktop e quindi una cattiva idea, poiché l'utente che lavora su quella macchina remota viene interrotto. Voglio che ciò accada in background.

Voglio uno script di shell (non un applescript) che prenderà il nome di hostname da un file di testo memorizzato nella stessa posizione in cui si trova lo script di shell. Verrà quindi inviato a ciascun host da tale elenco di nomi host, verrà eseguito il comando system_profiler e verrà copiato il file di testo con l'output del comando ($ HOSTNAME.txt file) sul computer da cui è stato eseguito lo script della shell.

La copia dei file dovrebbe essere eseguita senza ssh, scp, ecc.

    
posta Akshay Sawant 06.07.2014 - 09:38
fonte

1 risposta

1

Per leggere un file di testo di nomi host in un elenco AppleScript, consulta Leggi il file di testo nell'elenco in Applescript .

Per il looping su nomi host all'interno dell'elenco di AppleScript, vedi Un elenco AppleScript iterate / loop example :

set myList to {"Hello", "Goodbye", "I must be going"}
repeat with theItem in myList
  say theItem
end repeat

script di shell

Per evitare di avviare Terminal.app , utilizza il comando fai script di shell :

tell machine "eppc://<ip address of remote machine>"
    do shell script "system_profiler -detailLevel full > /tmp/sysprofile.txt"
end tell

Questo può essere eseguito senza avviare un'applicazione grafica di supporto.

Suppongo che tu non possa accedere all'host remoto tramite la shell sicura, solo tramite l'accesso remoto AppleEvent eppc .

Restituzione del file

Leggi il contenuto del file all'interno del blocco tell machine di AppleScript e salvalo localmente al di fuori del blocco tell machine .

In alternativa, hai considerato il trasferimento del file del profilo di sistema tramite ssh o scp ? Considera di avere il tuo AppleScript per connettersi al tuo Mac e copiare il profilo di sistema raccolto.

    
risposta data 06.07.2014 - 10:43
fonte

Leggi altre domande sui tag