Over the last few months, I’ve been working a project where I’ve started to dive into EM CLI and the value that EM CLI brings to cutting down on doing things like creating Enterprise Manager users. Hence the reason for this post.
Note: If you haven’t looked into EM CLI yet, I encourage you to do so. A good starting point is here. Plus there is a whole book written on the topic by some friends and guru’s of mine, here.
Creating users in Enterprise Manager 12c is pretty simple as it is. Simply go to Setup -> Security -> Administrators. When you get this screen, then click on either the Create or Create Like buttons.
After clicking Create or Create Like, Enterprise Manger takes you to a five (5) step wizard for creating a user. This wizard allows you to provide details about the user, assign roles, assign target privileges, assign resource privileges and then review what you have done.
Depending on how many users you have to create, this wizard is either an great way of creating user or a slow way for creating users. Using EM CLI, users can be created from the command line very quickly and easily and no need to use the GUI wizard either.. 🙂
The syntax to create a user from the command line is as follows:
emcli create_user -name="name" -password="password" [-type="user_type"] [-roles="role1;role2;..."] [-email="email1;email2;..."] [-privilege="name[;secure-resource-details]]" [-separator=privilege="sep_string"] [-subseparator=privilege="subsep_string"] [-profile="profile_name"] [-desc="user_description"] [-expired="true|false"] [-prevent_change_password="true|false"] [-department="department_name"] [-cost_center="cost_center"] [-line_of_business="line_of_business"] [-contact="contact"] [-location="location"] [-input_file="arg_name:file_path"]
The beautiful part of EM CLI is that is can be used with any scripting language. Since I like to use PERL, I decided to write a simple script that can be used to create a user from the command line using EM CLI.
#!/usr/bin/perl -w use strict; use warnings; #Parameters my $oem_home_bin = “$OMS_HOME/bin"; my ($username, $passwd, $email) = @ARGV; my $pwdchange = ‘false'; #Program if (not defined $username or not defined $passwd or not defined $email) { print "\nUsage: perl ./emcli_create_em_user.pl username password email_address\n\n"; exit; } system($oem_home_bin.'/emcli login -username=sysman); system($oem_home_bin.'/emcli sync'); my $cmd = 'emcli create_user -name='.$username.' -password='.$passwd.' -email='.$email.' -prevent_change_password='.$pwdchange; #print $cmd."\n"; system($oem_home_bin.'/'.$cmd); system($oem_home_bin.'/emcli logout');
Now using this bit of code, I’m able to create users very rapidly using EM CLI with a command like this:
perl ./emcli_create_em_user.pl <username> <password for user> <email address>
Well, I hope this helps other look at and start using EM CLI when managing their EM environments.
Enjoy!
about.me: http://about.me/dbasolved
Current Oracle Certs
Bobby Curtis
I’m Bobby Curtis and I’m just your normal average guy who has been working in the technology field for awhile (started when I was 18 with the US Army). The goal of this blog has changed a bit over the years. Initially, it was a general blog where I wrote thoughts down. Then it changed to focus on the Oracle Database, Oracle Enterprise Manager, and eventually Oracle GoldenGate.
If you want to follow me on a more timely manner, I can be followed on twitter at @dbasolved or on LinkedIn under “Bobby Curtis MBA”.