Как получить адрес электронной почты текущего вошедшего в систему пользователя в PowerShell Core?
Я видел другие вопросы / ответы, которые показывают, как это сделать в Windows PowerShell, и они работают в Windows PowerShell, но не в PowerShell 6+, то есть в PowerShell Core, который построен на основе.NET Core.
Как получить адрес электронной почты текущего пользователя в PowerShell Core?
Спасибо!
Я рассмотрел пример здесь: Как получить электронную почту зарегистрированного пользователя в powershell, но "[adsi]
"типы недоступны.
Я считал "$env:username@$env:userdnsdomain"
, но это дает неверные результаты.
Спасибо!
Примечание: это в Windows (в частности, в Windows 10). Мне нужен адрес электронной почты пользователя для создания токена авторизации с помощью ADAL. Он может сделать это без адреса электронной почты пользователя в.NET, но не в.NET Core.
Например, у меня есть пользователь, чей логин m8345
, Его адрес электронной почты может бытьmike@somedomain.com
" или же "mike@otherdomain.com
" или же "mike@ntdev.somedomain.com
" или же "mike.smith@somedomain.com
"и т. д., т. е. необязательно существует какая-либо корреляция между именем входа в систему (т. е."%username%") и адресом электронной почты... однако.NET может разрешить это, но ядро .NET не может.
0 ответов
После долгих испытаний я понял это:
([ADSI]"LDAP://<SID=$([Security.Principal.WindowsIdentity]::GetCurrent().User.Value)>").UserPrincipalName