Come posso creare uno script per creare / modificare account amministrativi locali?

1

Questa domanda è quasi esattamente ciò di cui ho bisogno per il mio progetto al lavoro. Abbiamo ca. 400 Mac nel nostro campus, e il problema è che non erano tutti impostati in modo identico. Ci sono almeno 4 diverse varianti di nome utente e password.

Quello che mi piacerebbe avere è uno script che:

1) Controllare per vedere come vengono chiamati gli account degli amministratori locali. 2) Se l'account non è nominato correttamente, crearne uno nuovo con il nome corretto. 3) Impostare la password corretta. (Preferibilmente sarebbe offuscato nella sceneggiatura)

    
posta Justin_T 05.12.2013 - 21:09
fonte

1 risposta

1

Questo è quello che mi è venuto in mente:

Utilizza inoltre link

#!/bin/bash
# This script will first check existing accounts for presence of USERNAME or admin    or administrator
# If found, it will change the password to PASSWORD
# If none are found, it will run the package create_USERNAME-1.0.pkg which creates an account with Full Name = Administrator, Account Name
# (short name) USERNAME with the password.

function checkusername () {

local test1=$(dscl . -list /Users | grep -i USERNAME)
local test2=$(dscl . -list /Users | grep -i admin)
local test3=$(dscl . -list /Users | grep -i Administrator)

if [ "$test1" = “username” ]; then
  echo the username username already exists
  echo setting password
  dscl . passwd /Users/username PASSWORD
  exit 
else 
  echo
fi

if [ "$test1" = "Username" ]; then
  echo the username Username already exists
  echo setting password
  dscl . passwd /Users/Username PASSWORD
  exit 
else
  echo 
fi

if [ "$test1" = “UserName” ]; then
  echo the username UserName already exists
  echo setting password
  dscl . passwd /Users/UserName PASSWORD
  exit
else 
  echo
fi

if [ "$test2" = "admin" ]; then
  echo the username admin already exists
  echo setting password
  dscl . passwd /Users/admin PASSWORD
  exit 
else 
  echo
fi

if [ "$test2" = "Admin" ]; then
  echo the username Admin already exists
  echo setting password
  dscl . passwd /Users/Admin PASSWORD
  exit 
else 
  echo
fi

if [ "$test3" = "Administrator" ]; then
  echo the username Administrator already exists
  echo setting password
  dscl . passwd /Users/Administrator PASSWORD
  exit 
else 
  echo
fi

if [ "$test3" = "administrator" ]; then
  echo the username administrator already exists
  echo setting password
  dscl . passwd /Users/administrator PASSWORD
  exit 
else 
  echo
fi


}

checkusername

/usr/sbin/installer -pkg 'create_USERNAME-1.0.pkg' -target / 
    
risposta data 06.12.2013 - 21:10
fonte

Leggi altre domande sui tag