Используя PowerShell, как я могу получить полное имя текущего пользователя домена (не только его имя пользователя) без необходимости использования модуля ActiveDirectory?
windows
powershell
Джонатан Риу
источник
источник
Мне нравится принятый ответ, но только потому, что я хотел попробовать это сам:
возвращает:
или если вы не хотите иметь информацию заголовка и только результат:
источник
Один лайнер с использованием Powershell 3.0:
источник
На основании вашего комментария на принятый ответ Craig620,
Похоже, вы пытаетесь избежать установки модулей powershell на пользовательских рабочих станциях, да, но также, нет, вам не нужно быть администратором домена, чтобы искать свое собственное имя в AD. Вы можете найти практически любую информацию, которая появляется в GAL в Outlook, включая полное имя обычного пользователя.
Вы также можете посмотреть полные имена других людей как обычный пользователь в AD (используя
Get-WmiObject Win32_userAccount
, если вы хотите избежать модулей AD). Учетные записи служб, которые запрашивают AD (ну, прежде чем управляемые учетные записи служб ), обычно являются обычными непривилегированными пользователями AD.источник
Использование -match не является хорошим выбором, потому что $ env: USERNAME для "ed" будет соответствовать "fred" и "edith". Вместо этого используйте -eq для точного соответствия и добавьте в домен, если необходимо. Я использую цикл foreach в конце, чтобы убрать все начальные пробелы в качестве альтернативы «select fullname | ft -HideTableHeaders», которая печатает начальную и конечную новую строку.
источник
Если у вас всегда есть .Net 3.5 или выше (что вы должны делать с PowerShell v4.0 и выше):
Этот класс обеспечивает очень простой доступ ко всем распространенным свойствам LDAP, поэтому вам не нужно искать дважды (один раз с WinNT и снова с LDAP) или использовать
[ADSISearcher]
для поиска LDAP, если вам нужны некоторые расширенные свойства, которые WinNT не реализует ,источник
Если вы не хотите использовать модуль Active Directory, вы не можете; если вы не хотите пойти еще глубже и выполнить фактический запрос LDAP к контроллеру домена.
Любая пользовательская информация, кроме имени пользователя, хранится в Active Directory, и ее необходимо найти там.
источник
[ADSI]
интерфейс существует намного дольше, чем модули AD, и на самом деле не все так сложно, как показывает принятый ответ.