1<?xml version="1.0" encoding="iso-8859-1"?> 2<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc"> 3<refentry id="rpcclient.1"> 4 5<refmeta> 6 <refentrytitle>rpcclient</refentrytitle> 7 <manvolnum>1</manvolnum> 8 <refmiscinfo class="source">Samba</refmiscinfo> 9 <refmiscinfo class="manual">User Commands</refmiscinfo> 10 <refmiscinfo class="version">3.5</refmiscinfo> 11</refmeta> 12 13 14<refnamediv> 15 <refname>rpcclient</refname> 16 <refpurpose>tool for executing client side 17 MS-RPC functions</refpurpose> 18</refnamediv> 19 20<refsynopsisdiv> 21 <cmdsynopsis> 22 <command>rpcclient</command> 23 <arg choice="opt">-A authfile</arg> 24 <arg choice="opt">-c <command string></arg> 25 <arg choice="opt">-d debuglevel</arg> 26 <arg choice="opt">-h</arg> 27 <arg choice="opt">-l logdir</arg> 28 <arg choice="opt">-N</arg> 29 <arg choice="opt">-s <smb config file></arg> 30 <arg choice="opt">-U username[%password]</arg> 31 <arg choice="opt">-W workgroup</arg> 32 <arg choice="opt">-I destinationIP</arg> 33 <arg choice="req">server</arg> 34 </cmdsynopsis> 35</refsynopsisdiv> 36 37<refsect1> 38 <title>DESCRIPTION</title> 39 40 <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle> 41 <manvolnum>7</manvolnum></citerefentry> suite.</para> 42 43 <para><command>rpcclient</command> is a utility initially developed 44 to test MS-RPC functionality in Samba itself. It has undergone 45 several stages of development and stability. Many system administrators 46 have now written scripts around it to manage Windows NT clients from 47 their UNIX workstation. </para> 48</refsect1> 49 50 51<refsect1> 52 <title>OPTIONS</title> 53 54 <variablelist> 55 <varlistentry> 56 <term>server</term> 57 <listitem><para>NetBIOS name of Server to which to connect. 58 The server can be any SMB/CIFS server. The name is 59 resolved using the <smbconfoption name="name resolve order"/> line from <citerefentry><refentrytitle>smb.conf</refentrytitle> 60 <manvolnum>5</manvolnum></citerefentry>.</para></listitem> 61 </varlistentry> 62 63 64 <varlistentry> 65 <term>-c|--command='command string'</term> 66 <listitem><para>execute semicolon separated commands (listed 67 below)) </para></listitem> 68 </varlistentry> 69 70 71 <varlistentry> 72 <term>-I|--dest-ip IP-address</term> 73 <listitem><para><replaceable>IP address</replaceable> is the address of the server to connect to. 74 It should be specified in standard "a.b.c.d" notation. </para> 75 76 <para>Normally the client would attempt to locate a named 77 SMB/CIFS server by looking it up via the NetBIOS name resolution 78 mechanism described above in the <parameter>name resolve order</parameter> 79 parameter above. Using this parameter will force the client 80 to assume that the server is on the machine with the specified IP 81 address and the NetBIOS name component of the resource being 82 connected to will be ignored. </para> 83 84 <para>There is no default for this parameter. If not supplied, 85 it will be determined automatically by the client as described 86 above. </para></listitem> 87 </varlistentry> 88 89 <varlistentry> 90 <term>-p|--port port</term> 91 <listitem><para>This number is the TCP port number that will be used 92 when making connections to the server. The standard (well-known) 93 TCP port number for an SMB/CIFS server is 139, which is the 94 default. </para></listitem> 95 </varlistentry> 96 97 &stdarg.server.debug; 98 &popt.common.samba; 99 &popt.common.credentials; 100 &popt.common.connection; 101 &stdarg.help; 102 </variablelist> 103</refsect1> 104 105 106<refsect1> 107 <title>COMMANDS</title> 108 109 <refsect2> 110 <title>LSARPC</title> 111 112 <variablelist> 113 <varlistentry><term>lsaquery</term><listitem><para>Query info policy</para></listitem></varlistentry> 114 115 <varlistentry><term>lookupsids</term><listitem><para>Resolve a list 116 of SIDs to usernames. 117 </para></listitem></varlistentry> 118 119 <varlistentry><term>lookupnames</term><listitem><para>Resolve a list 120 of usernames to SIDs. 121 </para></listitem></varlistentry> 122 123 <varlistentry><term>enumtrusts</term><listitem><para>Enumerate trusted domains</para></listitem></varlistentry> 124 125 <varlistentry><term>enumprivs</term><listitem><para>Enumerate privileges</para></listitem></varlistentry> 126 127 <varlistentry><term>getdispname</term><listitem><para>Get the privilege name</para></listitem></varlistentry> 128 129 <varlistentry><term>lsaenumsid</term><listitem><para>Enumerate the LSA SIDS</para></listitem></varlistentry> 130 131 <varlistentry><term>lsaenumprivsaccount</term><listitem><para>Enumerate the privileges of an SID</para></listitem></varlistentry> 132 133 <varlistentry><term>lsaenumacctrights</term><listitem><para>Enumerate the rights of an SID</para></listitem></varlistentry> 134 135 <varlistentry><term>lsaenumacctwithright</term><listitem><para>Enumerate accounts with a right</para></listitem></varlistentry> 136 137 <varlistentry><term>lsaaddacctrights</term><listitem><para>Add rights to an account</para></listitem></varlistentry> 138 139 <varlistentry><term>lsaremoveacctrights</term><listitem><para>Remove rights from an account</para></listitem></varlistentry> 140 141 <varlistentry><term>lsalookupprivvalue</term><listitem><para>Get a privilege value given its name</para></listitem></varlistentry> 142 143 <varlistentry><term>lsaquerysecobj</term><listitem><para>Query LSA security object</para></listitem></varlistentry> 144 145 </variablelist> 146 </refsect2> 147 148 <refsect2> 149 <title>LSARPC-DS</title> 150 151 <variablelist> 152 <varlistentry><term>dsroledominfo</term><listitem><para>Get Primary Domain Information</para></listitem></varlistentry> 153 </variablelist> 154 155 <para> </para> 156 157 <para><emphasis>DFS</emphasis></para> 158 <variablelist> 159 <varlistentry><term>dfsexist</term><listitem><para>Query DFS support</para></listitem></varlistentry> 160 <varlistentry><term>dfsadd</term><listitem><para>Add a DFS share</para></listitem></varlistentry> 161 <varlistentry><term>dfsremove</term><listitem><para>Remove a DFS share</para></listitem></varlistentry> 162 <varlistentry><term>dfsgetinfo</term><listitem><para>Query DFS share info</para></listitem></varlistentry> 163 <varlistentry><term>dfsenum</term><listitem><para>Enumerate dfs shares</para></listitem></varlistentry> 164 </variablelist> 165 166 </refsect2> 167 168 <refsect2> 169 <title>REG</title> 170 <variablelist> 171 <varlistentry><term>shutdown</term><listitem><para>Remote Shutdown</para></listitem></varlistentry> 172 <varlistentry><term>abortshutdown</term><listitem><para>Abort Shutdown</para></listitem></varlistentry> 173 </variablelist> 174 175 </refsect2> 176 177 <refsect2> 178 <title>SRVSVC</title> 179 180 <variablelist> 181 <varlistentry><term>srvinfo</term><listitem><para>Server query info</para></listitem></varlistentry> 182 183 <varlistentry><term>netshareenum</term><listitem><para>Enumerate shares</para></listitem></varlistentry> 184 185 <varlistentry><term>netfileenum</term><listitem><para>Enumerate open files</para></listitem></varlistentry> 186 187 <varlistentry><term>netremotetod</term><listitem><para>Fetch remote time of day</para></listitem></varlistentry> 188 189 </variablelist> 190 191 </refsect2> 192 193 <refsect2> 194 <title>SAMR</title> 195 196 <variablelist> 197 <varlistentry><term>queryuser</term><listitem><para>Query user info</para></listitem></varlistentry> 198 <varlistentry><term>querygroup</term><listitem><para>Query group info</para></listitem></varlistentry> 199 <varlistentry><term>queryusergroups</term><listitem><para>Query user groups</para></listitem></varlistentry> 200 <varlistentry><term>querygroupmem</term><listitem><para>Query group membership</para></listitem></varlistentry> 201 <varlistentry><term>queryaliasmem</term><listitem><para>Query alias membership</para></listitem></varlistentry> 202 <varlistentry><term>querydispinfo</term><listitem><para>Query display info</para></listitem></varlistentry> 203 <varlistentry><term>querydominfo</term><listitem><para>Query domain info</para></listitem></varlistentry> 204 <varlistentry><term>enumdomusers</term><listitem><para>Enumerate domain users</para></listitem></varlistentry> 205 <varlistentry><term>enumdomgroups</term><listitem><para>Enumerate domain groups</para></listitem></varlistentry> 206 <varlistentry><term>enumalsgroups</term><listitem><para>Enumerate alias groups</para></listitem></varlistentry> 207 <varlistentry><term>createdomuser</term><listitem><para>Create domain user</para></listitem></varlistentry> 208 <varlistentry><term>samlookupnames</term><listitem><para>Look up names</para></listitem></varlistentry> 209 <varlistentry><term>samlookuprids</term><listitem><para>Look up names</para></listitem></varlistentry> 210 <varlistentry><term>deletedomuser</term><listitem><para>Delete domain user</para></listitem></varlistentry> 211 <varlistentry><term>samquerysecobj</term><listitem><para>Query SAMR security object</para></listitem></varlistentry> 212 <varlistentry><term>getdompwinfo</term><listitem><para>Retrieve domain password info</para></listitem></varlistentry> 213 <varlistentry><term>lookupdomain</term><listitem><para>Look up domain</para></listitem></varlistentry> 214 </variablelist> 215 216 </refsect2> 217 218 <refsect2> 219 <title>SPOOLSS</title> 220 221 <variablelist> 222 <varlistentry><term>adddriver <arch> <config> [<version>]</term> 223 <listitem><para> 224 Execute an AddPrinterDriver() RPC to install the printer driver 225 information on the server. Note that the driver files should 226 already exist in the directory returned by 227 <command>getdriverdir</command>. Possible values for 228 <parameter>arch</parameter> are the same as those for 229 the <command>getdriverdir</command> command. 230 The <parameter>config</parameter> parameter is defined as 231 follows: </para> 232 233<para><programlisting> 234Long Printer Name:\ 235Driver File Name:\ 236Data File Name:\ 237Config File Name:\ 238Help File Name:\ 239Language Monitor Name:\ 240Default Data Type:\ 241Comma Separated list of Files 242</programlisting></para> 243 244 <para>Any empty fields should be enter as the string "NULL". </para> 245 246 <para>Samba does not need to support the concept of Print Monitors 247 since these only apply to local printers whose driver can make 248 use of a bi-directional link for communication. This field should 249 be "NULL". On a remote NT print server, the Print Monitor for a 250 driver must already be installed prior to adding the driver or 251 else the RPC will fail. </para> 252 253 <para>The <parameter>version</parameter> parameter lets you 254 specify the printer driver version number. If omitted, the 255 default driver version for the specified architecture will 256 be used. This option can be used to upload Windows 2000 257 (version 3) printer drivers.</para></listitem></varlistentry> 258 259 <varlistentry><term>addprinter <printername> 260 <sharename> <drivername> <port></term> 261 <listitem><para> 262 Add a printer on the remote server. This printer 263 will be automatically shared. Be aware that the printer driver 264 must already be installed on the server (see <command>adddriver</command>) 265 and the <parameter>port</parameter>must be a valid port name (see 266 <command>enumports</command>.</para> 267 </listitem></varlistentry> 268 269 270 <varlistentry><term>deldriver</term><listitem><para>Delete the 271 specified printer driver for all architectures. This 272 does not delete the actual driver files from the server, 273 only the entry from the server's list of drivers. 274 </para></listitem></varlistentry> 275 276 <varlistentry><term>deldriverex <driver> [architecture] [version] 277 </term><listitem><para>Delete the specified printer driver including driver files. 278 You can limit this action to a specific architecture and a specific version. 279 If no architecure is given, all driver files of that driver will be deleted. 280 </para></listitem></varlistentry> 281 282 <varlistentry><term>enumdata</term><listitem><para>Enumerate all 283 printer setting data stored on the server. On Windows NT clients, 284 these values are stored in the registry, while Samba servers 285 store them in the printers TDB. This command corresponds 286 to the MS Platform SDK GetPrinterData() function (* This 287 command is currently unimplemented).</para></listitem></varlistentry> 288 289 <varlistentry><term>enumdataex</term><listitem><para>Enumerate printer data for a key</para></listitem></varlistentry> 290 291 <varlistentry><term>enumjobs <printer></term> 292 <listitem><para>List the jobs and status of a given printer. 293 This command corresponds to the MS Platform SDK EnumJobs() 294 function</para></listitem></varlistentry> 295 296 <varlistentry><term>enumkey</term><listitem><para>Enumerate 297 printer keys</para></listitem></varlistentry> 298 299 <varlistentry><term>enumports [level]</term> 300 <listitem><para> 301 Executes an EnumPorts() call using the specified 302 info level. Currently only info levels 1 and 2 are supported. 303 </para></listitem></varlistentry> 304 305 306 307 <varlistentry><term>enumdrivers [level]</term> 308 <listitem><para> 309 Execute an EnumPrinterDrivers() call. This lists the various installed 310 printer drivers for all architectures. Refer to the MS Platform SDK 311 documentation for more details of the various flags and calling 312 options. Currently supported info levels are 1, 2, and 3.</para></listitem></varlistentry> 313 314 315 316 <varlistentry><term>enumprinters [level]</term> 317 <listitem><para>Execute an EnumPrinters() call. This lists the various installed 318 and share printers. Refer to the MS Platform SDK documentation for 319 more details of the various flags and calling options. Currently 320 supported info levels are 1, 2 and 5.</para></listitem></varlistentry> 321 322 323 324 325 <varlistentry><term>getdata <printername> <valuename;></term> 326 <listitem><para>Retrieve the data for a given printer setting. See 327 the <command>enumdata</command> command for more information. 328 This command corresponds to the GetPrinterData() MS Platform 329 SDK function. </para></listitem></varlistentry> 330 331 <varlistentry><term>getdataex</term><listitem><para>Get 332 printer driver data with 333 keyname</para></listitem></varlistentry> 334 335 336 <varlistentry><term>getdriver <printername></term> 337 <listitem><para> 338 Retrieve the printer driver information (such as driver file, 339 config file, dependent files, etc...) for 340 the given printer. This command corresponds to the GetPrinterDriver() 341 MS Platform SDK function. Currently info level 1, 2, and 3 are supported. 342 </para></listitem></varlistentry> 343 344 345 <varlistentry><term>getdriverdir <arch></term> 346 <listitem><para> 347 Execute a GetPrinterDriverDirectory() 348 RPC to retrieve the SMB share name and subdirectory for 349 storing printer driver files for a given architecture. Possible 350 values for <parameter>arch</parameter> are "Windows 4.0" 351 (for Windows 95/98), "Windows NT x86", "Windows NT PowerPC", "Windows 352 Alpha_AXP", and "Windows NT R4000". </para></listitem></varlistentry> 353 354 355 356 <varlistentry><term>getprinter <printername></term> 357 <listitem><para>Retrieve the current printer information. This command 358 corresponds to the GetPrinter() MS Platform SDK function. 359 </para></listitem></varlistentry> 360 361 <varlistentry><term>getprintprocdir</term><listitem><para>Get 362 print processor 363 directory</para></listitem></varlistentry> 364 365 <varlistentry><term>openprinter <printername></term> 366 <listitem><para>Execute an OpenPrinterEx() and ClosePrinter() RPC 367 against a given printer. </para></listitem></varlistentry> 368 369 <varlistentry><term>setdriver <printername> 370 <drivername></term> 371 <listitem><para>Execute a SetPrinter() command to update the printer driver 372 associated with an installed printer. The printer driver must 373 already be correctly installed on the print server. </para> 374 375 <para>See also the <command>enumprinters</command> and 376 <command>enumdrivers</command> commands for obtaining a list of 377 of installed printers and drivers.</para></listitem></varlistentry> 378 379 <varlistentry><term>addform</term><listitem><para>Add form</para></listitem></varlistentry> 380 <varlistentry><term>setform</term><listitem><para>Set form</para></listitem></varlistentry> 381 <varlistentry><term>getform</term><listitem><para>Get form</para></listitem></varlistentry> 382 <varlistentry><term>deleteform</term><listitem><para>Delete form</para></listitem></varlistentry> 383 <varlistentry><term>enumforms</term><listitem><para>Enumerate form</para></listitem></varlistentry> 384 <varlistentry><term>setprinter</term><listitem><para>Set printer comment</para></listitem></varlistentry> 385 <varlistentry><term>setprinterdata</term><listitem><para>Set REG_SZ printer data</para></listitem></varlistentry> 386 387 <varlistentry><term>setprintername <printername> 388 <newprintername></term> 389 <listitem><para>Set printer name</para></listitem></varlistentry> 390 391 <varlistentry><term>rffpcnex</term><listitem><para>Rffpcnex test</para></listitem></varlistentry> 392 393 394 </variablelist> 395 396 </refsect2> 397 398 <refsect2> 399 <title>NETLOGON</title> 400 401 <variablelist> 402 403 <varlistentry><term>logonctrl2</term> 404 <listitem><para>Logon Control 2</para></listitem> 405 </varlistentry> 406 407 <varlistentry><term>logonctrl</term> 408 <listitem><para>Logon Control</para></listitem> 409 </varlistentry> 410 411 <varlistentry><term>samsync</term> 412 <listitem><para>Sam Synchronisation</para></listitem> 413 </varlistentry> 414 415 <varlistentry><term>samdeltas</term> 416 <listitem><para>Query Sam Deltas</para></listitem> 417 </varlistentry> 418 419 <varlistentry><term>samlogon</term> 420 <listitem><para>Sam Logon</para></listitem> 421 </varlistentry> 422 423 </variablelist> 424 </refsect2> 425 426 <refsect2> 427 <title>GENERAL COMMANDS</title> 428 429 <variablelist> 430 <varlistentry><term>debuglevel</term><listitem><para>Set the current 431 debug level used to log information.</para></listitem></varlistentry> 432 433 <varlistentry><term>help (?)</term><listitem><para>Print a listing of all 434 known commands or extended help on a particular command. 435 </para></listitem></varlistentry> 436 437 <varlistentry><term>quit (exit)</term><listitem><para>Exit <command>rpcclient 438 </command>.</para></listitem></varlistentry> 439 </variablelist> 440 </refsect2> 441 442</refsect1> 443 444<refsect1> 445 <title>BUGS</title> 446 447 <para><command>rpcclient</command> is designed as a developer testing tool 448 and may not be robust in certain areas (such as command line parsing). 449 It has been known to generate a core dump upon failures when invalid 450 parameters where passed to the interpreter. </para> 451 452 <para>From Luke Leighton's original rpcclient man page:</para> 453 454 <para><emphasis>WARNING!</emphasis> The MSRPC over SMB code has 455 been developed from examining Network traces. No documentation is 456 available from the original creators (Microsoft) on how MSRPC over 457 SMB works, or how the individual MSRPC services work. Microsoft's 458 implementation of these services has been demonstrated (and reported) 459 to be... a bit flaky in places. </para> 460 461 <para>The development of Samba's implementation is also a bit rough, 462 and as more of the services are understood, it can even result in 463 versions of <citerefentry><refentrytitle>smbd</refentrytitle> 464 <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>rpcclient</refentrytitle> 465 <manvolnum>1</manvolnum></citerefentry> that are incompatible for some commands or services. Additionally, 466 the developers are sending reports to Microsoft, and problems found 467 or reported to Microsoft are fixed in Service Packs, which may 468 result in incompatibilities.</para> 469</refsect1> 470 471 472<refsect1> 473 <title>VERSION</title> 474 475 <para>This man page is correct for version 3 of the Samba 476 suite.</para> 477</refsect1> 478 479<refsect1> 480 <title>AUTHOR</title> 481 482 <para>The original Samba software and related utilities 483 were created by Andrew Tridgell. Samba is now developed 484 by the Samba Team as an Open Source project similar 485 to the way the Linux kernel is developed.</para> 486 487 <para>The original rpcclient man page was written by Matthew 488 Geddes, Luke Kenneth Casson Leighton, and rewritten by Gerald Carter. 489 The conversion to DocBook for Samba 2.2 was done by Gerald 490 Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was 491 done by Alexander Bokovoy.</para> 492</refsect1> 493 494</refentry> 495