Wie kann ich mit PowerShell den vollständigen Namen des aktuell angemeldeten Domänenbenutzers (nicht nur den Benutzernamen) abrufen, ohne das ActiveDirectory-Modul zu benötigen?
windows
powershell
Jonathan Rioux
quelle
quelle
Ich mag die akzeptierte Antwort, aber nur, weil ich das selbst ausprobieren wollte:
kehrt zurück:
oder wenn Sie nicht die Header-Informationen und nur das Ergebnis haben möchten:
quelle
Ein Liner mit Powershell 3.0:
quelle
Basierend auf Ihrem Kommentar zur akzeptierten Antwort von Craig620,
Es hört sich so an, als würden Sie versuchen, die Installation von Powershell-Modulen auf Benutzerarbeitsstationen zu vermeiden. Ja, aber Sie müssen auch kein Domänenadministrator sein, um Ihren eigenen Namen in AD nachzuschlagen. Sie können so ziemlich alle Informationen nachschlagen, die in der GAL in Outlook angezeigt werden, einschließlich des vollständigen Namens als Standardbenutzer.
Sie können auch die vollständigen Namen anderer Personen als Standardbenutzer in AD nachschlagen (mit
Get-WmiObject Win32_userAccount
, wenn Sie die AD-Module vermeiden möchten). Dienstkonten , die AD abfragen (also vor verwalteten Dienstkonten ), sind in der Regel standardmäßige, nicht privilegierte AD-Benutzer.quelle
Die Verwendung von -match ist keine gute Wahl, da ein $ env: USERNAME von "ed" mit "fred" und "edith" übereinstimmt. Verwenden Sie stattdessen -eq für eine genaue Übereinstimmung und fügen Sie bei Bedarf die Domäne hinzu. Ich benutze eine foreach-Schleife am Ende, um alle führenden und nachfolgenden Leerzeichen als Alternative zu "select fullname | ft -HideTableHeaders" zu entfernen, wodurch eine führende und nachfolgende Zeile ausgegeben wird.
quelle
Wenn Sie immer .Net 3.5 oder höher haben (was Sie mit PowerShell v4.0 und höher tun sollten):
Diese Klasse bietet sehr einfachen Zugriff auf alle gängigen LDAP-Eigenschaften, sodass Sie nicht zweimal nachschlagen müssen (einmal mit WinNT und erneut mit LDAP) oder
[ADSISearcher]
eine LDAP-Suche durchführen müssen, wenn Sie einige erweiterte Eigenschaften wünschen, die WinNT nicht implementiert .quelle
Wenn Sie das Active Directory-Modul nicht verwenden möchten, ist dies nicht möglich. es sei denn, Sie möchten noch tiefer gehen und eine tatsächliche LDAP-Abfrage für einen Domänencontroller ausführen.
Andere Benutzerinformationen als der Benutzername werden in Active Directory gespeichert und müssen dort abgerufen werden.
quelle
[ADSI]
Benutzeroberfläche gibt es schon viel länger als die AD-Module und es ist wirklich nicht allzu kompliziert, wie die akzeptierte Antwort zeigt.