Choose your language

Choose your login


Calling server-command from a remote system


PaperCut NG/MF has a powerful built-in scripting utility called server-command that provides access to dozens of scripting server operations ranging from:

  • allocated extra print quota to user accounts
  • changing user settings
  • scheduling/starting backups
  • creating new accounts on demand

It’s often used by System Administrators in simple scripts such as batch files, shell scripts, or via languages such as VBScript, Python, Perl or Ruby. You can read more about this here

server-command is a local program which must be run directly from the PaperCut NG/MF server as a privileged user (for security reasons). The server command may however be called remotely (from another device) using standard remote command tools. Options include:

Windows using PowerShell (also supports macOS and Linux):

Use the Invoke-Command to run commands on remote machines. When using Linux or macOS then PowerShell remoting over SSH must be used.

Thanks to “Arnold Rimmer” who provided this example


Use SSH - a secure remote command/shell program. SSH can be run non-interactively in scripts with the use of an authorized public key added under the papercut account’s ~/.ssh/authorized_keys list. Example use:

   ssh papercut@papercutserver "~/server/bin/linux-x64/server-command disable-printer printsrv1 labprinter -1"

Deprecated Windows alternative

NOTE: The following Windows specific alternative is only provided in case the PowerShell Invoke-Command cmdlet is not supported in your environment.

Windows (any):

Use psexec.exe - a remote command program provided by the Sysinternals team at Microsoft. Example use:

   psexec.exe \\papercutserver "c:\Program Files\PaperCut NG\server\bin\win\server-command.exe" disable-printer printsrv1 labprinter -1

Categories: How-to Articles , Scripting and APIs


Last updated June 13, 2024