1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00
Rafal Szczesniak 262dc06b99 r23178: add simple js code I use for testing and which starts to look like
ejsnet command line utility (perhaps to be moved to utils later...)

rafal
(This used to be commit 43f9d9ba71f51007e80b340600a55fb07d89fd4c)
2007-10-10 14:53:00 -05:00

87 lines
1.6 KiB
JavaScript

function PrintNetUsrHelp(options)
{
println("User management - available commands:");
println("\t list - list users in specified domain");
println("\t info - display user account information");
}
function ListUsers(usrCtx)
{
var list, user;
var finished = false;
for (list = usrCtx.List(list); list.Status.is_ok && !finished; list = usrCtx.List(list)) {
for (i = 0; i < list.Count; i++) {
user = list.Users[i];
printf("%s\n", user.Username);
}
finished = list.EndOfList;
}
printf("\nResult: %s\n", list.Status.errstr);
}
function UserInfo(usrCtx, username)
{
var info;
info = usrCtx.Info(username);
if (info == null) {
println("Account unknown");
return -1;
}
println("User account info:\n");
printf("AccountName = %s\n", info.AccountName);
printf("Description = %s\n", info.Description);
printf("FullName = %s\n", info.FullName);
printf("AcctExpiry = %s\n", info.AcctExpiry);
}
function UserManager(ctx, options)
{
var usrCtx;
if (options.ARGV.length < 2) {
PrintNetUsrHelp(options);
return -1;
}
var usrCmd = options.ARGV[1];
if (usrCmd == "create") {
} else if (usrCmd == "info") {
var userName;
if (options.ARGV.length > 2) {
userName = options.ARGV[2];
} else {
println("No username provided");
return -1;
}
usrCtx = ctx.UserMgr();
UserInfo(usrCtx, userName);
} else if (usrCmd == "list") {
if (options.ARGV.length > 2) {
usrCtx = ctx.UserMgr(options.ARGV[2]);
} else {
usrCtx = ctx.UserMgr();
}
ListUsers(usrCtx);
} else {
println("Unknown command specified.");
PrintNetUsrHelp(options);
}
}