Novell Home

Have You Heard This One-Liner?

Novell Cool Solutions: Tip
By Justin Grote

Rate This Page

Reader Rating  stars  from 2 ratings

Digg This - Slashdot This

Posted: 16 Aug 2006
 

Problem

The Identity Manager AD driver matches against eDir users on the basis of the userprincipalname. However, this is an optional attribute that not all users (especially ones created before Windows 2003) have.

Solution

Here's a quick one-liner I whipped up in a few minutes for a customer. This will find all users in an Active Directory tree that don't have a UserPrincipalName, get their SamAccountName, build a UPN off of that, and inject the new UPN's into AD.

ldapsearch -xWZLLL -D "cn=Administrator,cn=users,dc=example,dc=com" -b
"dc=example,dc=com" -h myserver.example.com
'(&(objectclass=user)(!(userprincipalname=*)))' samaccountname | sed
'/sAMAccountName/s/$/\@example\.com/g' | sed
s/sAMAccountName/userPrincipalName/g | ldapmodify -xWZ -D
"cn=Administrator,cn=users,dc=example,dc=com" -h myserver.example.com

Reader Comments

  • How good can a one-liner be if it doesn't have xargs in it somewhere? :-)

Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

Novell® Making IT Work As One

© 2009 Novell, Inc. All Rights Reserved.