基本上我试图通过终端用户主体名称获取:username@full.name.of.activedomain.com 在Windows中,我可以运行“whoami / upn”,它将输出所有内容。如果用户不在Active Directory下,则不显示任何内容。所以对于Windows来说,whoami对我而言就像是一种魅力。 在Mac上,我发现了一个名为“HOSTNAME”的命令。并且还有一个别名 - $ HOSTNAME。如果最终用户绑定到Active Directory - 它会输出其名称吗?换句话说 - 我可以调用这个命令: echo $ USER @ $ HOSTNAME获取用户主要名称......
或者我可以在终端中使用一些不同的命令或别名?请帮忙。
答案 0 :(得分:0)
一段脚本可以帮助您找到OSX上的内容:
domainName=`echo show com.apple.opendirectoryd.ActiveDirectory |
scutil | grep DomainNameFlat | awk '{print $3}'`
if [ $? -ne 0 ]
then
echo "Failed to get domain name, exiting script"
exit 1
fi
if [ -z $domainName ]
then
echo "Failed to get domain name, exiting script"
exit 1
fi
echo "AD Domain name: $domainName "
userName=`id -u -nr`
if [ $? -ne 0 ]
then
echo "Failed to get user name, exiting script"
exit 1
fi
echo "User name: $userName"
upn=`dscl "/Active Directory/$domainName/All Domains" -read
/Users/$userName userPrincipalName`
if [ $? -ne 0 ]
then
echo "Failed to get user's upn, exiting script"
exit 1
fi
答案 1 :(得分:0)
我知道这可能为时已晚。仍然可以在将来对某人有所帮助。
您可以使用“ klist”命令来检索当前登录用户的userPrincipalName。
答案 2 :(得分:-2)
以上是BASH脚本。理想情况下,它需要一个she-bang作为第一线。我没有测试过上面的脚本,但dscl是“目录服务命令行”实用程序。