showInAddressBook attribute

%3CLINGO-SUB%20id%3D%22%5C%26quot%3Blingo-sub-3174766%5C%26quot%3B%22%20slang%3D%22%5C%26quot%3Ben-US%5C%26quot%3B%22%3EshowInAddressBook%20attribute%26lt%3B%5C%2Flingo-sub%26gt%3B%3CLINGO-BODY%20id%3D%22%5C%26quot%3Blingo-body-3174766%5C%26quot%3B%22%20slang%3D%22%5C%26quot%3Ben-US%5C%26quot%3B%22%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3EI%20am%20looking%20for%20a%20bit%20of%20expertise%20on%20Exchange%20attributes.%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3EI%20have%20a%20user%20who%20is%20reporting%20he%20is%20not%20appearing%20in%20the%20GAL.%20He%20is%20not%20hidden%20according%20to%20Exchange.%20His%20mailbox%20is%20there.%20It%20can%20even%20receive%20email.%20He%20is%20in%20same%20groups%20and%20ou%20of%20working%20users%20and%20get-mailbox%20%7C%20fl%20shows%20him%20as%20the%20same%20as%20other%20users.%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3EAfter%20some%20digging%20I%20discovered%20an%20AD%20attribute%20called%20%22showInAddressBook%22.%20It%20was%20blank.%20My%20understanding%20is%20that%20this%20is%20supposed%20to%20contain%20an%20LDAP%20value(s)%20showing%20which%20address%20books%20the%20user%20is%20supposed%20to%20be%20in.%20Logically%20I%20can%20understand%20if%20this%20is%20blank%20then%20it%20means%20it%20won't%20show%20anywhere.%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3EThe%20%22Exchange%20Recipient%20Update%20Service%22%20is%20named%20as%20what%20is%20supposed%20to%20update%20it.%20I%20can%20also%20see%20a%20cmdlet%20called%20%22Update-Recipient%22.%20The%20cmdlet%20documentation%20suggests%20that%20it%20will%20populate%20AD%20with%20Exchange%20attributes.%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3EMy%20question%20is%20relatively%20straightforward.%20Before%20I%20run%20this%20does%20anyone%20know%20if%20this%20cmdlet%20will%20fix%20the%26nbsp%3B%20%22showInAddressBook%22%20and%20populate%20it%20with%20correct%20values.%20Alternatively%2C%20how%20is%20this%20done%20manually%3F%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3EIts%20all%20a%20bit%20of%20a%20mystery.%20I%20am%20contempating%20creating%20a%20VM%20to%20build%20a%20scenario%20of%20broken%20AD%20record%20where%20it's%20blank%20but%20before%20I%20do%20I%20thought%20I%20would%20ask.%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%26lt%3B%5C%2Flingo-body%26gt%3B%3CLINGO-LABS%20id%3D%22%5C%26quot%3Blingo-labs-3174766%5C%26quot%3B%22%20slang%3D%22%5C%26quot%3Ben-US%5C%26quot%3B%22%3E%3CLINGO-LABEL%3EExchange%20Recipient%20Update%20Service%26lt%3B%5C%2Flingo-label%26gt%3B%3CLINGO-LABEL%3EshowInAddressBook%26lt%3B%5C%2Flingo-label%26gt%3B%3CLINGO-LABEL%3Eupdate-recipient%26lt%3B%5C%2Flingo-label%26gt%3B%26lt%3B%5C%2Flingo-labs%26gt%3B%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3C%2FLINGO-SUB%3E%3CLINGO-SUB%20id%3D%22lingo-sub-3174766%22%20slang%3D%22en-US%22%3EshowInAddressBook%20attribute%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3174766%22%20slang%3D%22en-US%22%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20am%20looking%20for%20a%20bit%20of%20expertise%20on%20Exchange%20attributes.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20have%20a%20user%20who%20is%20reporting%20he%20is%20not%20appearing%20in%20the%20GAL.%20He%20is%20not%20hidden%20according%20to%20Exchange.%20His%20mailbox%20is%20there.%20It%20can%20even%20receive%20email.%20He%20is%20in%20same%20groups%20and%20ou%20of%20working%20users%20and%20get-mailbox%20%7C%20fl%20shows%20him%20as%20the%20same%20as%20other%20users.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAfter%20some%20digging%20I%20discovered%20an%20AD%20attribute%20called%20%22showInAddressBook%22.%20It%20was%20blank.%20My%20understanding%20is%20that%20this%20is%20supposed%20to%20contain%20an%20LDAP%20value(s)%20showing%20which%20address%20books%20the%20user%20is%20supposed%20to%20be%20in.%20Logically%20I%20can%20understand%20if%20this%20is%20blank%20then%20it%20means%20it%20won't%20show%20anywhere.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%20%22Exchange%20Recipient%20Update%20Service%22%20is%20named%20as%20what%20is%20supposed%20to%20update%20it.%20I%20can%20also%20see%20a%20cmdlet%20called%20%22Update-Recipient%22.%20The%20cmdlet%20documentation%20suggests%20that%20it%20will%20populate%20AD%20with%20Exchange%20attributes.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMy%20question%20is%20relatively%20straightforward.%20Before%20I%20run%20this%20does%20anyone%20know%20if%20this%20cmdlet%20will%20fix%20the%26nbsp%3B%20%22showInAddressBook%22%20and%20populate%20it%20with%20correct%20values.%20Alternatively%2C%20how%20is%20this%20done%20manually%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIts%20all%20a%20bit%20of%20a%20mystery.%20I%20am%20contempating%20creating%20a%20VM%20to%20build%20a%20scenario%20of%20broken%20AD%20record%20where%20it's%20blank%20but%20before%20I%20do%20I%20thought%20I%20would%20ask.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-3174766%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EExchange%20Recipient%20Update%20Service%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EshowInAddressBook%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Eupdate-recipient%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-3204073%22%20slang%3D%22en-US%22%3ERe%3A%20showInAddressBook%20attribute%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3204073%22%20slang%3D%22en-US%22%3EI%20dislike%20questions%20without%20solutions%2C%20Here%20is%20what%20we%20looked%20at.%3CBR%20%2F%3E%3CBR%20%2F%3ESome%20PowerShell%20may%20have%20solved%20the%20issue.%20Something%20like%20this.%3CBR%20%2F%3E%3CBR%20%2F%3E%24CorrectUser%20%3D%20get-AdUser%20%E2%80%9Cworkinguser%E2%80%9D%20-Properties%20*%3CBR%20%2F%3E%3CBR%20%2F%3EForeach(%24AddressBookListing%20in%20%24CorrectUser.ShowInAddressBook)%7BSet-AdUser%20notworkinguser%20-Add%20%40%7BShowInAddressBook%3D%24AddressBookListing%7D%7D%3CBR%20%2F%3E%3CBR%20%2F%3EIn%20theory%20this%20should%20have%20populated%20the%20AD%20entry.%3CBR%20%2F%3E%3CBR%20%2F%3EIt%20didn't.%20So%20we%20output%20the%20working%20user%20and%20pasted%20the%20value%20using%20the%20GUI.%3CBR%20%2F%3E%3CBR%20%2F%3EI%20was%20mostly%20worried%20about%20the%20Exchange%20Recipient%20Update%20Service%20overwriting%20it.%20However%2C%20this%20worry%20was%20misplaced.%3CBR%20%2F%3E%3CBR%20%2F%3EAt%20least%20here%20are%20some%20ideas%20if%20you%20see%20this.%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E
Contributor

 

