How to Automate the New Account Creation Process

During the final stages of a Lync Server deployment, the administrator enables the entire organization for Lync. Typically, he bulk enables current Lync users by piping the get-CSaduser Windows PowerShell command into the enable-CSuser command. When it comes to new hires, however, Lync users are enabled manually from the Lync control panel or they are enabled using Windows PowerShell. The problem with these both methods is that they are manual processes that increase the probability of inconsistent account creation. For example, in an organization with several administrators, if administrator X enables voice chat for users, while administrator Y does not, the lack of a consistent standard can cause maintenance or troubleshooting nightmares when user problems occur and an administrator discovers that each user has different features enabled.

The Z-Hire Employee Provisioning App is a free application that enables administrators to create multiple accounts on a variety of IT systems including Active Directory, Exchange Server, and Lync Server, with just a click of a button. To facilitate consistent account creation, Z-Hire allows frequently used settings to be saved as templates.

Author: Zeya Oo, Senior Windows Administrator at Riverbed Technology

Publication date: September 10, 2012

Product version: Z-Hire 4

One Friday night, while working with help-desk team to create IT system accounts for ten new hires scheduled to start work on Monday, it occurred to me that there needs be a simpler and faster way to create new accounts. As a systems administrator, I understand the frustration of help-desk personnel. One of their responsibilities is to create accounts for new hires as a part of the onboarding process. Creating an individual account for each IT system, such as Active Directory, Exchange, and Lync, for each person is a lengthy process. Having worked for both small and large organizations, I know that even some well-established, large organizations do not automate the new hire process. The good news is the process can be automated using Microsoft Visual Basic Scripts or Windows PowerShell. But, not all help-desk personnel are comfortable with command lines and they may find the process too complicated. Wouldn’t it be great to have an application that creates IT system accounts but doesn’t require in-depth knowledge of Visual Basic Scripting or Windows PowerShell? To address that need, I created an application named Z-Hire.

Z-Hire automates the creation of accounts for Active Directory, Exchange, Lync, and Office 365. For Active Directory accounts, an organization unit (OU) can be specified to dictate a new user’s location. When specifying the sAMAccountName format, the Z-Hire app automatically generates a sAMAccountName using the user’s first and last name. Other common Active Directory attributes such as title, department, or company can also be set from this app. The app also allows administrators to create and save frequently used settings as templates. For example, you may want all users in the marketing department to have same department name, with Z-Hire you can add the department name to a list and quickly recall the name when creating new accounts. This significantly speeds up account deployment time because it eliminates entering duplicate data.

In Exchange Server 2007, which runs on Windows PowerShell 1.0, you must install the Exchange Server Management Shell locally if you want to create Exchange 2007 mailboxes using this application. Remember, this app runs the enable-mailbox Windows PowerShell cmdlet in the background, which means that all parameters such as mailbox database, managed folder policy, and ActiveSync policy are configurable. An awesome part of Exchange Server 2010 is the Remote Administration feature. Z-Hire leverages this feature to connect and remotely execute Windows PowerShell commands. Exchange Server 2010 supports Archive database, retention policy, managed folder policy, and ActiveSync policy.

Z-Hire allows configuration of parameters associated with enable-csuser and set-csuser commands, including conferencing policy, external access policy, registrar pool, sip domain, and peer-to-peer AV feature. For Office 365, administrators can use Windows PowerShell Cmdlets for Office 365; also see Reference to Available

 PowerShell Cmdlets in Exchange Online. Z-Hire user template information is saved in XML format which means you can back up the data or modify it using Notepad. In short, this application works by initiating a remote Windows PowerShell session to both Exchange and Lync servers and then executes Windows PowerShell commands. For Office 365, it connects directly to the Microsoft cloud.

Z-Hire is easy to use and doesn’t require an installer, it runs as an executable. When you launch the tool on a domain joined computer, it automatically discovers the Exchange and Lync servers. After selecting an Exchange and Lync server, it automatically enumerates Exchange databases, Lync policies, and presents them to the user. All the information is retrieved using current Windows logon credentials.

Figure 1. Screenshot of the Z-Hire Application.

Because of Z-Hire’s one-click deployment process, administrators avoid the mundane process of manually creating each individual account on each separate system. This automation often times necessary, later returning to modifying settings. Z-Hire gives administrators the ability to create templates to capture their settings, as well as save frequently used settings. Z-Hire is compatible with Microsoft Office 365 cloud. If an administrator wants to insure that all users in a department are assigned the same name, he can add the department to the specific list of available groups. When creating the account the process is sped up because the administrator doesn’t have to enter duplicate data.

Z-Hire is available for download on TechNet Gallery via the following URL: Z-Hire Employee Provisioning App.

Keywords: IT Account Automation, managing accounts, automating account provisioning process

Comments (4)
  1. Imrul Emon says:

    Hi, I am running the app from a mamangement server which has the Exchange 2010 Administrative Tool installed. I am using an account that is a member of domain admin and exchange organizational management role group.Creating AD accounts works fine but when I am trying to create an Exchange 2010 mailbox and clicking the option for looking up Exchange 2010 servers,it's not discovering the servers, rather I can see a dialog box that says " zhono error there is no such object on the server".Just a note that the Exchange 2010 servers are having SP2 installed with latest RU. are  Any help will be much appreciated. Regards, Imrul

  2. Zee says:

    Hi Imrul,

    The app is looking for "msExchangeServer" object in your AD environment. Do you have multiple domains ? drop me a line at and i can help.

    Also, you can type in the Exchange Server manually. That should work.

  3. Imrul Emon says:

    Hi Zee,Thanks.Yes, I have multiple domain but I am running the app in the child domain where Exchange server/ DCs is installed.In case of creating AD account, it can recognize the child domain and works fine. Typing the exchange server name manually does not work and gives the same dialog box.Regards, Imrul

  4. Imrul says:

    Thanks Zee for the suggestion. I type the server name and the database manually and later when I clicked on "…" for mailbox database, it picked up the databases automatically and the user mailbox was created. Regards,Imrul

Comments are closed.

Skip to main content