- employeeID (N28 en la table de propiedades)
- employeeIDNumber (N29 en la table de propiedades)
- mail (No listada en la table de propiedades, es de exchange)
- mailNickname (No listada en la table de propiedades, es de exchange)
- bnso365upn (No listada en la table de propiedades, es de exchange)
Import-Module ActiveDirectory
#capturamos el contenido del archivo con el listado de usuarios
$csvcontent = get-content user.txt
#definimos nuestro archivo de salida
$logfile="listadoAtributos.txt"
#Iniciamos el proceso de consulta y escritura en nustro archivo definido
foreach ($user in $csvcontent)
{
#creamos una variable para cada propiedad
$emID =get-aduser -Filter {SamAccountName -eq $user} -Properties * | select employeeID -ErrorAction SilentlyContinue
$emIDN=get-aduser -Filter {SamAccountName -eq $user} -Properties * | select employeeIDNumber -ErrorAction SilentlyContinue
$mail=get-aduser -Filter {SamAccountName -eq $user} -Properties * | select mail -ErrorAction SilentlyContinue
$mailNick=get-aduser -Filter {SamAccountName -eq $user} -Properties * | select mailNickname -ErrorAction SilentlyContinue
$bns365=get-aduser -Filter {SamAccountName -eq $user} -Properties * | select bnso365upn -ErrorAction SilentlyContinue
#escribimos todas las variables consultadas separadas por ,
out-file $logfile -input "$user,$emID, $emIDN, $mail, $mailNick, $bns365" -append
}#fin foreach
El anterior Script se debera ejecutar desde una maquina que tenga el cmdlet de Active Directory y nos generara el archivo listadoAtributos.txt
Si requerimos adicionar otras propiedades solo debemos copiar y pegar una de las lineas de la consulta de propiedades, cambiar el nombre de la variable y reemplazar despues del select el nombre de la propiedad asi:
Aqui estamos consultando la propiedad employeeID
$emID =get-aduser -Filter {SamAccountName -eq $user} -Properties * | select employeeID -ErrorAction SilentlyContinue
Queremos adicionar la propiedad lastLogon
cambiamos $emID por $last (o cualquier nombre que creamos comveniente) y cambiamos employeeID por lastLogon
$last =get-aduser -Filter {SamAccountName -eq $user} -Properties * | select lastLogon -ErrorAction SilentlyContinue
y para introducirlo en nuestro archivo de salida solo adicionamos la variable nueva con una coma en la linea:
out-file $logfile -input "$user,$emID, $emIDN, $mail, $mailNick, $bns365" -append
Quedando:
out-file $logfile -input "$user,$emID, $emIDN, $mail, $mailNick, $bns365, $last" -append
Listado de Propiedades usuario Directorio Activo
1 | accountExpires | 54 | MNSLogonAccount |
2 | AccountLockoutTime | 55 | MobilePhone |
3 | AccountNotDelegated | 56 | Modified |
4 | AllowReversiblePasswordEncryption | 57 | modifyTimeStamp |
5 | BadLogonCount | 58 | msDS-User-Account-Control-Computed |
6 | badPasswordTime | 59 | msExchHomeServerName |
7 | badPwdCount | 60 | msExchUserAccountControl |
8 | CannotChangePassword | 61 | Name |
9 | CanonicalName | 62 | nTSecurityDescriptor |
10 | Certificates | 63 | ObjectCategory |
11 | City | 64 | ObjectClass |
12 | CN | 65 | ObjectGUID |
13 | codePage | 66 | objectSid |
14 | Company | 67 | Office |
15 | Country | 68 | OfficePhone |
16 | countryCode | 69 | Organization |
17 | Created | 70 | OtherName |
18 | createTimeStamp | 71 | PasswordExpired |
19 | Deleted | 72 | PasswordLastSet |
20 | Department | 73 | PasswordNeverExpires |
21 | Description | 74 | PasswordNotRequired |
22 | DisplayName | 75 | POBox |
23 | DistinguishedName | 76 | PostalCode |
24 | Division | 77 | PrimaryGroup |
25 | DoesNotRequirePreAuth | 78 | primaryGroupID |
26 | dSCorePropagationData | 79 | ProfilePath |
27 | EmailAddress | 80 | ProtectedFromAccidentalDeletion |
28 | EmployeeID | 81 | pwdLastSet |
29 | EmployeeNumber | 82 | SamAccountName |
30 | Enabled | 83 | sAMAccountType |
31 | Fax | 84 | ScriptPath |
32 | GivenName | 85 | sDRightsEffective |
33 | HomeDirectory | 86 | ServicePrincipalNames |
34 | HomedirRequired | 87 | showInAddressBook |
35 | HomeDrive | 88 | SID |
36 | HomePage | 89 | SIDHistory |
37 | HomePhone | 90 | SmartcardLogonRequired |
38 | Initials | 91 | sn |
39 | instanceType | 92 | State |
40 | isDeleted | 93 | StreetAddress |
41 | LastBadPasswordAttempt | 94 | Surname |
42 | LastKnownParent | 95 | Title |
43 | lastLogoff | 96 | TrustedForDelegation |
44 | lastLogon | 97 | TrustedToAuthForDelegation |
45 | LastLogonDate | 98 | UseDESKeyOnly |
46 | lastLogonTimestamp | 99 | userAccountControl |
47 | LockedOut | 100 | userCertificate |
48 | lockoutTime | 101 | UserPrincipalName |
49 | logonCount | 102 | uSNChanged |
50 | LogonWorkstations | 103 | uSNCreated |
51 | Manager | 104 | whenChanged |
52 | mDBUseDefaults | 105 | whenCreated |
53 | MemberOf |
En la tabla anterior se lista las propiedades(Atributos) de un usuario en Directorio Activo, cabe aclarar que al integrarse con Exchange el listado crecera.
Espero a alguno le sea util este post
¡Hasta la proxima!
Si te fue útil la información "HAZ CLICK EN LA PUBLICIDAD DE GOOGLE"
visitando nuestros anunciantes, agradeces nuestro trabajo...
No hay comentarios:
Publicar un comentario
Comentar tambien es agradecer