OS X: Recuperando información de la batería de un portátil vía Apple Remote Desktop [nivel:Ninja]

29/12/2012 por Carlos Burges

Si gestionas diferentes portátiles Mac y quieres recuperar información de los mismos como el número de serie, modelo, y sobre todo el estado de la batería, este script de Ben Bass puede serte de mucha ayuda y adicionalmente, servirte de ejemplo para construir aplicaciones más elaboradas.

El script genera un archivo de tipo log en el escritorio, una ubicación que puede ser modificada así mismo como el tipo de archivo (.log por .txt). El Script puede ser enviado contra una máquina en funcionamiento vía Apple Remote Desktop o convertirlo en una aplicación para ejecutarla por el usuario y recuperar esas información relativa al portátil y sobre todo, a la batería.

#!/bin/bash
# Battery Check
# Created by Ben Bass
# vers="battery_chck-0.1"
# Copyright 2012 Technology Revealed. All rights reserved.

#output to log files on desktop of admin user. Change here for different location.
log="/Users/admin/Desktop/battery.log"
err_log="/Users/admin/Desktop/battery-err.log"

# exec 1 captures stdtout and exec 2 captures stderr and we are appending to log files.
# comment out if you don't want to capture standard out and standard error.
exec 1>> "${log}"
exec 2>> "${err_log}"


host_name="$(scutil --get ComputerName)"
battery_raw="$(system_profiler SPPowerDataType)"
ioreg_raw="$(ioreg -rd1 -c IOPlatformExpertDevice)"

serial_num=$(echo "$ioreg_raw" | grep "IOPlatformSerialNumber" | cut -d \" -f4)
model=$(echo "$ioreg_raw" | grep "model" | cut -d \" -f4)
battery_max=$(echo "$battery_raw" | grep "Full Charge Capacity" | cut -d " " -f11-20)
battery_current=$(echo "$battery_raw" | grep "Charge Remaining" | cut -d " " -f11-20)
battery_cycle=$(echo "$battery_raw" | grep "Cycle Count" | cut -d " " -f11-20)
battery_condition=$(echo "$battery_raw" | grep "Condition" | cut -d " " -f11-20)

#-------------------------------------------------------------------------------------------------------
echo "$host_name"
echo "$serial_num"
echo "$model"
echo "$battery_max"
echo "$battery_current"
echo "$battery_cycle"
echo "$battery_condition"
echo ""

exit 0

Para ejecutar el script como una aplicación, solo has de crear un documento de texto puro, pegar el script,  guardarlo en el escritorio sin extensión y darle permisos de ejecución para que con un simple doble click genere automáticamente el informe en tu escritorio. El Script de Ben está profusamente comentado, lo que te permitirá ver sus entresijos y utilizar parte del código, por ejemplo, para otras aplicaciones. El script funciona sobre Mac OS X 10.6 Snow Leopard, OS X 10.7 Lion y OS X 10.8 Mountain Lion.

0
Comentarios