1
我一直在使用用戶:: pwent在Perl來獲取系統用戶的全名:如何在Perl中的Windows上獲取系統用戶全名?
require User::pwent;
my $full_name = (User::pwent::getpwnam(getlogin)->gecos)[0];
然而,是不是在Windows的Perl實現。在Windows上獲取用戶的全名有什麼選擇?是可用的麼?
我一直在使用用戶:: pwent在Perl來獲取系統用戶的全名:如何在Perl中的Windows上獲取系統用戶全名?
require User::pwent;
my $full_name = (User::pwent::getpwnam(getlogin)->gecos)[0];
然而,是不是在Windows的Perl實現。在Windows上獲取用戶的全名有什麼選擇?是可用的麼?
戳的時候,我能找到的最好的事情就是用Win32API::Net::GetUserInfo()
:
require Win32API::Net;
Win32API::Net::UserGetInfo('', $self->sysuser, 10, my $info = {});
my $full_name = $info->{fullName};
需要得到它在一些Windows機器上運行,雖然,以確保它的工作原理。
更新:證實用戶信息級別10的工作:
> perl -MWin32API::Net -E "Win32API::Net::UserGetInfo('',Win32::LoginName(), 10, my $info = {}); say $info->{fullName}"
Bartholomew Simpson
不知道爲什麼1011不能正常工作as documented,但是這是不夠好,我。
可能重複[如何以便攜方式在Perl中獲取當前用戶?](http://stackoverflow.com/questions/3526420/how-do-i-get-the-current-user-in -perl-in-a-portable-way) –
@ sean-bright不,這個問題只包含登錄名,而不是用戶的全名。也就是說,它給了我「光鮮亮麗」,但我想要「肖恩光明」。 – theory