W programie PowerShell w jaki sposób mogę uzyskać pełną nazwę aktualnie zalogowanego użytkownika domeny (nie tylko jego nazwę użytkownika) bez potrzeby korzystania z modułu ActiveDirectory?
windows
powershell
Jonathan Rioux
źródło
źródło
Podoba mi się zaakceptowana odpowiedź, ale tylko dlatego, że sam chciałem to wypróbować:
zwraca:
lub jeśli nie chcesz mieć informacji o nagłówku i tylko wynik:
źródło
Jedna linijka za pomocą Powershell 3.0:
źródło
W oparciu o komentarz do zaakceptowanej odpowiedzi Craig620,
Wygląda na to, że próbujesz uniknąć instalowania modułów PowerShell na stacjach roboczych użytkowników, tak, ale także nie, nie musisz być administratorem domeny, aby wyszukać swoją nazwę w AD. Możesz wyszukać praktycznie dowolne informacje wyświetlane w GAL w Outlooku, w tym pełną nazwę, jako standardowy użytkownik.
Możesz także wyszukać imiona i nazwiska innych osób jako standardowego użytkownika w AD (używając
Get-WmiObject Win32_userAccount
, jeśli chcesz uniknąć modułów AD). Konta usługowe, które odpytują AD (cóż, przed zarządzanymi kontami usługowymi ) są zwykle standardowymi, nieuprzywilejowanymi użytkownikami AD.źródło
Użycie -match nie jest dobrym wyborem, ponieważ $ env: USERNAME dla „ed” będzie pasować do „fred” i „edith”. Zamiast tego użyj -eq dla dokładnego dopasowania i dodaj w domenie, jeśli to konieczne. Używam pętli foreach na końcu, aby usunąć wszystkie wiodące końcowe białe znaki jako alternatywę dla „wybierz pełną nazwę | ft -HideTableHeaders”, która drukuje wiodącą i końcową nową linię.
źródło
Jeśli zawsze masz .Net 3.5 lub nowszą wersję (którą powinieneś mieć z PowerShell v4.0 i wyższą wersją):
Ta klasa zapewnia bardzo łatwy dostęp do wszystkich wspólnych właściwości LDAP, więc nie trzeba wyszukiwać dwa razy (raz w WinNT i ponownie w LDAP) lub użyć
[ADSISearcher]
wyszukiwania LDAP, jeśli chcesz mieć rozszerzone właściwości, których WinNT nie implementuje .źródło
Jeśli nie chcesz korzystać z modułu Active Directory, nie możesz; chyba że chcesz zejść jeszcze głębiej i wykonać rzeczywiste zapytanie LDAP na kontrolerze domeny.
Wszelkie informacje o użytkownikach inne niż nazwa użytkownika są przechowywane w usłudze Active Directory i należy je tam pobrać.
źródło
[ADSI]
interfejs działał znacznie dłużej niż moduły AD i naprawdę nie jest wcale taki skomplikowany, jak pokazuje zaakceptowana odpowiedź.