Batch file to create a new user

How do I right a batch file that creates a profile for one of the domain users on the local machine? Win XP OS
iamdieterAsked:
Who is Participating?
 
Ben Personick (Previously QCubed)Connect With a Mentor Lead Network EngineerCommented:
@iamdieter (BTW: Nice SNL/Mike Meyer's reference):

I believe what you are asking is this:

You want a user's profile to be created on every machine so the user will not have to load the profile on the first time they log on, then go about and change settings, correct?


The way in which you do this is to COPY the user profile from the machine where the user had been logged on, to every machine in the network.

If you only care about windows settings you only need a few files, if you care about application settings and the like you will want most of the user's profile and you might as well just take the whole thing.

To do this when 'JOHN' logs in John should be an administrator on the machine where this will be copied to.
First, we do a bit of prep work to create the profile fresh, or grab an existing profile (see below)

  1. Stage a copy of the profile by having Paul log into a single machine using his domain user name and password and set things up how he wants them (or use an existing machine Paul already uses.)
  2. Then reboot the machine just to be 100% certain that Paul's user profile has no locks against it.
  3. Now log onto the machine as a DIFFERENT User than Paul, who is an Administrator on the local machine.
  4. Navigate to C:\Documents and Settings, look for a folder with Paul's user name.  Copy this entire folder to a file server where John will have access (we'll call it \\Fileserver1\Share$\Paul'sUsername)
Next, assuming that John's domain account is an administrator on every machine you need the profile created on, we can run the attached script by adding it to his logon script in your domain.

:: Script Name: CopyProfile.bat
ECHO OFF
::Set the Profile Name to be Copied
SET "ProfileName=PaulsUsername"

:: Notice DO NOT PUT A TRAILING "\" on the Source
SET "Source=\\FileServer1\Share$\%ProfileName%"

:: Automatically Set the correct Path for the Destination.
CALL SET "Destination=%%UserProfile:%UserName%=%%%ProfileName%"

XCopy "%Source%" "%Destination%" /E /C /I /Q /H /R /Y /Z

ECHO Copy Complete!

Open in new window

0
 
Geek_NabilCommented:
NET USER
[username [password | *] [options]] [/DOMAIN]
         username {password | *} /ADD [options] [/DOMAIN]
         username [/DELETE] [/DOMAIN]
         username [/TIMES:{times | ALL}]

NET USER creates and modifies user accounts on computers. When used
without switches, it lists the user accounts for the computer. The
user account information is stored in the user accounts database.

username     Is the name of the user account to add, delete, modify, or
             view. The name of the user account can have as many as
             20 characters.
password     Assigns or changes a password for the user's account.
             A password must satisfy the minimum length set with the
             /MINPWLEN option of the NET ACCOUNTS command. It can have as
             many as 14 characters.
*            Produces a prompt for the password. The password is not
             displayed when you type it at a password prompt.
/DOMAIN      Performs the operation on a domain controller of
             the current domain.
/ADD         Adds a user account to the user accounts database.
/DELETE      Removes a user account from the user accounts database.

Options      Are as follows:

   Options                    Description
      --------------------------------------------------------------------
   /ACTIVE:{YES | NO}         Activates or deactivates the account. If
                              the account is not active, the user cannot
                              access the server. The default is YES.
   /COMMENT:"text"            Provides a descriptive comment about the
                              user's account.  Enclose the text in
                              quotation marks.
   /COUNTRYCODE:nnn           Uses the operating system country code to
                              implement the specified language files for a
                              user's help and error messages. A value of
                              0 signifies the default country code.
   /EXPIRES:{date | NEVER}    Causes the account to expire if date is
                              set. NEVER sets no time limit on the
                              account. An expiration date is in the
                              form mm/dd/yy(yy). Months can be a number,
                              spelled out, or abbreviated with three
                              letters. Year can be two or four numbers.
                              Use slashes(/) (no spaces) to separate
                              parts of the date.
   /FULLNAME:"name"           Is a user's full name (rather than a
                              username). Enclose the name in quotation
                              marks.
   /HOMEDIR:pathname          Sets the path for the user's home directory.
                              The path must exist.
   /PASSWORDCHG:{YES | NO}    Specifies whether users can change their
                              own password. The default is YES.
   /PASSWORDREQ:{YES | NO}    Specifies whether a user account must have
                              a password. The default is YES.
   /LOGONPASSWORDCHG:{YES|NO} Specifies whether user should change their
                              own password at the next logon.The default is NO.
   /PROFILEPATH[:path]        Sets a path for the user's logon profile.
   /SCRIPTPATH:pathname       Is the location of the user's logon
                              script.
   /TIMES:{times | ALL}       Is the logon hours. TIMES is expressed as
                              day[-day][,day[-day]],time[-time][,time
                              [-time]], limited to 1-hour increments.
                              Days can be spelled out or abbreviated.
                              Hours can be 12- or 24-hour notation. For
                              12-hour notation, use am, pm, a.m., or
                              p.m. ALL means a user can always log on,
                              and a blank value means a user can never
                              log on. Separate day and time entries with
                              a comma, and separate multiple day and time
                              entries with a semicolon.
   /USERCOMMENT:"text"        Lets an administrator add or change the User
                              Comment for the account.
   /WORKSTATIONS:{computername[,...] | *}
                              Lists as many as eight computers from
                              which a user can log on to the network. If
                              /WORKSTATIONS has no list or if the list is *,
                              the user can log on from any computer.

NET HELP command | MORE displays Help one screen at a time.
0
 
madhubabusCommented:
try this code

strComputer = "your computer name"
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "Admin2")
objUser.SetPassword "Test@123"
objUser.SetInfo
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
iamdieterAuthor Commented:
So does my batch file need to look like this? These are the logon credentials that must be used: username: test
password: P@$$word
domain: abc
---------------------

NET USER
[test [P@$$word | *] [options]] [/abc]
        username {P@$$word | *} /ADD [options] [/abc]
       
0
 
iamdieterAuthor Commented:
@madhubabus

This will be a batch file that runs on all pc's on my network.
0
 
Geek_NabilCommented:
Let me get this straight, for example domain user john, logs-on a computer. As soon as he logs-on, a local user named john will be created.
So the basically creating domain users on the local machines?

Is that what you are trying to do?
0
 
iamdieterAuthor Commented:
No, domain user John logs-on, but runs the batch file and domain user paul's profile gets created on the same computer without user Paul physically logging on to the computer.
0
 
iamdieterAuthor Commented:
Hi QCubed

This is exactly what I was looking for. I save the profile on a shared drive on the server and copied from there. The only problem was that i had to enter the password. This batch file does not require you to add the password, which makes it perfect.

Thanks for your help
0
 
Ben Personick (Previously QCubed)Lead Network EngineerCommented:
Great!  Glad I was able to be of assistance!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.