wmi-1.3.16 from opsview.com
This commit is contained in:
Executable
+114
@@ -0,0 +1,114 @@
|
||||
#!/bin/sh
|
||||
exec smbscript "$0" ${1+"$@"}
|
||||
/*
|
||||
Upgrade from Samba3
|
||||
Copyright Jelmer Vernooij 2005
|
||||
Released under the GNU GPL v2 or later
|
||||
*/
|
||||
|
||||
options = GetOptions(ARGV,
|
||||
"POPT_AUTOHELP",
|
||||
"POPT_COMMON_SAMBA",
|
||||
"POPT_COMMON_VERSION",
|
||||
"POPT_COMMON_CREDENTIALS",
|
||||
'verify',
|
||||
'targetdir=s',
|
||||
'quiet',
|
||||
'realm',
|
||||
'blank');
|
||||
|
||||
if (options == undefined) {
|
||||
println("Failed to parse options");
|
||||
return -1;
|
||||
}
|
||||
|
||||
libinclude("base.js");
|
||||
libinclude("provision.js");
|
||||
libinclude("upgrade.js");
|
||||
|
||||
/*
|
||||
print a message if quiet is not set
|
||||
*/
|
||||
function message()
|
||||
{
|
||||
if (options["quiet"] == undefined) {
|
||||
print(vsprintf(arguments));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
show some help
|
||||
*/
|
||||
function ShowHelp()
|
||||
{
|
||||
print("
|
||||
Samba4 import tool
|
||||
|
||||
provision [options] <libdir> <smbconf>
|
||||
--targetdir=DIR Output to specified directory
|
||||
--quiet Be quiet
|
||||
--blank Do not add users or groups, just the structure
|
||||
--realm=REALM Override realm to use
|
||||
|
||||
");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (options.ARGV.length != 2) {
|
||||
ShowHelp();
|
||||
exit(1);
|
||||
}
|
||||
|
||||
var lp = loadparm_init();
|
||||
|
||||
message("Reading Samba3 databases and smb.conf\n");
|
||||
var samba3 = samba3_read(options.ARGV[0], options.ARGV[1]);
|
||||
|
||||
if (samba3 == undefined) {
|
||||
println("Error reading Samba3 data");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
message("Provisioning\n");
|
||||
var subobj = upgrade_provision(samba3);
|
||||
var paths;
|
||||
if (options.targetdir != undefined) {
|
||||
paths = new Object();
|
||||
paths.smbconf = sprintf("%s/smb.conf", options.targetdir);
|
||||
var ldbs = new Array("hklm","hkcr","hku","hkcu","hkpd","hkpt","samdb","rootdse","secrets","wins");
|
||||
for (var i in ldbs) {
|
||||
var n = ldbs[i];
|
||||
paths[n] = sprintf("tdb://%s/%s.ldb", options.targetdir, n);
|
||||
}
|
||||
paths.dns = options.targetdir+"/dns.zone";
|
||||
} else {
|
||||
paths = provision_default_paths(subobj);;
|
||||
}
|
||||
|
||||
var creds = options.get_credentials();
|
||||
var system_session = system_session();
|
||||
var paths = provision_default_paths(subobj);
|
||||
|
||||
if (options.realm != undefined) {
|
||||
subobj.REALM = options.realm;
|
||||
}
|
||||
|
||||
provision(subobj, message, options.blank, paths, system_session, creds);
|
||||
|
||||
var ret = upgrade(subobj,samba3,message,paths, system_session, creds);
|
||||
if (ret > 0) {
|
||||
message("Failed to import %d entries\n", ret);
|
||||
} else {
|
||||
provision_dns(subobj, message, paths, system_session, creds);
|
||||
|
||||
message("All OK\n");
|
||||
}
|
||||
|
||||
if (options.verify != undefined) {
|
||||
message("Verifying...\n");
|
||||
ret = upgrade_verify(subobj, samba3,paths,message);
|
||||
}
|
||||
|
||||
return ret;
|
||||
Reference in New Issue
Block a user