diff options
Diffstat (limited to 'testprogs/ejs/ejsnet.js')
-rwxr-xr-x | testprogs/ejs/ejsnet.js | 54 |
1 files changed, 24 insertions, 30 deletions
diff --git a/testprogs/ejs/ejsnet.js b/testprogs/ejs/ejsnet.js index b39d888c39..a5570de34c 100755 --- a/testprogs/ejs/ejsnet.js +++ b/testprogs/ejs/ejsnet.js @@ -1,52 +1,46 @@ #!/usr/bin/env smbscript +libinclude("base.js"); + +/* note: these require specifying a proper path in "js include" parameter */ +libinclude("ejsnet/netusr.js"); +libinclude("ejsnet/nethost.js"); + +function PrintNetHelp() +{ + println("Usage: ejsnet.js <cmd> [options]"); +} + +/* here we start */ + var options = GetOptions(ARGV, "POPT_AUTOHELP", "POPT_COMMON_SAMBA", "POPT_COMMON_CREDENTIALS"); if (options == undefined) { - println("Failed to parse options"); - return -1; + PrintNetHelp(); + return -1; } -if (options.ARGV.length != 2) { - println("Usage: ejsnet.js <DOMAIN> <NEW USER NAME>"); - return -1; +if (options.ARGV.length < 1) { + PrintNetHelp(); + return -1; } /* use command line creds if available */ var creds = options.get_credentials(); - var ctx = NetContext(creds); -var usr_ctx = ctx.UserMgr(options.ARGV[0]); -if (usr_ctx == undefined) { - println("Couldn't get user management context."); - return -1; -} -var status = usr_ctx.Create(options.ARGV[1]); -if (status.is_ok != true) { - println("Failed to create user account " + options.ARGV[1] + ": " + status.errstr); - return -1; -} +var cmd = options.ARGV[0]; +if (cmd == "user") { + UserManager(ctx, options); +} else if (cmd == "host") { + HostManager(ctx, options); -var info = usr_ctx.Info(options.ARGV[1]); -if (info != null) { - println("UserInfo.AccountName = " + info.AccountName); - println("UserInfo.Description = " + info.Description); - println("UserInfo.FullName = " + info.FullName); - println("UserInfo.AcctExpiry = " + info.AcctExpiry); } else { - println("Null UserInfo returned - account unknown"); -} - - -var status = usr_ctx.Delete(options.ARGV[1]); -if (status.is_ok != true) { - println("Failed to delete user account " + options.ARGV[1] + ": " + status.errstr); + PrintNetHelp(); return -1; } -print ("OK\n"); return 0; |