title: Get-ADUser not returning all possible AD attributes when specifying all properties
body: <p>I've run into a case where specific properties are not enumerated when using<br/><code>Get-ADUser -Properties *</code>. For example the following code does not list the<br/><code>msDS-UserPasswordExpiryTimeComputed</code> property even though it exists and I can specify it as a<br/><code>-Properties</code> argument, have it return, and can process its value.</p>
  <pre><code># Does not return msDS-UserPasswordExpiryTimeComputed
  Get-ADUser username -Properties *
  
  # This works to get the msDS-UserPasswordExpiryTimeComputed attribute returned
  Get-ADUser username -Properties msDS-UserPasswordExpiryTimeComputed
  
  # If I really want all properties and this one
  # I have to specify it alongside *
  Get-ADUser username -Properties *, msDS-UserPasswordExpiryTimeComputed
  </code></pre>
  <p>This isn't just a case of the property being omitted from the display, I need to explicitly state the <code>msDS-UserPasswordExpiryTimeComputed</code> property or else it simply isn't available on the resulting object.</p>
  <p>I already know filtering on <code>Properties *</code> isn't a good idea in most cases, but I'm curious about why <strong>all</strong> AD DS attributes are not enumerated when this is precisely what I am asking the cmdlet to do.</p>
  <p>This question is asking about <code>Get-ADUser</code> but like most other behaviors with the <code>Get-ADObject</code> cmdlets I assume this behavior extends to most, if not all, of them.</p>