À l'aide de PowerShell, comment puis-je obtenir le nom complet de l'utilisateur de domaine actuellement connecté (pas seulement son nom d'utilisateur) sans avoir besoin du module ActiveDirectory?
windows
powershell
Jonathan Rioux
la source
la source
J'aime la réponse acceptée, mais juste parce que je voulais l'essayer moi-même:
résultats:
ou si vous ne souhaitez pas avoir les informations d'en-tête et juste le résultat:
la source
Un liner utilisant Powershell 3.0:
la source
Sur la base de votre commentaire sur la réponse acceptée de Craig620,
On dirait que vous essayez d'éviter d'installer des modules PowerShell sur les postes de travail des utilisateurs, oui, mais aussi, non, vous n'avez pas besoin d'être un administrateur de domaine pour rechercher votre propre nom dans AD. Vous pouvez rechercher à peu près toutes les informations qui apparaissent dans la liste d'adresses globale dans Outlook, y compris le nom complet, en tant qu'utilisateur standard.
Vous pouvez également rechercher les noms complets d'autres personnes en tant qu'utilisateur standard dans AD (en utilisant
Get-WmiObject Win32_userAccount
, si vous voulez éviter les modules AD). Les comptes de service qui interrogent AD (enfin, avant les comptes de service gérés ) sont généralement des utilisateurs AD standard et non privilégiés.la source
Utiliser -match n'est pas un bon choix car un $ env: USERNAME de "ed" correspondra à "fred" et "edith". Utilisez plutôt -eq pour une correspondance exacte et ajoutez le domaine si nécessaire. J'utilise une boucle foreach à la fin pour supprimer tous les espaces de début et de fin comme alternative à "select fullname | ft -HideTableHeaders" qui imprime une nouvelle ligne de début et de fin.
la source
Si vous avez toujours .Net 3.5 ou supérieur (ce que vous devriez avec PowerShell v4.0 et supérieur):
Cette classe fournit un accès très facile à toutes les propriétés LDAP courantes, vous n'avez donc pas besoin de rechercher deux fois (une fois avec WinNT et de nouveau avec LDAP) ou d'utiliser
[ADSISearcher]
pour effectuer une recherche LDAP si vous voulez des propriétés étendues que WinNT n'implémente pas .la source
Si vous ne souhaitez pas utiliser le module Active Directory, vous ne pouvez pas; sauf si vous souhaitez aller plus loin et effectuer une requête LDAP réelle sur un contrôleur de domaine.
Toutes les informations utilisateur autres que le nom d'utilisateur sont stockées dans Active Directory et doivent y être récupérées.
la source
[ADSI]
interface existe depuis bien plus longtemps que les modules AD, et ce n'est vraiment pas si compliqué, comme le montre la réponse acceptée.