Con PowerShell, ¿cómo puedo obtener el nombre completo del usuario del dominio actualmente conectado (no solo su nombre de usuario) sin la necesidad del módulo ActiveDirectory?
windows
powershell
Jonathan Rioux
fuente
fuente
Me gusta la respuesta aceptada, pero solo porque quería probar esto yo mismo:
devoluciones:
o si desea no tener la información del encabezado y solo el resultado:
fuente
Un revestimiento usando Powershell 3.0:
fuente
Según su comentario sobre la respuesta aceptada de Craig620,
Parece que está tratando de evitar instalar módulos de PowerShell en estaciones de trabajo de usuario, sí, pero también, no, no necesita ser un administrador de dominio para buscar su propio nombre en AD. Puede buscar casi cualquier información que aparezca en la GAL en Outlook, incluido el nombre completo, como usuario estándar.
También puede buscar los nombres completos de otras personas como usuario estándar en AD (usando
Get-WmiObject Win32_userAccount
, si desea evitar los módulos AD). Las cuentas de servicio que consultan AD (bueno, antes de las cuentas de servicio administradas ) generalmente son usuarios estándar de AD sin privilegios.fuente
Usar -match no es una buena opción porque un $ env: USERNAME de "ed" coincidirá con "fred" y "edith". En su lugar, use -eq para una coincidencia exacta y agregue el dominio si es necesario. Utilizo un bucle foreach al final para quitar todos los espacios en blanco iniciales como alternativa a "select fullname | ft -HideTableHeaders", que imprime una nueva línea inicial y final.
fuente
Si siempre tiene .Net 3.5 o superior (que debería tener con PowerShell v4.0 y superior):
Esa clase proporciona un acceso muy fácil a todas las propiedades comunes de LDAP, por lo que no necesita buscar dos veces (una con WinNT y otra con LDAP) ni utilizar
[ADSISearcher]
para hacer una búsqueda de LDAP si desea algunas propiedades extendidas que WinNT no implementa .fuente
Si no desea utilizar el módulo Active Directory, no puede hacerlo; a menos que desee profundizar aún más y realizar una consulta LDAP real contra un controlador de dominio.
Cualquier información de usuario que no sea el nombre de usuario se almacena en Active Directory, y debe recuperarse allí.
fuente
[ADSI]
interfaz ha durado mucho más tiempo que los módulos de AD, y realmente no es tan complicado, como muestra la respuesta aceptada.