var options = new Object();
-ok = GetOptions(ARGV, options,
+options = GetOptions(ARGV,
"POPT_AUTOHELP",
- "POPT_COMMON_SAMBA");
-if (ok == false) {
- println("Failed to parse options: " + options.ERROR);
- return -1;
+ "POPT_COMMON_SAMBA",
+ "POPT_COMMON_VERSION",
+ "nbt");
+if (options == undefined) {
+ println("Failed to parse options: " + options.ERROR);
+ return -1;
}
+/*
+ show open sessions
+*/
+function show_sessions()
+{
+ var sessions = smbsrv_sessions();
+ var i;
+ var sys = sys_init();
+ if (sessions == undefined) {
+ println("No sessions open");
+ return;
+ }
+ printf("User Client Connected at\n");
+ printf("-------------------------------------------------------------------------------\n");
+ for (i=0;i<sessions.length;i++) {
+ var info = sessions[i];
+ var fulluser = sprintf("%s/%s", info.account_name, info.domain_name);
+ printf("%-30s %16s %s\n",
+ fulluser, info.client_ip, sys.httptime(info.connect_time));
+ }
+ printf("\n");
+}
+
+/*
+ show open tree connects
+*/
+function show_trees()
+{
+ var trees = smbsrv_trees();
+ var sys = sys_init();
+ if (trees == undefined) {
+ println("No tree connects");
+ return;
+ }
+ printf("Share Client Connected at\n");
+ printf("-------------------------------------------------------------------------------\n");
+ for (i=0;i<trees.length;i++) {
+ var info = trees[i];
+ printf("%-30s %16s %s\n",
+ info.share_name, info.client_ip, sys.httptime(info.connect_time));
+ }
+}
-var sessions = smbsrv_sessions();
-printVars(sessions);
+/*
+ show nbtd information
+*/
+function show_nbt()
+{
+ var stats = nbtd_statistics();
+ if (stats == undefined) {
+ println("nbt server not running");
+ return;
+ }
+ var r;
+ println("NBT server statistics:");
+ for (r in stats) {
+ print("\t" + r + ":\t" + stats[r] + "\n");
+ }
+ println("");
+}
+
+var lp = loadparm_init();
+
+printf("%s\n\n", lp.get("server string"));
+
+if (options['nbt'] != undefined) {
+ show_nbt();
+} else {
+ show_sessions();
+ show_trees();
+}
return 0;