ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    PowerShell - Create New AD User Using Prompts and Variables

    Scheduled Pinned Locked Moved IT Discussion
    powershelladwindows
    26 Posts 6 Posters 5.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JaredBuschJ
      JaredBusch @wrx7m
      last edited by JaredBusch

      @wrx7m

      -UserPrincipalName "[email protected]" `
      -EmailAddress "[email protected]" `
      
      1 Reply Last reply Reply Quote 2
      • dafyreD
        dafyre
        last edited by dafyre

        @wrx7m said in PowerShell - Create New AD User Using Prompts and Variables:

               -UserPrincipalName $GivenName + "@UPNDomain.com" `
        

        Try changing your lines like that to like this...
        -UserPrincipalName "[email protected]"

        You'll need to do this for anything that has a plus sign in it.

        Edit: You'll need to fix the Email Address too.

        1 Reply Last reply Reply Quote 2
        • NerdyDadN
          NerdyDad
          last edited by

          You're going to need to do some concentanation on your usernames in order to get the period included in the spot you want. Take a look at my script. There is a place where it is concentanated for the first name and last name for the email address and last name + first initial for usernames.

          https://mangolassi.it/topic/13324/creating-new-user-without-o365-with-powershell

          1 Reply Last reply Reply Quote 2
          • NerdyDadN
            NerdyDad
            last edited by

            @wrx7m said in PowerShell - Create New AD User Using Prompts and Variables:

            -EmailAddress $GivenName + "." + $Surname + "@email1.com" `

            Here, I think you're going to want to try something like:
            -join ($GivenName,".",$SurName,"@email1.com")

            1 Reply Last reply Reply Quote 2
            • wrx7mW
              wrx7m
              last edited by wrx7m

              What about creating a new variable by combining two existing variables? (For the display name)

              JaredBuschJ NerdyDadN 2 Replies Last reply Reply Quote 0
              • JaredBuschJ
                JaredBusch @wrx7m
                last edited by

                @wrx7m said in PowerShell - Create New AD User Using Prompts and Variables:

                What about creating a new variable by combining two existing variables? (For the display name)

                Of course you can. But why clutter up more variables?

                wrx7mW 1 Reply Last reply Reply Quote 0
                • wrx7mW
                  wrx7m @JaredBusch
                  last edited by

                  @JaredBusch - Well, it didn't work when I used the first 2 together. At least, with the syntax I had. Also, it would be nice to know how to do it. But, I would settle for getting the display name Jon Doe with a space in it using the 2 existing variables.

                  dafyreD 1 Reply Last reply Reply Quote 0
                  • dafyreD
                    dafyre @wrx7m
                    last edited by

                    @wrx7m said in PowerShell - Create New AD User Using Prompts and Variables:

                    @JaredBusch - Well, it didn't work when I used the first 2 together. At least, with the syntax I had. Also, it would be nice to know how to do it. But, I would settle for getting the display name Jon Doe with a space in it using the 2 existing variables.

                    $DisplayName="$GivenName $SurName" ?

                    wrx7mW NerdyDadN 2 Replies Last reply Reply Quote 0
                    • wrx7mW
                      wrx7m @dafyre
                      last edited by

                      @dafyre I'll try that. I think I may have already tried it. I did all sorts of iterations.

                      1 Reply Last reply Reply Quote 0
                      • wrx7mW
                        wrx7m
                        last edited by

                        Import-Module ActiveDirectory
                        $GivenName = Read-Host -Prompt "Enter First Name"
                        $Surname = Read-Host -Prompt "Enter Last Name"
                        $SecurePW = Read-Host -Prompt "Enter a Password" -AsSecureString
                        $DisplayName = "$GivenName $Surname"
                        New-ADUser -Name $DisplayName `
                        

                        Results in this error

                        New-ADUser : A positional parameter cannot be found that accepts argument '+'.
                        At \\FP02\it\Scripts\AD\AD-InitialUserCreationVariables.ps1:6 char:1
                        + New-ADUser -Name $DisplayName `
                        + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            + CategoryInfo          : InvalidArgument: (:) [New-ADUser], ParameterBindingException
                            + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.NewADUser
                        
                        1 Reply Last reply Reply Quote 0
                        • wrx7mW
                          wrx7m
                          last edited by

                          If I get rid of the attempt to combine the 2 existing variables into a 3rd, I get this error.

                          New-ADUser : A positional parameter cannot be found that accepts argument '+'.
                          At \\FP02\it\Scripts\AD\AD-InitialUserCreationVariables.ps1:5 char:1
                          + New-ADUser -Name "$GivenName $Surname" `
                          + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                              + CategoryInfo          : InvalidArgument: (:) [New-ADUser], ParameterBindingException
                              + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.NewADUser
                          
                          dafyreD PhlipElderP 2 Replies Last reply Reply Quote 0
                          • dafyreD
                            dafyre @wrx7m
                            last edited by

                            @wrx7m said in PowerShell - Create New AD User Using Prompts and Variables:

                            If I get rid of the attempt to combine the 2 existing variables into a 3rd, I get this error.

                            New-ADUser : A positional parameter cannot be found that accepts argument '+'.
                            At \\FP02\it\Scripts\AD\AD-InitialUserCreationVariables.ps1:5 char:1
                            + New-ADUser -Name "$GivenName $Surname" `
                            + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                + CategoryInfo          : InvalidArgument: (:) [New-ADUser], ParameterBindingException
                                + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.NewADUser
                            

                            If you did not fix UserPrincipalName and EmailAddress as well, it will still error.

                            1 Reply Last reply Reply Quote 0
                            • JaredBuschJ
                              JaredBusch
                              last edited by

                              This is why you run things manually and not in scripts until you know WTF you are doing.

                              Use the PowerShell ISE, that is what it is for.

                              You also do not have the Country in quotes. It is a string value.

                              wrx7mW 1 Reply Last reply Reply Quote 0
                              • NerdyDadN
                                NerdyDad @wrx7m
                                last edited by

                                @wrx7m said in PowerShell - Create New AD User Using Prompts and Variables:

                                What about creating a new variable by combining two existing variables? (For the display name)

                                $displayName = join ($GivenName," ",$SurName)

                                1 Reply Last reply Reply Quote 0
                                • NerdyDadN
                                  NerdyDad @dafyre
                                  last edited by

                                  @dafyre said in PowerShell - Create New AD User Using Prompts and Variables:

                                  @wrx7m said in PowerShell - Create New AD User Using Prompts and Variables:

                                  @JaredBusch - Well, it didn't work when I used the first 2 together. At least, with the syntax I had. Also, it would be nice to know how to do it. But, I would settle for getting the display name Jon Doe with a space in it using the 2 existing variables.

                                  $DisplayName="$GivenName $SurName" ?

                                  This would result in literally being given $GivenName $SurName whenever you ask for $DisplayName.

                                  dafyreD 1 Reply Last reply Reply Quote 0
                                  • dafyreD
                                    dafyre @NerdyDad
                                    last edited by

                                    @NerdyDad said in PowerShell - Create New AD User Using Prompts and Variables:

                                    @dafyre said in PowerShell - Create New AD User Using Prompts and Variables:

                                    @wrx7m said in PowerShell - Create New AD User Using Prompts and Variables:

                                    @JaredBusch - Well, it didn't work when I used the first 2 together. At least, with the syntax I had. Also, it would be nice to know how to do it. But, I would settle for getting the display name Jon Doe with a space in it using the 2 existing variables.

                                    $DisplayName="$GivenName $SurName" ?

                                    This would result in literally being given $GivenName $SurName whenever you ask for $DisplayName.

                                    That's what he wants as I see his code above.

                                    1 Reply Last reply Reply Quote 0
                                    • JaredBuschJ
                                      JaredBusch
                                      last edited by

                                      0_1542138216766_4a3fe9d1-b314-4779-ad49-cb5b25107eaa-image.png

                                      NerdyDadN 1 Reply Last reply Reply Quote 0
                                      • NerdyDadN
                                        NerdyDad @JaredBusch
                                        last edited by

                                        @JaredBusch said in PowerShell - Create New AD User Using Prompts and Variables:

                                        0_1542138216766_4a3fe9d1-b314-4779-ad49-cb5b25107eaa-image.png

                                        Corrected. Thank you sir.

                                        1 Reply Last reply Reply Quote 0
                                        • wrx7mW
                                          wrx7m @JaredBusch
                                          last edited by

                                          @JaredBusch said in PowerShell - Create New AD User Using Prompts and Variables:

                                          This is why you run things manually and not in scripts until you know WTF you are doing.

                                          Use the PowerShell ISE, that is what it is for.

                                          You also do not have the Country in quotes. It is a string value.

                                          I am running it manually and I am running it in ISE.

                                          JaredBuschJ 1 Reply Last reply Reply Quote 0
                                          • JaredBuschJ
                                            JaredBusch @wrx7m
                                            last edited by

                                            @wrx7m said in PowerShell - Create New AD User Using Prompts and Variables:

                                            @JaredBusch said in PowerShell - Create New AD User Using Prompts and Variables:

                                            This is why you run things manually and not in scripts until you know WTF you are doing.

                                            Use the PowerShell ISE, that is what it is for.

                                            You also do not have the Country in quotes. It is a string value.

                                            I am running it manually and I am running it in ISE.

                                            Change your New-ADUser to a Write-Host and keep adding to the concatenated line until it breaks.

                                            coliverC 1 Reply Last reply Reply Quote 1
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post