Вот еще одно альтернативное решение, о котором еще никто не упомянул.
Команда dscl позволяет вам выполнять различные задачи службы каталогов
, и одной из них является возможность поиска типа учетной записи пользователя.
Команда: dscl. читать / Группы / admin GroupMembership
перечислит все учетные записи администратора
в OS X.
Так что, если вы хотите включить это в AppleScript, вы можете сделать следующее:
set userName to "whatever username you wanted to check"
set readAdminGroup to do shell script "dscl . read /Groups/admin GroupMembership"
set AppleScript's text item delimiters to " "
set adminNames to text items of readAdminGroup
--loop through Admin Group to check if username exists
repeat with i in adminNames
if adminNames does not contain userName then
set isAdmin to false
else
set isAdmin to true
end if
end repeat
return isAdmin
Как только вы узнаете, является ли переменная isAdmin истинной или ложной, вы можете
выполнять различные функции. Кроме того, если сценарий развертывается или отправляется через ARD, вы можете установить переменную userName (первая строка в приведенном выше сценарии) для проверки текущего пользователя с помощью команды whoami. Поэтому первая строка будет выглядеть так:
set userName to do shell script "whoami"