-#!/bin/bash
-
-while [ -n "$1" ]; do
- case "$1" in
- "--all"|"-a")
- ALL=1
- ;;
- "--local"|"-l")
- LOCAL=1
- ;;
- *)
- echo "Usage: $0 [--local|-l]"
- exit 1
- esac
- shift
-done
-
-sw_vers -productName | grep -i "Server" >/dev/null 2>&1
-if [ $? -eq 0 -a -z "$LOCAL" ]; then
- # Mac OS X Server
- OD=1
-fi
-
-if [ -n "$OD" ]; then
- HOST="localhost"
- USER_BASE="/LDAPv3/127.0.0.1/Users"
- UID_MIN=1000
-else
- HOST="."
- USER_BASE="/Users"
- UID_MIN=500
-fi
-
-[ -n "$ALL" ] && UID_MIN=0
-
-dscl "$HOST" -list "$USER_BASE" | while read x; do
- declare -i id
- id=`dscl "$HOST" -read "$USER_BASE/$x" UniqueID | cut -d: -f2`
- if [ "$id" -gt $UID_MIN ]; then
- echo " $id: $x"
- fi
-done | sort -n
-
-# -eof-