Получите полное имя текущего пользователя домена

В Вашей конфигурации у Вас есть следующее:

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

Необходимо изменить его на следующее:

<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

AllowOverride директива - то, что позволяет .htaccess файл, который будет считан. Если Вы все еще испытываете затруднения, удостоверьтесь, что Вы изменяете это в

<Directory "/var/www/html">

блок также (в зависимости от того, где Ваш сайт расположен).

Надеюсь, это поможет!

23
задан 29 January 2015 в 19:42
8 ответов
$dom = $env:userdomain
$usr = $env:username
([adsi]"WinNT://$dom/$usr,user").fullname

Возвращает:

John Doe

Также доступны некоторые другие (в основном) неясные свойства. Несколько полезных:

  • Homedrive UNC
  • Homedrive Letter
  • Описание
  • Сценарий входа

Попробуйте:

[adsi]"WinNT://$dom/$usr,user" | select *
24
ответ дан 28 November 2019 в 20:19

Мне нравится принятый ответ, но просто потому, что я сам хотел попробовать:

$user = whoami
Get-WMIObject Win32_UserAccount | where caption -eq $user | select FullName

возвращает:

FullName
--------
TheCleaner

или, если вы не хотите иметь информацию заголовка, а только результат:

$user = whoami
Get-WMIObject Win32_UserAccount | where caption -eq $user | select FullName | ft -hide
15
ответ дан 28 November 2019 в 20:19

Один лайнер с использованием Powershell 3.0:

gwmi win32_useraccount | where {$_.caption -match $env:USERNAME} | select fullname | ft -HideTableHeaders
7
ответ дан 28 November 2019 в 20:19

Если вы не хотите использовать модуль Active Directory, вы не можете; если только вы не хотите углубиться еще глубже и выполнить фактический запрос LDAP к контроллеру домена.

Любая информация о пользователе, кроме имени пользователя, хранится в Active Directory, и ее нужно получать там.

0
ответ дан 28 November 2019 в 20:19

На основании вашего комментария к принятому ответу Craig620,

Нужны ли мне права администратора домена для выполнения этой команды? Или может домен сам пользователь может запустить эту команду?

Похоже, вы пытаетесь избежать установки модулей PowerShell на пользовательские рабочие станции, да, но также нет, вам не нужно быть администратором домена, чтобы найти свое имя в ОБЪЯВЛЕНИЕ. Вы можете найти практически любую информацию, которая появляется в глобальном списке адресов в Outlook, включая полное имя, как обычный пользователь.

Вы также можете искать полные имена других людей как стандартный пользователь в AD (используя Get-WmiObject Win32_userAccount , если вы хотите избежать использования модулей AD). Учетные записи служб, которые запрашивают AD (ну, до управляемых учетных записей служб ), обычно являются стандартными непривилегированными пользователями AD.

3
ответ дан 28 November 2019 в 20:19

Использование -match не является хорошим выбором, потому что $ env: USERNAME из «ed» будет соответствовать «fred» и «edith». Вместо этого используйте -eq для точного совпадения и при необходимости добавьте домен. Я использую цикл foreach в конце, чтобы удалить все начальные и завершающие пробелы в качестве альтернативы «select fullname | ft -HideTableHeaders», который печатает начальную и конечную символы новой строки.

gwmi win32_useraccount | where {$_.caption -eq $("domain\" + $env:USERNAME)} | foreach {$_.fullname}
1
ответ дан 28 November 2019 в 20:19

Если у вас всегда есть .Net 3.5 или выше (что и должно быть на PowerShell v4). 0 и выше):

Add-Type -AssemblyName System.DirectoryServices.AccountManagement;
$DisplayName = [System.DirectoryServices.AccountManagement.UserPrincipal]::Current.DisplayName;

Этот класс обеспечивает очень простой доступ ко всем общим свойствам LDAP, так что вам не нужно искать дважды (один раз с WinNT и снова с LDAP) или использовать [ADSISearcher] для поиска LDAP, если вам нужны некоторые расширенные свойства, которые WinNT не реализует.

.
1
ответ дан 28 November 2019 в 20:19
([adsi]"LDAP://$(whoami /fqdn)").displayName

Вы можете получить огромное количество информации с помощью этого очень простого инструмента. Ознакомьтесь с

([adsi]"LDAP://$(whoami /fqdn)") | fl *
1
ответ дан 17 February 2020 в 08:05

Теги

Похожие вопросы