I am looking for a bit of expertise on Exchange attributes. 

 

I have a user who is reporting he is not appearing in the GAL. He is not hidden according to Exchange. His mailbox is there. It can even receive email. He is in same groups and ou of working users and get-mailbox | fl shows him as the same as other users.

 

After some digging I discovered an AD attribute called "showInAddressBook". It was blank. My understanding is that this is supposed to contain an LDAP value(s) showing which address books the user is supposed to be in. Logically I can understand if this is blank then it means it won't show anywhere.

 

The "Exchange Recipient Update Service" is named as what is supposed to update it. I can also see a cmdlet called "Update-Recipient". The cmdlet documentation suggests that it will populate AD with Exchange attributes.

 

My question is relatively straightforward. Before I run this does anyone know if this cmdlet will fix the  "showInAddressBook" and populate it with correct values. Alternatively, how is this done manually?

 

Its all a bit of a mystery. I am contempating creating a VM to build a scenario of broken AD record where it's blank but before I do I thought I would ask.

 

 

1 Reply
I dislike questions without solutions, Here is what we looked at.

Some PowerShell may have solved the issue. Something like this.

$CorrectUser = get-AdUser “workinguser” -Properties *

Foreach($AddressBookListing in $CorrectUser.ShowInAddressBook){Set-AdUser notworkinguser -Add @{ShowInAddressBook=$AddressBookListing}}

In theory this should have populated the AD entry.

It didn't. So we output the working user and pasted the value using the GUI.

I was mostly worried about the Exchange Recipient Update Service overwriting it. However, this worry was misplaced.

At least here are some ideas if you see this.