Add a UPN

Welcome Forums General PowerShell Q&A Add a UPN

Viewing 0 reply threads
  • Author
    Posts
    • #5650
      Participant
      Topics: 1562
      Replies: 0
      Points: 1
      Rank: Member

      by NeatAccurateTypist at 2013-03-11 14:54:08

      I used Import-CSV to create a load of AD accounts today but forgot to add the UserPrincipalName property.

      I realise I should have added something like: -UserPrincipalName ($_.samAccountName + ‘@domain.com‘) in my original command, but now I’m trying to add the UPN to the newly-created accounts.

      I’m trying something along the lines of:

      Get-ADUser -filter * -SearchBase ‘OU=OrganizationlUnit,DC=domain,DC=com’ | Set-ADUser -UserPrincipalName ……

      What’s the equivalent of "($_.samAccountName + ‘@domain.com‘)" for accounts that already exist, but have no UPN?

      Thanks.

      by DonJ at 2013-03-13 08:00:25

      You need to chuck in a ForEach.

      Get-ADUser -filter * | ForEach { Set-ADUser }

      Within the {} you’ll have $_ again.

      by NeatAccurateTypist at 2013-03-13 08:36:58

      Thanks I’ve tried this but I’m getting this reply:

      cmdlet Set-ADUser at command pipeline position 1

      by DonJ at 2013-03-13 08:40:27

      Ok, so show me the exact command you tried to run that gave you that error.

      by NeatAccurateTypist at 2013-03-13 09:00:31

      I’ve been trying a few things, with and without parentheses within the curly brackets, along the lines of:

      Get-ADUser -filter * | ForEach { Set-ADUser -UserPrincipalName ($_.samAccountName + ‘@domain.com‘) }

      by MasterOfTheHat at 2013-03-13 09:36:08

      I don’t have a test domain to verify it on, but it should be as simple as:
      Get-ADUser -filter * | ForEach { Set-ADUser -UserPrincipalName "$($_.samAccountName + '@domain.com')" }

      Note the quotes and extra $ in the -UserPrincipleName parameter…

      by NeatAccurateTypist at 2013-03-13 09:47:57

      Thanks MasterOfTheHat,

      I’ve tried your suggestion, but I’m still getting the following message:

      cmdlet Set-ADUser at command pipeline position 1
      Supply values for the following parameters:
      Identity:

      by MasterOfTheHat at 2013-03-13 10:45:18

      AH! Makes sense… The Set-ADUser command doesn’t know what user object to apply the UPN to! Sorry I forgot that. Try:
      Get-ADUser -filter * | ForEach { Set-ADUser -Identity "$_.samAccountName" -UserPrincipalName "$($_.samAccountName + '@domain.com')" }

      by NeatAccurateTypist at 2013-03-14 05:57:20

      Thanks MasterofTheHat!

      I tried that and it needed a slight adjustment (I had to remove the quotes from around the first "$_.samAccountName" and then it ran perfectly).

      Did exactly what I needed! Thanks again!

      🙂

Viewing 0 reply threads
  • The topic ‘Add a UPN’ is closed to new replies.