This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
windows:windows_adinfo [2021/10/06 21:09] manu created |
windows:windows_adinfo [2023/02/15 22:04] (current) manu |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Windows AD information in command line ====== | ====== Windows AD information in command line ====== | ||
| + | |||
| + | <cli prompt='>'> | ||
| + | C:\Users\myuser1>gpresult /r | find "OU" | ||
| + | CN=MYUSER1,OU=ALL Users,OU=NDS,DC=xxx,DC=xxx,DC=lu | ||
| + | GPOUSER_ScreenSaver30m | ||
| + | </cli> | ||
| + | |||
| + | List all groups of a user: | ||
| + | <cli prompt='>'> | ||
| + | C:\Users\myuser1> (GET-ADUSER –Identity myuser1 –Properties MemberOf | Select-Object MemberOf).MemberOf | ||
| + | </cli> | ||
| Get the extensionAttribute attribute value for all Active Directory users using PowerShell | Get the extensionAttribute attribute value for all Active Directory users using PowerShell | ||
| How do I return the sAMAccountName and a particular attribute – in this case extensionAttribute1 for all Active Directory users in PowerShell | How do I return the sAMAccountName and a particular attribute – in this case extensionAttribute1 for all Active Directory users in PowerShell | ||
| + | <cli prompt='>'> | ||
| + | Get-ADUser username -Properties * | Select * | ||
| + | </cli> | ||
| + | |||
| <cli prompt='>'> | <cli prompt='>'> | ||
| Get-ADUser -Properties extensionAttribute1 -Filter * | Select sAMAccountName, extensionAttribute1 | export-csv c:\temp\extensionattribute1.csv | Get-ADUser -Properties extensionAttribute1 -Filter * | Select sAMAccountName, extensionAttribute1 | export-csv c:\temp\extensionattribute1.csv | ||
| </cli> | </cli> | ||
| + | |||
| + | Using PowerShell to List All AD User Attributes | ||
| + | |||
| + | Per the previous section you need to examine the following to get the full list of potential attributes for any class definition: | ||
| + | |||
| + | Find a list of all classes inherited by the class (inheritance chain) | ||
| + | Find a list of all supplemental (auxiliary) classes for the classes found in the previous step | ||
| + | Find all attribute lists in the four mustContain/mayContain attributes of the classes found in the two previous (don’t forget the class itself) | ||
| + | |||
| + | <code> | ||
| + | Import-Module ActiveDirectory | ||
| + | $Loop = $True | ||
| + | $ClassName = "User" | ||
| + | $ClassArray = [System.Collections.ArrayList]@() | ||
| + | $UserAttributes = [System.Collections.ArrayList]@() | ||
| + | # Retrieve the User class and any parent classes | ||
| + | While ($Loop) { | ||
| + | $Class = Get-ADObject -SearchBase (Get-ADRootDSE).SchemaNamingContext -Filter { ldapDisplayName -Like $ClassName } -Properties AuxiliaryClass, SystemAuxiliaryClass, mayContain, mustContain, systemMayContain, systemMustContain, subClassOf, ldapDisplayName | ||
| + | If ($Class.ldapDisplayName -eq $Class.subClassOf) { | ||
| + | $Loop = $False | ||
| + | } | ||
| + | $ClassArray.Add($Class) | ||
| + | $ClassName = $Class.subClassOf | ||
| + | } | ||
| + | # Loop through all the classes and get all auxiliary class attributes and direct attributes | ||
| + | $ClassArray | % { | ||
| + | # Get Auxiliary class attributes | ||
| + | $Aux = $_.AuxiliaryClass | % { Get-ADObject -SearchBase (Get-ADRootDSE).SchemaNamingContext -Filter { ldapDisplayName -like $_ } -Properties mayContain, mustContain, systemMayContain, systemMustContain } | | ||
| + | Select-Object @{n = "Attributes"; e = { $_.mayContain + $_.mustContain + $_.systemMaycontain + $_.systemMustContain } } | | ||
| + | Select-Object -ExpandProperty Attributes | ||
| + | # Get SystemAuxiliary class attributes | ||
| + | $SysAux = $_.SystemAuxiliaryClass | % { Get-ADObject -SearchBase (Get-ADRootDSE).SchemaNamingContext -Filter { ldapDisplayName -like $_ } -Properties MayContain, SystemMayContain, systemMustContain } | | ||
| + | Select-Object @{n = "Attributes"; e = { $_.maycontain + $_.systemmaycontain + $_.systemMustContain } } | | ||
| + | Select-Object -ExpandProperty Attributes | ||
| + | # Get direct attributes | ||
| + | $UserAttributes += $Aux + $SysAux + $_.mayContain + $_.mustContain + $_.systemMayContain + $_.systemMustContain | ||
| + | } | ||
| + | $UserAttributes | Sort-Object | Get-Unique | ||
| + | </code> | ||
| + | |||
| + | <code> | ||
| + | accountExpires | ||
| + | accountNameHistory | ||
| + | aCSPolicyName | ||
| + | adminCount | ||
| + | adminDescription | ||
| + | adminDisplayName | ||
| + | ... | ||
| + | c | ||
| + | canonicalName | ||
| + | carLicense | ||
| + | cn | ||
| + | co | ||
| + | codePage | ||
| + | comment | ||
| + | company | ||
| + | controlAccessRights | ||
| + | countryCode | ||
| + | ... | ||
| + | enabledProtocols | ||
| + | expirationTime | ||
| + | extensionAttribute1 | ||
| + | ... | ||
| + | extensionData | ||
| + | extensionName | ||
| + | facsimileTelephoneNumber | ||
| + | flags | ||
| + | folderPathname | ||
| + | formData | ||
| + | forwardingAddress | ||
| + | fromEntry | ||
| + | frsComputerReferenceBL | ||
| + | fRSMemberReferenceBL | ||
| + | fSMORoleOwner | ||
| + | garbageCollPeriod | ||
| + | gecos | ||
| + | generationQualifier | ||
| + | gidNumber | ||
| + | givenName | ||
| + | groupMembershipSAM | ||
| + | groupPriority | ||
| + | groupsToIgnore | ||
| + | heuristics | ||
| + | homeDirectory | ||
| + | homeDrive | ||
| + | homeMDB | ||
| + | homeMTA | ||
| + | homePhone | ||
| + | homePostalAddress | ||
| + | houseIdentifier | ||
| + | importedFrom | ||
| + | info | ||
| + | initials | ||
| + | instanceType | ||
| + | internationalISDNNumber | ||
| + | internetEncoding | ||
| + | ipPhone | ||
| + | isCriticalSystemObject | ||
| + | isDeleted | ||
| + | isPrivilegeHolder | ||
| + | isRecycled | ||
| + | jpegPhoto | ||
| + | kMServer | ||
| + | l | ||
| + | labeledURI | ||
| + | language | ||
| + | languageCode | ||
| + | lastKnownParent | ||
| + | lastLogoff | ||
| + | lastLogon | ||
| + | lastLogonTimestamp | ||
| + | legacyExchangeDN | ||
| + | lmPwdHistory | ||
| + | localeID | ||
| + | lockoutTime | ||
| + | loginShell | ||
| + | logonCount | ||
| + | logonHours | ||
| + | logonWorkstation | ||
| + | |||
| + | mailNickname | ||
| + | managedObjects | ||
| + | manager | ||
| + | mAPIRecipient | ||
| + | masteredBy | ||
| + | maxStorage | ||
| + | mDBOverHardQuotaLimit | ||
| + | mDBOverQuotaLimit | ||
| + | mDBStorageQuota | ||
| + | mDBUseDefaults | ||
| + | memberOf | ||
| + | mhsORAddress | ||
| + | middleName | ||
| + | mobile | ||
| + | modifyTimeStamp | ||
| + | msCOM-PartitionSetLink | ||
| + | msCOM-UserLink | ||
| + | ... | ||
| + | msDS-UserPasswordExpiryTimeComputed | ||
| + | msDS-ValueTypeReferenceBL | ||
| + | msExchADCGlobalNames | ||
| + | ... | ||
| + | msNPSavedCallingStationID | ||
| + | msOrg-LeadersBL | ||
| + | msPKIAccountCredentials | ||
| + | ... | ||
| + | msRADIUSServiceType | ||
| + | msRASSavedCallbackNumber | ||
| + | msRASSavedFramedIPAddress | ||
| + | msRASSavedFramedRoute | ||
| + | msSFU30Name | ||
| + | msSFU30NisDomain | ||
| + | msSFU30PosixMemberOf | ||
| + | msTSAllowLogon | ||
| + | ... | ||
| + | name | ||
| + | netbootSCPBL | ||
| + | networkAddress | ||
| + | nonSecurityMemberBL | ||
| + | ntPwdHistory | ||
| + | nTSecurityDescriptor | ||
| + | o | ||
| + | objectCategory | ||
| + | objectClass | ||
| + | objectGUID | ||
| + | objectSid | ||
| + | objectVersion | ||
| + | ... | ||
| + | ou | ||
| + | ownerBL | ||
| + | ... | ||
| + | postOfficeBox | ||
| + | preferredDeliveryMethod | ||
| + | preferredLanguage | ||
| + | preferredOU | ||
| + | primaryGroupID | ||
| + | primaryInternationalISDNNumber | ||
| + | ... | ||
| + | pwdLastSet | ||
| + | ... | ||
| + | repsFrom | ||
| + | repsTo | ||
| + | revision | ||
| + | rid | ||
| + | roomNumber | ||
| + | sAMAccountName | ||
| + | sAMAccountType | ||
| + | scriptPath | ||
| + | sDRightsEffective | ||
| + | secretary | ||
| + | securityIdentifier | ||
| + | securityProtocol | ||
| + | seeAlso | ||
| + | serialNumber | ||
| + | serverReferenceBL | ||
| + | servicePrincipalName | ||
| + | shadowExpire | ||
| + | shadowFlag | ||
| + | shadowInactive | ||
| + | shadowLastChange | ||
| + | shadowMax | ||
| + | shadowMin | ||
| + | shadowWarning | ||
| + | showInAddressBook | ||
| + | showInAdvancedViewOnly | ||
| + | sIDHistory | ||
| + | siteObjectBL | ||
| + | sn | ||
| + | st | ||
| + | street | ||
| + | ... | ||
| + | title | ||
| + | tokenGroups | ||
| + | tokenGroupsGlobalAndUniversal | ||
| + | tokenGroupsNoGCAcceptable | ||
| + | uid | ||
| + | uidNumber | ||
| + | unauthOrig | ||
| + | unauthOrigBL | ||
| + | unicodePwd | ||
| + | unixHomeDirectory | ||
| + | unixUserPassword | ||
| + | unmergedAtts | ||
| + | url | ||
| + | userAccountControl | ||
| + | userCert | ||
| + | userCertificate | ||
| + | userParameters | ||
| + | userPassword | ||
| + | userPKCS12 | ||
| + | userPrincipalName | ||
| + | userSharedFolder | ||
| + | userSharedFolderOther | ||
| + | userSMIMECertificate | ||
| + | userWorkstations | ||
| + | uSNChanged | ||
| + | uSNCreated | ||
| + | uSNDSALastObjRemoved | ||
| + | USNIntersite | ||
| + | uSNLastObjRem | ||
| + | uSNSource | ||
| + | versionNumber | ||
| + | wbemPath | ||
| + | wellKnownObjects | ||
| + | whenChanged | ||
| + | whenCreated | ||
| + | wWWHomePage | ||
| + | x121Address | ||
| + | x500uniqueIdentifier | ||
| + | </code> | ||
| + | |||
| + | https://www.easy365manager.com/how-to-get-all-active-directory-user-object-attributes/ | ||