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
Invoke-Command cmdlet is not supported in your environment.
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