first draft at rpcclient man page for HEAD branch. Taken heavily
authorGerald Carter <jerry@samba.org>
Tue, 29 Aug 2000 14:29:53 +0000 (14:29 +0000)
committerGerald Carter <jerry@samba.org>
Tue, 29 Aug 2000 14:29:53 +0000 (14:29 +0000)
from the man page in TNG.  Updated for newer spoolss commands.

jerry

docs/htmldocs/rpcclient.8.html [new file with mode: 0644]
docs/manpages/rpcclient.8 [new file with mode: 0644]
docs/yodldocs/rpcclient.8.yo [new file with mode: 0644]

diff --git a/docs/htmldocs/rpcclient.8.html b/docs/htmldocs/rpcclient.8.html
new file mode 100644 (file)
index 0000000..d06cd1a
--- /dev/null
@@ -0,0 +1,241 @@
+
+
+
+
+<html><head><title>RPCCLIENT</title>
+
+<link rev="made" href="mailto:samba-bugs@samba.org">
+</head>
+<body>
+
+<hr>
+
+<h1>RPCCLIENT</h1>
+<h2>Samba</h2>
+<h2>August 27, 2000</h2>
+
+    
+
+    
+<a name="NAME"></a>
+<h2>NAME</h2>
+    rpcclient - developer's tool to testing client side MS-RPC functions
+<a name="SYNOPSIS"></a>
+<h2>SYNOPSIS</h2>
+    
+<li><strong><strong>rpcclient</strong></strong> [<a href="rpcclient.8.html#minusd">-d debuglevel</a>] [<a href="rpcclient.8.html#minusS">-S server</a>] [<a href="rpcclient.8.html#minusl">-l logbasename</a>] [<a href="rpcclient.8.html#minusn">-n netbios name</a>] [<a href="rpcclient.8.html#minusN">-N</a>]
+[<a href="rpcclient.8.html#minusl">-m maxprotocol</a>] [<a href="rpcclient.8.html#minusI">-I destIP</a>] [<a href="rpcclient.8.html#minusE">-E</a>] [<a href="rpcclient.8.html#minusU">-U username</a>] [<a href="rpcclient.8.html#minusW">-W workgroup</a>] [<a href="rpcclient.8.html#minusc">-c `command string`</a>]
+[<a href="rpcclient.8.html#minust">-t terminalcode</a>] [<a href="rpcclient.8.html#minusi">-i scope</a>] [<a href="rpcclient.8.html#minusO">-O socket options</a>]
+[<a href="rpcclient.8.html#minuss">-s smb.conf</a>]
+<a name="DESCRIPTION"></a>
+<h2>DESCRIPTION</h2>
+    
+<li><strong><strong>rpcclient</strong></strong>
+is a utility for developers for executing various MS-RPC functions.  It's
+primary use is for testing Samba's own MS-RPC server implementation, however
+many administrators have written scripts around it to manage Windows NT clients
+from their UNIX workstation.
+<a name="OPTIONS"></a>
+<h2>OPTIONS</h2>
+    
+<p><br><ul>
+<p><br><a name="minusd"></a>
+<li><strong><strong>-d debuglevel</strong></strong>
+set the debuglevel. Debug level 0 is the lowest and 100 being the
+highest. This should be set to 100 if you are planning on 
+submitting a bug report to the Samba team (see BUGS.txt).
+<p><br><a name="minusS"></a>
+<li><strong><strong>-S server</strong></strong>
+NetBIOS name of Server to which you wish to connect. The server can be 
+any SMB/CIFS server. The name is resolved using either the "name resolve 
+order = " line or by using the <strong>-R</strong> option.
+<p><br><a name="minusl"></a>
+<li><strong><strong>-l logbasename</strong></strong>
+File name for log/debug files. .client will be
+appended. The log file is never removed  by the client.
+<p><br><a name="minusn"></a>
+<li><strong><strong>-n netbios name</strong></strong>
+NetBIOS name of the local machine. This option
+is only needed if your Samba client cannot find
+it automatically. Samba should use the uppercase of the machine's
+hostname.
+<p><br><a name="minusN"></a>
+<li><strong><strong>-N</strong></strong>
+tells rpcclient not to ask for a password. rpcclient will prompt
+the user by default.
+<p><br><a name="minusI"></a>
+<li><strong><strong>-I destIP</strong></strong>
+The IP address of the server specified with the <strong>-S</strong>
+option. Only needed when the server's NetBIOS
+name cannot be resolved using WINS or broadcast
+and isn't found in the LMHOSTS file.
+<p><br><a name="minusE"></a>
+<li><strong><strong>-E</strong></strong>
+causes regedit to write messages to stderr instead of stdout.
+<p><br><a name="minusU"></a>
+<li><strong><strong>-U username[%pass]</strong></strong>
+Sets the SMB username or username and password. If %pass is not
+specified, The user will be prompted. The client will first check the USER
+environment variable, then the LOGNAME variable and if either exist, the
+string is uppercased. Anything in these variables following a % sign will be
+treated as the password. If these environmental variables are not found, the
+username GUEST is used.
+<p><br>If the password is not included in these environment variables
+(using the %pass syntax), rpcclient will look for a PASSWD environment
+variable from which to read the password.
+<p><br>A third option is to use a credentials file which contains
+the plaintext of the username and password.  This option is
+mainly provided for scripts where the admin doesn't desire to
+pass the credentials on the command line or via environment variables.
+If this method is used, make certain that the permissions on the file
+restrict access from unwanted users.  See the <strong>-A</strong> for more details.
+<p><br>Be cautious about including passwords in scripts or in the
+<code>PASSWD</code> environment variable. Also, on many systems the command
+line of a running process may be seen via the <code>ps</code> command to be
+safe always allow smbclient to prompt for a password and type it in
+directly.
+<p><br><a name="minusA"></a>
+<li><strong><strong>-A &lt;filename&gt;</strong></strong> This option allows you to specify a file from which
+to read the username and password used in the connection.  The format
+of the file is
+<p><br><code>username = &lt;value&gt;</code> <br>
+<code>password = &lt;value&gt;</code> <br>
+<p><br>Make certain that the permissions on the file restrict access from
+unwanted users.
+<p><br><a name="minusW"></a>
+<li><strong><strong>-W domain</strong></strong>
+Set the SMB domain of the username.   This overrides the default 
+domain which is the domain of the server specified with the 
+bt(-S) option. If the domain specified is the same as the server's
+NetBIOS name, it causes the client to log on using the 
+server's local SAM (as opposed to the Domain SAM).
+<p><br><a name="minusP"></a>
+<li><strong><strong>-P</strong></strong>
+operate in promptless mode.  Without this mode (the default)
+rpcclient displays a prompt of the form '[domain\username@host]$'
+<p><br><a name="minusc"></a>
+<li><strong><strong>-c 'command string'</strong></strong>
+execute semicolon separated commands (listed below))
+<p><br><a name="minust"></a>
+<li><strong><strong>-t terminalcode</strong></strong>
+This tells the Samba client how to interpret the incoming filenames, in regards
+to character sets. The list here is not complete. For a complete list see your
+local Samba source. Some valid options are sjis, euc, jis7, jis8, junet and hex.
+<p><br><a name="minusO"></a>
+<li><strong><strong>-O socket options</strong></strong>
+These socket options are the same as in smb.conf (under the bt(socket options = )
+section).
+<p><br><a name="minuss"></a>
+<li><strong><strong>-s smb.conf</strong></strong>
+Specifies the location of the all important smb.conf file.
+<p><br><a name="minusi"></a>
+<li><strong><strong>-i scope</strong></strong>
+Defines the NetBIOS scope. For more information on NetBIOS scopes, see rfc1001
+and rfc1002. NetBIOS scopes are rarely used.
+<p><br></ul>
+<p><br><a name="COMMANDS"></a>
+<h2>COMMANDS</h2>
+    
+<p><br><a name="SPOOLSSCMD"></a>
+<li><strong><strong>SPOOLSS Commands</strong></strong>
+<li><strong><a href="??">spoolenum</a></strong>
+Execute an EnumPrinters call.  This lists the various
+installed and share printers.  Refer to the MS Platform
+SDK documentation for more details of the various 
+flags and calling options.
+<p><br><li><strong><a href="??">spoolenumports &lt;level&gt;</a></strong>
+Executes an EnumPorts call using the specified info level.
+Currently only info level 1 and 2 are supported.
+<p><br><li><strong><a href="??">spoolenumdata</a></strong>
+Enumerate all printer setting data stored on the server.
+On Windows NT  clients, these values are stored 
+in the registry, while Samba servers store them in the printers
+TDB.  This command corresponds to the MS Platform SDK EnumPorts 
+function.
+<p><br><li><strong><a href="??">spooljobs &lt;printer&gt;</a></strong>
+List the jobs and status of a given printer.  This command
+corresponds to the MS Platform SDK EnumJobs function.
+<p><br><li><strong><a href="??">spoolopen &lt;printer&gt;</a></strong>
+Execute an OpenPrinterEx() and ClosePrinter()
+RPC against a given printer.
+<p><br><li><strong><a href="??">spoolgetdata</a></strong>
+Retrive the data for a given printer setting.  See the 
+<strong>spoolenumdata</strong> command for more information.  This command
+corresponds to the GetPrinterData() MS Platform SDK function.
+<p><br><li><strong><a href="??">spoolgetprinter &lt;printer&gt;</a></strong>
+Retrieve the current printer information.  This command
+sorresponds to the GetPrinter() MS Platform SDK function.
+<p><br><li><strong><a href="??">spoolgetprinterdriver &lt;printer&gt;</a></strong>
+Retrive the printer driver information (such as driver file,
+config file, dependent files, etc...) for the given printer.
+This command corresponds to the GetPrinterDriver() MS Platform 
+SDK function.
+<p><br><li><strong><a href="??">spoolgetprinterdriverdir &lt;arch&gt;</a></strong>
+Execute a GetPrinterDriverDirectory() RPC to retreive the
+SMB share name and subdirectory for storing printer driver
+files for a given architecture.  Possible values for &lt;arch&gt; are
+"Windows 4.0" (for Windows 95/98), "Windows NT x86", "Windows NT
+PowerPC", "Windows Alpha_AXP", and "Windows NT R4000".
+<p><br><li><strong><a href="??">spooladdprinter &lt;printername&gt; &lt;sharename&gt; 
+&lt;drivername&gt; &lt;port&gt;</a></strong>
+Add a printer on the remote server.  This printer will be automatically
+shared.  Be aware that the printer driver must already be installed
+on the server (see <strong>addprinterdriver</strong>) and the &lt;port&gt; must
+be a valid port name.
+<p><br><li><strong><a href="??">spooladdprinterdriver &lt;arch&gt; &lt;config&gt;</a></strong>
+Execute an AddPrinterDriver() RPC to install the printer 
+driver information on the server.  Note that the driver files
+should already exist in the directort returned by 
+<strong>spoolgetprinterdriverdir</strong>.  Possible values for &lt;arch&gt;
+are the same as those for the <strong>spooolgetprintedriverdir</strong> command.
+The &lt;config&gt; parameter is defined as follows:
+<p><br><li><strong></strong>&lt;Long Printer Name&gt;:&lt;Driver File Name&gt;:&lt;Data File Name&gt;:&lt;Config File Name&gt;:&lt;Help File Name&gt;:&lt;Language Monitor Name&gt;:&lt;Default Data Type&gt;:&lt;Comma Separated list of Files&gt;
+<p><br><li><strong></strong>Any empty fields should be enter as the string "NULL".
+<p><br><li><strong></strong>Samba does not need to support the concept of Print Monitors
+since these only apply to local printers whose driver can make use
+of a bi-directional link for communication.  This field should
+be "NULL".  On a remote NT print server, the Print Monitor for a driver
+must already be installed prior to adding the driver or else the RPC
+will fail.
+<p><br><a name="GENERALCMD"></a>
+<li><strong><strong>General Commands</strong></strong>
+<li><strong><a href="??">set</a></strong>
+Set miscellaneous rpcclient command line options during a running 
+session.
+<p><br><li><strong><a href="??">use</a></strong>
+Connect to a rmeote SMB server.  <strong>rpcclient</strong> has the ability
+to maintain connections to multiple server simulaneously.
+<p><br><li><strong><a href="??">help</a></strong>
+Print a listing of all known commands or extended help 
+on a particular command.
+<p><br><li><strong><a href="??">quit</a></strong>
+Exit rpcclient.
+<p><br><a name="BUGS"></a>
+<h2>BUGS</h2>
+    
+rpcclient is designed as a developer testing tool and may not be robust
+in certain areas (such as command line parsing).  It has been known to 
+generate a core dump upon failures when invalid parameters where
+passed to the interpreter.
+<p><br>From Luke Leighton's original rpcclient man page:
+"WARNING! The MSRPC over SMB code has been developed from examining 
+Network traces. No documentation is available from the original creators 
+(Microsoft) on how MSRPC over SMB works, or how the individual MSRPC services 
+work. Microsoft's implementation of these services has been demonstrated 
+(and reported) to be... a bit flakey in places.
+<p><br>The development of Samba's implementation is also a bit rough, and as more 
+of the services are understood, it can even result in versions of 
+<strong>smbd(8)</strong> and rpcclient that are incompatible for some commands or 
+services. Additionally, the developers are sending reports to Microsoft, 
+and problems found or reported to Microsoft are fixed in Service Packs, 
+which may result in incompatibilities."
+<p><br><a name="SEEALSO"></a>
+<h2>SEE ALSO</h2>
+    
+<strong>samba (7)</strong>
+<h2>AUTHOR</h2>
+    
+Samba is written by The Samba Team as Open Source. This man page was written
+by Matthew Geddes, Luke Kenneth Casson, and Gerald Carter.
+</body>
+</html>
diff --git a/docs/manpages/rpcclient.8 b/docs/manpages/rpcclient.8
new file mode 100644 (file)
index 0000000..dc66bcc
--- /dev/null
@@ -0,0 +1,240 @@
+.TH "RPCCLIENT" "8" "August 27, 2000" "Samba" "SAMBA" 
+.SH "NAME" 
+rpcclient \- developer\'s tool to testing client side MS-RPC functions
+.SH "SYNOPSIS" 
+.IP "\fBrpcclient\fP" 
+[-d debuglevel] [-S server] [-l logbasename] [-n netbios name] [-N]
+[-m maxprotocol] [-I destIP] [-E] [-U username] [-W workgroup] [-c `command string`]
+[-t terminalcode] [-i scope] [-O socket options]
+[-s smb\&.conf]
+.SH "DESCRIPTION" 
+.IP "\fBrpcclient\fP" 
+is a utility for developers for executing various MS-RPC functions\&.  It\'s
+primary use is for testing Samba\'s own MS-RPC server implementation, however
+many administrators have written scripts around it to manage Windows NT clients
+from their UNIX workstation\&.
+.SH "OPTIONS" 
+.PP 
+.IP 
+.IP "\fB-d debuglevel\fP" 
+set the debuglevel\&. Debug level 0 is the lowest and 100 being the
+highest\&. This should be set to 100 if you are planning on 
+submitting a bug report to the Samba team (see BUGS\&.txt)\&.
+.IP 
+.IP "\fB-S server\fP" 
+NetBIOS name of Server to which you wish to connect\&. The server can be 
+any SMB/CIFS server\&. The name is resolved using either the "name resolve 
+order = " line or by using the \fB-R\fP option\&.
+.IP 
+.IP "\fB-l logbasename\fP" 
+File name for log/debug files\&. \&.client will be
+appended\&. The log file is never removed  by the client\&.
+.IP 
+.IP "\fB-n netbios name\fP" 
+NetBIOS name of the local machine\&. This option
+is only needed if your Samba client cannot find
+it automatically\&. Samba should use the uppercase of the machine\'s
+hostname\&.
+.IP 
+.IP "\fB-N\fP" 
+tells rpcclient not to ask for a password\&. rpcclient will prompt
+the user by default\&.
+.IP 
+.IP "\fB-I destIP\fP" 
+The IP address of the server specified with the \fB-S\fP
+option\&. Only needed when the server\'s NetBIOS
+name cannot be resolved using WINS or broadcast
+and isn\'t found in the LMHOSTS file\&.
+.IP 
+.IP "\fB-E\fP" 
+causes regedit to write messages to stderr instead of stdout\&.
+.IP 
+.IP "\fB-U username[%pass]\fP" 
+Sets the SMB username or username and password\&. If %pass is not
+specified, The user will be prompted\&. The client will first check the USER
+environment variable, then the LOGNAME variable and if either exist, the
+string is uppercased\&. Anything in these variables following a % sign will be
+treated as the password\&. If these environmental variables are not found, the
+username GUEST is used\&.
+.IP 
+If the password is not included in these environment variables
+(using the %pass syntax), rpcclient will look for a PASSWD environment
+variable from which to read the password\&.
+.IP 
+A third option is to use a credentials file which contains
+the plaintext of the username and password\&.  This option is
+mainly provided for scripts where the admin doesn\'t desire to
+pass the credentials on the command line or via environment variables\&.
+If this method is used, make certain that the permissions on the file
+restrict access from unwanted users\&.  See the \fB-A\fP for more details\&.
+.IP 
+Be cautious about including passwords in scripts or in the
+\f(CWPASSWD\fP environment variable\&. Also, on many systems the command
+line of a running process may be seen via the \f(CWps\fP command to be
+safe always allow smbclient to prompt for a password and type it in
+directly\&.
+.IP 
+.IP "\fB-A <filename>\fP" 
+This option allows you to specify a file from which
+to read the username and password used in the connection\&.  The format
+of the file is
+.IP 
+\f(CWusername = <value>\fP 
+.br 
+\f(CWpassword = <value>\fP 
+.br 
+.IP 
+Make certain that the permissions on the file restrict access from
+unwanted users\&.
+.IP 
+.IP "\fB-W domain\fP" 
+Set the SMB domain of the username\&.   This overrides the default 
+domain which is the domain of the server specified with the 
+bt(-S) option\&. If the domain specified is the same as the server\'s
+NetBIOS name, it causes the client to log on using the 
+server\'s local SAM (as opposed to the Domain SAM)\&.
+.IP 
+.IP "\fB-P\fP" 
+operate in promptless mode\&.  Without this mode (the default)
+rpcclient displays a prompt of the form \'[domain\eusername@host]$\'
+.IP 
+.IP "\fB-c \'command string\'\fP" 
+execute semicolon separated commands (listed below))
+.IP 
+.IP "\fB-t terminalcode\fP" 
+This tells the Samba client how to interpret the incoming filenames, in regards
+to character sets\&. The list here is not complete\&. For a complete list see your
+local Samba source\&. Some valid options are sjis, euc, jis7, jis8, junet and hex\&.
+.IP 
+.IP "\fB-O socket options\fP" 
+These socket options are the same as in smb\&.conf (under the bt(socket options = )
+section)\&.
+.IP 
+.IP "\fB-s smb\&.conf\fP" 
+Specifies the location of the all important smb\&.conf file\&.
+.IP 
+.IP "\fB-i scope\fP" 
+Defines the NetBIOS scope\&. For more information on NetBIOS scopes, see rfc1001
+and rfc1002\&. NetBIOS scopes are rarely used\&.
+.IP 
+.PP 
+.SH "COMMANDS" 
+.PP 
+.IP "\fBSPOOLSS Commands\fP" 
+.IP "spoolenum" 
+Execute an EnumPrinters call\&.  This lists the various
+installed and share printers\&.  Refer to the MS Platform
+SDK documentation for more details of the various 
+flags and calling options\&.
+.PP 
+.IP "spoolenumports <level>" 
+Executes an EnumPorts call using the specified info level\&.
+Currently only info level 1 and 2 are supported\&.
+.PP 
+.IP "spoolenumdata" 
+Enumerate all printer setting data stored on the server\&.
+On Windows NT  clients, these values are stored 
+in the registry, while Samba servers store them in the printers
+TDB\&.  This command corresponds to the MS Platform SDK EnumPorts 
+function\&.
+.PP 
+.IP "spooljobs <printer>" 
+List the jobs and status of a given printer\&.  This command
+corresponds to the MS Platform SDK EnumJobs function\&.
+.PP 
+.IP "spoolopen <printer>" 
+Execute an OpenPrinterEx() and ClosePrinter()
+RPC against a given printer\&.
+.PP 
+.IP "spoolgetdata" 
+Retrive the data for a given printer setting\&.  See the 
+\fBspoolenumdata\fP command for more information\&.  This command
+corresponds to the GetPrinterData() MS Platform SDK function\&.
+.PP 
+.IP "spoolgetprinter <printer>" 
+Retrieve the current printer information\&.  This command
+sorresponds to the GetPrinter() MS Platform SDK function\&.
+.PP 
+.IP "spoolgetprinterdriver <printer>" 
+Retrive the printer driver information (such as driver file,
+config file, dependent files, etc\&.\&.\&.) for the given printer\&.
+This command corresponds to the GetPrinterDriver() MS Platform 
+SDK function\&.
+.PP 
+.IP "spoolgetprinterdriverdir <arch>" 
+Execute a GetPrinterDriverDirectory() RPC to retreive the
+SMB share name and subdirectory for storing printer driver
+files for a given architecture\&.  Possible values for <arch> are
+"Windows 4\&.0" (for Windows 95/98), "Windows NT x86", "Windows NT
+PowerPC", "Windows Alpha_AXP", and "Windows NT R4000"\&.
+.PP 
+.YODLTAGSTART. roffcmd .IP "spooladdprinter <printername> <sharename> 
+<drivername> <port>" .YODLTAGEND. 
+Add a printer on the remote server\&.  This printer will be automatically
+shared\&.  Be aware that the printer driver must already be installed
+on the server (see \fBaddprinterdriver\fP) and the <port> must
+be a valid port name\&.
+.PP 
+.IP "spooladdprinterdriver <arch> <config>" 
+Execute an AddPrinterDriver() RPC to install the printer 
+driver information on the server\&.  Note that the driver files
+should already exist in the directort returned by 
+\fBspoolgetprinterdriverdir\fP\&.  Possible values for <arch>
+are the same as those for the \fBspooolgetprintedriverdir\fP command\&.
+The <config> parameter is defined as follows:
+.PP 
+.IP "" 
+<Long Printer Name>:<Driver File Name>:<Data File Name>:<Config File Name>:<Help File Name>:<Language Monitor Name>:<Default Data Type>:<Comma Separated list of Files>
+.PP 
+.IP "" 
+Any empty fields should be enter as the string "NULL"\&.
+.PP 
+.IP "" 
+Samba does not need to support the concept of Print Monitors
+since these only apply to local printers whose driver can make use
+of a bi-directional link for communication\&.  This field should
+be "NULL"\&.  On a remote NT print server, the Print Monitor for a driver
+must already be installed prior to adding the driver or else the RPC
+will fail\&.
+.PP 
+.IP "\fBGeneral Commands\fP" 
+.IP "set" 
+Set miscellaneous rpcclient command line options during a running 
+session\&.
+.PP 
+.IP "use" 
+Connect to a rmeote SMB server\&.  \fBrpcclient\fP has the ability
+to maintain connections to multiple server simulaneously\&.
+.PP 
+.IP "help" 
+Print a listing of all known commands or extended help 
+on a particular command\&.
+.PP 
+.IP "quit" 
+Exit rpcclient\&.
+.PP 
+.SH "BUGS" 
+rpcclient is designed as a developer testing tool and may not be robust
+in certain areas (such as command line parsing)\&.  It has been known to 
+generate a core dump upon failures when invalid parameters where
+passed to the interpreter\&.
+.PP 
+From Luke Leighton\'s original rpcclient man page:
+"WARNING! The MSRPC over SMB code has been developed from examining 
+Network traces\&. No documentation is available from the original creators 
+(Microsoft) on how MSRPC over SMB works, or how the individual MSRPC services 
+work\&. Microsoft\'s implementation of these services has been demonstrated 
+(and reported) to be\&.\&.\&. a bit flakey in places\&.
+.PP 
+The development of Samba\'s implementation is also a bit rough, and as more 
+of the services are understood, it can even result in versions of 
+\fBsmbd(8)\fP and rpcclient that are incompatible for some commands or 
+services\&. Additionally, the developers are sending reports to Microsoft, 
+and problems found or reported to Microsoft are fixed in Service Packs, 
+which may result in incompatibilities\&."
+.PP 
+.SH "SEE ALSO" 
+\fBsamba (7)\fP
+.SH "AUTHOR" 
+Samba is written by The Samba Team as Open Source\&. This man page was written
+by Matthew Geddes, Luke Kenneth Casson, and Gerald Carter\&.
diff --git a/docs/yodldocs/rpcclient.8.yo b/docs/yodldocs/rpcclient.8.yo
new file mode 100644 (file)
index 0000000..52d29cc
--- /dev/null
@@ -0,0 +1,263 @@
+mailto(samba-bugs@samba.org)
+manpage(RPCCLIENT)(8)(August 27, 2000)(Samba)(SAMBA)
+label(NAME)
+manpagename(rpcclient)(developer's tool to testing client side MS-RPC functions)
+label(SYNOPSIS)
+manpagesynopsis()
+dit(bf(rpcclient)) [link(-d debuglevel)(minusd)] [link(-S server)(minusS)] [link(-l logbasename)(minusl)] [link(-n netbios name)(minusn)] [link(-N)(minusN)]
+[link(-m maxprotocol)(minusl)] [link(-I destIP)(minusI)] [link(-E)(minusE)] [link(-U username)(minusU)] [link(-W workgroup)(minusW)] [link(-c `command string`)(minusc)]
+[link(-t terminalcode)(minust)] [link(-i scope)(minusi)] [link(-O socket options)(minusO)]
+[link(-s smb.conf)(minuss)]
+label(DESCRIPTION)
+manpagedescription()
+dit(bf(rpcclient))
+is a utility for developers for executing various MS-RPC functions.  It's
+primary use is for testing Samba's own MS-RPC server implementation, however
+many administrators have written scripts around it to manage Windows NT clients
+from their UNIX workstation.
+label(OPTIONS)
+manpageoptions()
+
+startdit()
+
+label(minusd)
+dit(bf(-d debuglevel))
+set the debuglevel. Debug level 0 is the lowest and 100 being the
+highest. This should be set to 100 if you are planning on 
+submitting a bug report to the Samba team (see BUGS.txt).
+
+label(minusS)
+dit(bf(-S server))
+NetBIOS name of Server to which you wish to connect. The server can be 
+any SMB/CIFS server. The name is resolved using either the "name resolve 
+order = " line or by using the bf(-R) option.
+
+label(minusl)
+dit(bf(-l logbasename))
+File name for log/debug files. .client will be
+appended. The log file is never removed  by the client.
+
+label(minusn)
+dit(bf(-n netbios name))
+NetBIOS name of the local machine. This option
+is only needed if your Samba client cannot find
+it automatically. Samba should use the uppercase of the machine's
+hostname.
+
+label(minusN)
+dit(bf(-N))
+tells rpcclient not to ask for a password. rpcclient will prompt
+the user by default.
+
+label(minusI)
+dit(bf(-I destIP))
+The IP address of the server specified with the bf(-S)
+option. Only needed when the server's NetBIOS
+name cannot be resolved using WINS or broadcast
+and isn't found in the LMHOSTS file.
+
+label(minusE)
+dit(bf(-E))
+causes regedit to write messages to stderr instead of stdout.
+
+label(minusU)
+dit(bf(-U username[%pass]))
+Sets the SMB username or username and password. If %pass is not
+specified, The user will be prompted. The client will first check the USER
+environment variable, then the LOGNAME variable and if either exist, the
+string is uppercased. Anything in these variables following a % sign will be
+treated as the password. If these environmental variables are not found, the
+username GUEST is used.
+
+If the password is not included in these environment variables
+(using the %pass syntax), rpcclient will look for a PASSWD environment
+variable from which to read the password.
+
+A third option is to use a credentials file which contains
+the plaintext of the username and password.  This option is
+mainly provided for scripts where the admin doesn't desire to
+pass the credentials on the command line or via environment variables.
+If this method is used, make certain that the permissions on the file
+restrict access from unwanted users.  See the bf(-A) for more details.
+
+Be cautious about including passwords in scripts or in the
+tt(PASSWD) environment variable. Also, on many systems the command
+line of a running process may be seen via the tt(ps) command to be
+safe always allow smbclient to prompt for a password and type it in
+directly.
+
+label(minusA)
+dit(bf(-A <filename>)) This option allows you to specify a file from which
+to read the username and password used in the connection.  The format
+of the file is
+
+tt(username = <value>) nl()
+tt(password = <value>) nl()
+
+Make certain that the permissions on the file restrict access from
+unwanted users.
+
+label(minusW)
+dit(bf(-W domain))
+Set the SMB domain of the username.   This overrides the default 
+domain which is the domain of the server specified with the 
+bt(-S) option. If the domain specified is the same as the server's
+NetBIOS name, it causes the client to log on using the 
+server's local SAM (as opposed to the Domain SAM).
+
+label(minusP)
+dit(bf(-P))
+operate in promptless mode.  Without this mode (the default)
+rpcclient displays a prompt of the form '[domain\username@host]$'
+
+label(minusc)
+dit(bf(-c 'command string'))
+execute semicolon separated commands (listed below))
+
+label(minust)
+dit(bf(-t terminalcode))
+This tells the Samba client how to interpret the incoming filenames, in regards
+to character sets. The list here is not complete. For a complete list see your
+local Samba source. Some valid options are sjis, euc, jis7, jis8, junet and hex.
+
+label(minusO)
+dit(bf(-O socket options))
+These socket options are the same as in smb.conf (under the bt(socket options = )
+section).
+
+label(minuss)
+dit(bf(-s smb.conf))
+Specifies the location of the all important smb.conf file.
+
+label(minusi)
+dit(bf(-i scope))
+Defines the NetBIOS scope. For more information on NetBIOS scopes, see rfc1001
+and rfc1002. NetBIOS scopes are rarely used.
+
+enddit()
+
+label(COMMANDS)
+manpagesection(COMMANDS)
+
+label(SPOOLSSCMD)
+dit(bf(SPOOLSS Commands))
+dit(link(spoolenum)(SPOOLSSENUMPRINTERS))
+Execute an EnumPrinters call.  This lists the various
+installed and share printers.  Refer to the MS Platform
+SDK documentation for more details of the various 
+flags and calling options.
+
+dit(link(spoolenumports <level>)(SPOOLSSENUMPORTS))
+Executes an EnumPorts call using the specified info level.
+Currently only info level 1 and 2 are supported.
+
+dit(link(spoolenumdata)(SPOOLSSENUMPRINTERDATA))
+Enumerate all printer setting data stored on the server.
+On Windows NT  clients, these values are stored 
+in the registry, while Samba servers store them in the printers
+TDB.  This command corresponds to the MS Platform SDK EnumPorts 
+function.
+
+dit(link(spooljobs <printer>)(SPOOLSSENUMJOBS))
+List the jobs and status of a given printer.  This command
+corresponds to the MS Platform SDK EnumJobs function.
+
+dit(link(spoolopen <printer>)(SPOOLSSOPENPRINTER))
+Execute an OpenPrinterEx() and ClosePrinter()
+RPC against a given printer.
+
+dit(link(spoolgetdata)(SPOOLSSGETPRINTERDATA))
+Retrive the data for a given printer setting.  See the 
+bf(spoolenumdata) command for more information.  This command
+corresponds to the GetPrinterData() MS Platform SDK function.
+
+dit(link(spoolgetprinter <printer>)(SPOOLSSGETPRINTER))
+Retrieve the current printer information.  This command
+sorresponds to the GetPrinter() MS Platform SDK function.
+
+dit(link(spoolgetprinterdriver <printer>)(SPOOLSGETPRINTERDRIVER))
+Retrive the printer driver information (such as driver file,
+config file, dependent files, etc...) for the given printer.
+This command corresponds to the GetPrinterDriver() MS Platform 
+SDK function.
+
+dit(link(spoolgetprinterdriverdir <arch>)(SPOOLSSGETPRINTERDRIVERDIR))
+Execute a GetPrinterDriverDirectory() RPC to retreive the
+SMB share name and subdirectory for storing printer driver
+files for a given architecture.  Possible values for <arch> are
+"Windows 4.0" (for Windows 95/98), "Windows NT x86", "Windows NT
+PowerPC", "Windows Alpha_AXP", and "Windows NT R4000".
+
+dit(link(spooladdprinter <printername> <sharename> 
+<drivername> <port>)(SPOOLSSADDPRINTER))
+Add a printer on the remote server.  This printer will be automatically
+shared.  Be aware that the printer driver must already be installed
+on the server (see bf(addprinterdriver)) and the <port> must
+be a valid port name.
+
+dit(link(spooladdprinterdriver <arch> <config>)(SPOOLSSADDPRINTERDRIVER))
+Execute an AddPrinterDriver() RPC to install the printer 
+driver information on the server.  Note that the driver files
+should already exist in the directort returned by 
+bf(spoolgetprinterdriverdir).  Possible values for <arch>
+are the same as those for the bf(spooolgetprintedriverdir) command.
+The <config> parameter is defined as follows:
+
+dit()<Long Printer Name>:<Driver File Name>:<Data File Name>:\
+       <Config File Name>:<Help File Name>:<Language Monitor Name>:\
+       <Default Data Type>:<Comma Separated list of Files>
+
+dit()Any empty fields should be enter as the string "NULL".
+
+dit()Samba does not need to support the concept of Print Monitors
+since these only apply to local printers whose driver can make use
+of a bi-directional link for communication.  This field should
+be "NULL".  On a remote NT print server, the Print Monitor for a driver
+must already be installed prior to adding the driver or else the RPC
+will fail.
+      
+label(GENERALCMD)
+dit(bf(General Commands))
+dit(link(set)(SET))
+Set miscellaneous rpcclient command line options during a running 
+session.
+
+dit(link(use)(USE))
+Connect to a rmeote SMB server.  bf(rpcclient) has the ability
+to maintain connections to multiple server simulaneously.
+
+dit(link(help)(HELP))
+Print a listing of all known commands or extended help 
+on a particular command.
+
+dit(link(quit)(QUIT))
+Exit rpcclient.
+
+
+label(BUGS)
+manpagesection(BUGS)
+rpcclient is designed as a developer testing tool and may not be robust
+in certain areas (such as command line parsing).  It has been known to 
+generate a core dump upon failures when invalid parameters where
+passed to the interpreter.
+
+From Luke Leighton's original rpcclient man page:
+"WARNING! The MSRPC over SMB code has been developed from examining 
+Network traces. No documentation is available from the original creators 
+(Microsoft) on how MSRPC over SMB works, or how the individual MSRPC services 
+work. Microsoft's implementation of these services has been demonstrated 
+(and reported) to be... a bit flakey in places.
+
+The development of Samba's implementation is also a bit rough, and as more 
+of the services are understood, it can even result in versions of 
+bf(smbd(8)) and rpcclient that are incompatible for some commands or 
+services. Additionally, the developers are sending reports to Microsoft, 
+and problems found or reported to Microsoft are fixed in Service Packs, 
+which may result in incompatibilities."
+
+label(SEEALSO)
+manpageseealso()
+bf(samba (7))
+manpageauthor()
+Samba is written by The Samba Team as Open Source. This man page was written
+by Matthew Geddes, Luke Kenneth Casson, and Gerald Carter.