diff --git a/html/ops/make_puser.php b/html/ops/make_puser.php
new file mode 100644
index 0000000000..f84e942361
--- /dev/null
+++ b/html/ops/make_puser.php
@@ -0,0 +1,84 @@
+global_prefs;
+
+ $run_on_batteries = parse_boolint($prefs, "run_on_batteries");
+ $run_if_user_active = parse_boolint($prefs, "run_if_user_active");
+ $start_hour = parse_num($prefs, "");
+ $end_hour = parse_num($prefs, "");
+ $net_start_hour = parse_num($prefs, "");
+ $net_end_hour = parse_num($prefs, "");
+ $leave_apps_in_memory = parse_boolint($prefs, "leave_apps_in_memory");
+ $confirm_before_connecting = parse_boolint($prefs, "confirm_before_connecting");
+ $hangup_if_dialed = parse_boolint($prefs, "hangup_if_dialed");
+ $work_buf_min_days = parse_num($prefs, "");
+ $max_cpus = parse_num($prefs, "");
+ $cpu_scheduling_period_minutes = parse_num($prefs, "");
+ $disk_interval = parse_num($prefs, "");
+ $disk_max_used_gb = parse_num($prefs, "");
+ $disk_max_used_pct = parse_num($prefs, "");
+ $disk_min_free_gb = parse_num($prefs, "");
+ $vm_max_used_pct = parse_num($prefs, "");
+ $idle_time_to_run = parse_num($prefs, "");
+ $max_bytes_sec_up = parse_num($prefs, "");
+ $max_bytes_sec_down = parse_num($prefs, "");
+ $query = "insert into puser values
+ ($user->id,
+ $user->create_time,
+ '$user->email_addr',
+ '$user->country',
+ $user->total_credit,
+ '$user->venue',
+ $run_on_batteries,
+ $run_if_user_active,
+ $start_hour,
+ $end_hour,
+ $net_start_hour,
+ $net_end_hour,
+ $leave_apps_in_memory,
+ $confirm_before_connecting,
+ $hangup_if_dialed,
+ $work_buf_min_days,
+ $max_cpus,
+ $cpu_scheduling_period_minutes,
+ $disk_interval,
+ $disk_max_used_gb,
+ $disk_max_used_pct,
+ $disk_min_free_gb,
+ $vm_max_used_pct,
+ $idle_time_to_run,
+ $max_bytes_sec_up,
+ $max_bytes_sec_down)
+ ";
+ $retval = mysql_query($query);
+ if (!$retval) {
+ echo mysql_error();
+ }
+}
+
+set_time_limit(0);
+
+$result = mysql_query("select * from user where total_credit > 0");
+while ($user = mysql_fetch_object($result)) {
+ make_user($user);
+}
+
+?>