Как получить адрес электронной почты текущего вошедшего в систему пользователя в 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
Другие вопросы по тегам