mirror of
https://github.com/samba-team/samba.git
synced 2025-01-07 17:18:11 +03:00
d72e8aacaf
metze
(This used to be commit e5654f9791
)
97 lines
2.0 KiB
Plaintext
Executable File
97 lines
2.0 KiB
Plaintext
Executable File
#!/bin/sh
|
|
exec smbscript "$0" ${1+"$@"}
|
|
/*
|
|
provide information on connected users and open files
|
|
Copyright Andrew Tridgell 2005
|
|
Released under the GNU GPL v2 or later
|
|
*/
|
|
|
|
libinclude("base.js");
|
|
libinclude("management.js");
|
|
|
|
var options = new Object();
|
|
|
|
options = GetOptions(ARGV,
|
|
"POPT_AUTOHELP",
|
|
"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_tcons()
|
|
{
|
|
var tcons = smbsrv_tcons();
|
|
var sys = sys_init();
|
|
if (tcons == undefined) {
|
|
println("No tree connects");
|
|
return;
|
|
}
|
|
printf("Share Client Connected at\n");
|
|
printf("-------------------------------------------------------------------------------\n");
|
|
for (i=0;i<tcons.length;i++) {
|
|
var info = tcons[i];
|
|
printf("%-30s %16s %s\n",
|
|
info.share_name, info.client_ip, sys.httptime(info.connect_time));
|
|
}
|
|
}
|
|
|
|
/*
|
|
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_tcons();
|
|
}
|
|
|
|
return 0;
|