#!/usr/bin/env smbscript /* provision a Samba4 server Copyright Andrew Tridgell 2005 Released under the GNU GPL v2 or later */ var options = new Object(); ok = GetOptions(ARGV, options, "POPT_AUTOHELP", "POPT_COMMON_SAMBA", "POPT_COMMON_VERSION", 'realm=s', 'domain=s', 'domain-guid=s', 'domain-sid=s', 'host-name=s', 'host-ip=s', 'host-guid=s', 'invocationid=s', 'adminpass=s', 'krbtgtpass=s', 'machinepass=s', 'root=s', 'nobody=s', 'nogroup=s', 'wheel=s', 'users=s', 'outputdir=s', 'quiet'); if (ok == false) { println("Failed to parse options: " + options.ERROR); return -1; } libinclude("base.js"); /* used to generate sequence numbers for records */ next_usn = 1; /* print a message if quiet is not set */ function message(s) { if (options["quiet"] == undefined) { println(s); } } /* find a user or group from a list of possibilities */ function findnss() { var i; assert(arguments.length >= 2); var nssfn = arguments[0]; var name = arguments[1]; if (options[name] != undefined) { return options[name]; } for (i=2;i