RPCCLIENT(1) User Commands RPCCLIENT(1)

rpcclient - ابزاری برای اجرای توابع سمت کلاینت MS-RPC

rpcclient [-c|--command=COMMANDS] [-I|--dest-ip=IP] [-p|--port=PORT] [-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full] [-R|--name-resolve=NAME-RESOLVE-ORDER] [-O|--socket-options=SOCKETOPTIONS] [-m|--max-protocol=MAXPROTOCOL] [-n|--netbiosname=NETBIOSNAME] [--netbios-scope=SCOPE] [-W|--workgroup=WORKGROUP] [--realm=REALM] [-U|--user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|--no-pass] [--password=STRING] [--pw-nt-hash] [-A|--authentication-file=FILE] [-P|--machine-pass] [--simple-bind-dn=DN] [--use-kerberos=desired|required|off] [--use-krb5-ccache=CCACHE] [--use-winbind-ccache] [--client-protection=sign|encrypt|off] [-V|--version] {BINDING-STRING|HOST}

این ابزار بخشی از مجموعهٔ samba(7) است.

دستور rpcclient ابزاری است که در ابتدا برای آزمایش عملکردهای MS-RPC در خود Samba توسعه داده شد. این ابزار چندین مرحله از توسعه و پایداری را پشت سر گذاشته است. اکنون بسیاری از مدیران سیستم برای مدیریت کلاینت‌های Windows NT از ایستگاه کاری UNIX خود، اسکریپت‌هایی بر پایهٔ آن نوشته‌اند.

BINDING-STRING|HOST

هنگام اتصال به یک سرویس dcerpc باید یک binding string مشخص کنید.

قالب آن بدین صورت است:

TRANSPORT:host[options]

که در آن TRANSPORT یا ncacn_np (لوله‌های نام‌گذاری‌شده یا named pipes) برای SMB است یا ncacn_ip_tcp برای DCERPC روی TCP/IP.

مقدار «host» یک IP، نام میزبان یا نام netbios است. اگر binding string سمت سرور یک نقطه پایانی (endpoint) را مشخص کند، «host» می‌تواند یک رشتهٔ خالی باشد. برای جزئیات بیشتر به ادامه مراجعه کنید.

گزینهٔ «options» در صورت استفاده از ترابرد ncacn_np می‌تواند شامل نام لولهٔ SMB باشد، یا در صورت استفاده از ترابرد ncacn_ip_tcp شامل شماره درگاه TCP باشد؛ در غیر این صورت به‌طور خودکار تعیین خواهند شد.

مثال‌ها:

•ncacn_ip_tcp:samba.example.com[1024]
•ncacn_ip_tcp:samba.example.com[sign,seal,krb5]
•ncacn_ip_tcp:samba.example.com[sign,spnego]
•ncacn_np:samba.example.com
•ncacn_np:samba.example.com[samr]
•ncacn_np:samba.example.com[samr,sign,print]
•ncalrpc:/path/to/unix/socket
•//SAMBA
ترابردهای پشتیبانی‌شده عبارتند از:
•ncacn_np - اتصال با استفاده از لوله‌های نام‌گذاری‌شده (named pipes)
•ncacn_ip_tcp - اتصال از طریق TCP/IP
•ncalrpc - اتصال از طریق RPC محلی (سوکت‌های یونیکس)
گزینه‌های پشتیبانی‌شده عبارتند از:
•sign - استفاده از سطح احراز هویت یکپارچگی RPC
•seal - فعال‌سازی سطح احراز هویت محرمانگی (رمزنگاری) RPC
•connect - استفاده از سطح احراز هویت اتصال RPC (احراز هویت، اما بدون sign یا seal)
•packet - استفاده از سطح احراز هویت بسته (packet) در RPC
•spnego - استفاده از احراز هویت SPNEGO به‌جای NTLMSSP
•ntlm - استفاده از NTLM ساده به‌جای SPNEGO یا NTLMSSP
•krb5 - استفاده از احراز هویت Kerberos به‌جای NTLMSSP
•schannel - ایجاد یک اتصال schannel
•smb1 - استفاده از SMB1 برای لوله‌های نام‌گذاری‌شده (named pipes)
•smb2 - استفاده از SMB2/3 برای لوله‌های نام‌گذاری‌شده (named pipes)
•validate - فعال‌سازی اعتبارسنج NDR
•print - فعال‌سازی خروجی اشکال‌زدایی بسته‌ها
•padcheck - بررسی داده‌های پاسخ برای بایت‌های پد (pad) غیرصفر
•bigendian - استفاده از big endian برای RPC
•ndr64 - استفاده از NDR64 برای RPC

-c|--command=<command string>;

اجرای دستورهای جداشده با نقطه-ویرگول (فهرست‌شده در زیر)

-I|--dest-ip IP-address

IP address نشانی کارسازی است که باید به آن متصل شد. این نشانی باید در قالب استاندارد "a.b.c.d" مشخص شود.

در حالت عادی، کلاینت تلاش می‌کند یک کارساز نام‌گذاری‌شده‌ی SMB/CIFS را از طریق سازوکار تفکیک نام NetBIOS که در بالا در پارامتر name resolve order شرح داده شد، پیدا کند. استفاده از این پارامتر، کلاینت را وادار می‌کند تا فرض کند کارساز روی ماشینی با نشانی IP مشخص‌شده قرار دارد و بخش نام NetBIOS منبعی که به آن متصل می‌شود نادیده گرفته خواهد شد.

هیچ مقدار پیش‌فرضی برای این پارامتر وجود ندارد. در صورت تعیین نشدن، مطابق آنچه در بالا توضیح داده شد به‌طور خودکار توسط کلاینت تعیین می‌شود.

-p|--port port

این عدد، شماره درگاه TCP است که هنگام برقراری اتصال با کارساز استفاده خواهد شد. شماره درگاه استاندارد و شناخته‌شده‌ی (well-known) پروتکل TCP برای کارساز SMB/CIFS برابر با 139 است که مقدار پیش‌فرض نیز می‌باشد.

-?|--help

چاپ خلاصه‌ای از گزینه‌های خط فرمان.

--usage

نمایش پیام کوتاه نحوه استفاده از دستور.

-d|--debuglevel=level

level یک عدد صحیح از 0 تا 10 است. مقدار پیش‌فرض در صورت عدم تعیین این پارامتر، برای برنامه‌های کلاینت برابر با 1 است.

هرچه این مقدار بالاتر باشد، جزئیات بیشتری از فعالیت‌های کارساز در فایل‌های گزارش (log) ثبت خواهد شد. در سطح 0، تنها خطاهای حیاتی و هشدارهای جدی ثبت می‌شوند. سطح 1 سطحی معقول برای استفاده روزمره است - و مقدار اندکی اطلاعات درباره عملیات انجام‌شده تولید می‌کند.

سطوح بالاتر از 1 حجم قابل توجهی از داده‌های گزارش را تولید می‌کنند و تنها در زمان بررسی و عیب‌یابی مشکلات باید استفاده شوند. سطوح بالاتر از 3 صرفاً برای استفاده توسعه‌دهندگان طراحی شده‌اند و حجم عظیمی از داده‌های گزارش را تولید می‌کنند که بیشتر آن‌ها بسیار مبهم و رمزی هستند.

توجه داشته باشید که تعیین این پارامتر در اینجا، پارامتر log level در فایل /etc/samba/smb.conf را بازنویسی (override) خواهد کرد.

--debug-stdout

این گزینه خروجی اشکال‌زدایی (debug) را به STDOUT هدایت می‌کند. به‌طور پیش‌فرض، همه کلاینت‌ها گزارش‌های خود را در STDERR ثبت می‌کنند.

--configfile=<configuration file>;

فایل مشخص‌شده حاوی جزئیات پیکربندی مورد نیاز کلاینت است. اطلاعات موجود در این فایل می‌تواند عمومی و برای کلاینت و کارساز باشد، یا تنها گزینه‌های خاص کلاینت مانند client smb encrypt را فراهم کند. برای اطلاعات بیشتر /etc/samba/smb.conf را ببینید. نام پیش‌فرض فایل پیکربندی هنگام کامپایل تعیین می‌شود.

--option=<name>=<value>

تنظیم گزینه "<name>" از smb.conf(5) با مقدار "<value>" از طریق خط فرمان. این کار پیش‌فرض‌های زمان کامپایل و گزینه‌های خوانده‌شده از فایل پیکربندی را بازنویسی می‌کند. اگر یک نام یا مقدار حاوی فاصله (space) است، کل --option=name=value را داخل علامت نقل‌قول قرار دهید.

-l|--log-basename=logdirectory

نام دایرکتوری پایه برای فایل‌های گزارش/اشکال‌زدایی (log/debug). پسوند ".progname" اضافه خواهد شد (مانند log.smbclient، log.smbd، و غیره). این فایل گزارش هرگز توسط کلاینت حذف نمی‌شود.

--leak-report

فعال‌سازی گزارش نشت حافظه talloc در هنگام خروج.

--leak-report-full

فعال‌سازی گزارش کامل نشت حافظه talloc در هنگام خروج.

-V|--version

شماره نسخه برنامه را چاپ می‌کند.

-R|--name-resolve=NAME-RESOLVE-ORDER

این گزینه برای تعیین سرویس‌های نام‌گذاری و ترتیبی که در آن نام‌های میزبان به نشانی‌های IP تفکیک (resolve) می‌شوند، به کار می‌رود. این گزینه رشته‌ای از گزینه‌های مختلف تفکیک نام را که با فاصله جدا شده‌اند می‌پذیرد. بهتر است کل عبارت --name-resolve=NAME-RESOLVE-ORDER درون علامت نقل‌قول قرار گیرد.

گزینه‌ها عبارتند از: "lmhosts" ،"host" ،"wins" و "bcast". این گزینه‌ها موجب تفکیک نام‌ها به شرح زیر می‌شوند:

•lmhosts: جستجوی نشانی IP در فایل lmhosts نرم‌افزار Samba. اگر خط موجود در lmhosts هیچ نوع نامی (name type) متصل به نام NetBIOS نداشته باشد (برای جزئیات lmhosts(5) را ببینید)، هر نوع نامی برای جستجو تطبیق داده خواهد شد.
•host: انجام تفکیک استاندارد نام میزبان به نشانی IP با استفاده از فایل /etc/hosts، NIS، یا جستجوهای DNS سیستم. این روش تفکیک نام به سیستم‌عامل وابسته است (برای نمونه در IRIX یا Solaris ممکن است توسط فایل /etc/nsswitch.conf کنترل شود). توجه داشته باشید که این روش تنها در صورتی استفاده می‌شود که نوع نام NetBIOS مورد پرسش از نوع 0x20 (کارساز) باشد، در غیر این صورت نادیده گرفته می‌شود.
•wins: پرس‌وجوی نام با نشانی IP فهرست‌شده در پارامتر wins server. اگر هیچ کارساز WINS مشخص نشده باشد، این روش نادیده گرفته خواهد شد.
•bcast: انجام همه‌پخشی (broadcast) روی هر یک از رابط‌های محلی شناخته‌شده که در پارامتر interfaces فهرست شده‌اند. این روش کمترین قابلیت اطمینان را در میان روش‌های تفکیک نام دارد، چرا که به حضور میزبان مقصد در همان زیرشبکه محلی متصل وابسته است.
در صورت تنظیم نشدن این پارامتر، ترتیب تفکیک نام تعریف‌شده در پارامتر فایل /etc/samba/smb.conf (name resolve order) استفاده خواهد شد.

ترتیب پیش‌فرض lmhosts، host، wins، bcast است. بدون این پارامتر یا هرگونه مدخل در پارامتر name resolve order در فایل /etc/samba/smb.conf، روش‌های تفکیک نام با همین ترتیب امتحان خواهند شد.

-O|--socket-options=SOCKETOPTIONS

گزینه‌های سوکت TCP برای اعمال روی سوکت کلاینت. برای فهرست گزینه‌های معتبر، پارامتر socket options را در صفحه راهنمای /etc/samba/smb.conf ببینید.

-m|--max-protocol=MAXPROTOCOL

مقدار این پارامتر (یک رشته)، بالاترین سطح پروتکلی است که توسط کلاینت پشتیبانی خواهد شد..sp توجه داشته باشید که تعیین این پارامتر در اینجا، پارامتر client max protocol در فایل /etc/samba/smb.conf را بازنویسی خواهد کرد.

-n|--netbiosname=NETBIOSNAME

این گزینه به شما اجازه می‌دهد نام NetBIOS مورد استفاده توسط Samba برای خود را بازنویسی کنید. این کار معادل تنظیم پارامتر netbios name در فایل /etc/samba/smb.conf است. با این حال، تنظیم اعمال‌شده از خط فرمان بر تنظیمات موجود در /etc/samba/smb.conf اولویت خواهد داشت.

--netbios-scope=SCOPE

این گزینه دامنه (scope) NetBIOS را مشخص می‌کند که nmblookup هنگام تولید نام‌های NetBIOS برای برقراری ارتباط از آن استفاده خواهد کرد. برای اطلاع از جزئیات مربوط به کاربرد اسکوپ‌های NetBIOS، به rfc1001.txt و rfc1002.txt مراجعه کنید. اسکوپ‌های NetBIOS بسیار به‌ندرت استفاده می‌شوند؛ این پارامتر را تنها در صورتی تنظیم کنید که مدیر سیستمی باشید که مسئول تمام سامانه‌های NetBIOS طرف ارتباط است.

-W|--workgroup=WORKGROUP

دامنهٔ SMB نام کاربری را تنظیم می‌کند. این گزینه دامنهٔ پیش‌فرض را که در smb.conf تعریف شده است بازنویسی می‌کند. اگر دامنهٔ مشخص‌شده با نام NetBIOS سرور یکسان باشد، موجب می‌شود کلاینت با استفاده از SAM محلی سرور (در مقابل SAM دامنه) وارد شود.

توجه داشته باشید که تعیین این پارامتر در اینجا، پارامتر workgroup در فایل /etc/samba/smb.conf را بازنویسی خواهد کرد.

-r|--realm=REALM

قلمرو (realm) را برای دامنه تنظیم می‌کند.

توجه داشته باشید که تعیین این پارامتر در اینجا، پارامتر realm در فایل /etc/samba/smb.conf را بازنویسی خواهد کرد.

-U|--user=[DOMAIN\]USERNAME[%PASSWORD]

نام کاربری یا نام کاربری و گذرواژهٔ SMB را تنظیم می‌کند.

اگر %PASSWORD مشخص نشده باشد، گذرواژه از کاربر پرسیده خواهد شد. کلاینت ابتدا متغیر محیطی USER (که مجاز است گذرواژه را نیز با علامت % به‌صورت جداگانه در بر داشته باشد) و سپس متغیر LOGNAME (که مجاز به داشتن گذرواژه نیست) را بررسی می‌کند و اگر هر یک وجود داشته باشد، مقدار آن استفاده می‌شود. اگر این متغیرهای محیطی یافت نشوند، نام کاربریِ موجود در حافظهٔ نهان اعتبارسنجی (Credentials cache) کربروس ممکن است استفاده شود.

گزینهٔ سوم، استفاده از یک فایل اعتبارسنجی (credentials file) است که شامل متن سادهٔ نام کاربری و گذرواژه باشد. این گزینه عمدتاً برای اسکریپت‌هایی فراهم شده است که مدیر در آن‌ها مایل نیست اطلاعات اعتباری را از خط فرمان یا متغیرهای محیطی منتقل کند. در صورت استفاده از این روش، اطمینان حاصل کنید که مجوزهای فایل، دسترسی کاربران غیرمجاز را محدود کرده باشد. برای جزئیات بیشتر به -A مراجعه کنید.

هنگام گنجاندن گذرواژه‌ها در اسکریپت‌ها یا ارسال مقادیر عرضه‌شده توسط کاربر به خط فرمان، محتاط باشید. برای امنیت بیشتر، بهتر است اجازه دهید در صورت نیاز خود ابزار کلاینت Samba گذرواژه را درخواست کند، یا گذرواژه را یک بار با kinit دریافت کنید.

اگرچه Samba تلاش خواهد کرد گذرواژه را از عنوان فرایند (همان‌طور که در ps دیده می‌شود) پاک کند، اما این کار پس از راه‌اندازی صورت می‌گیرد و بنابراین مستعد شرایط مسابقه (race condition) است.

-N|--no-pass

در صورت تعیین، این پارامتر از درخواست معمول گذرواژه توسط کلاینت از کاربر جلوگیری می‌کند. این مورد هنگام دسترسی به سرویسی که به گذرواژه نیاز ندارد مفید است.

مگر اینکه گذرواژه‌ای در خط فرمان مشخص شده باشد یا این پارامتر تعیین شده باشد، کلاینت درخواست گذرواژه خواهد کرد.

اگر یک گذرواژه در خط فرمان مشخص شده و این گزینه نیز تعریف شده باشد، گذرواژهٔ خط فرمان بدون اعلام نادیده گرفته می‌شود و از هیچ گذرواژه‌ای استفاده نخواهد شد.

--password

گذرواژه را در خط فرمان مشخص می‌کند.

هنگام گنجاندن گذرواژه‌ها در اسکریپت‌ها یا ارسال مقادیر عرضه‌شده توسط کاربر به خط فرمان، محتاط باشید. برای امنیت بیشتر، بهتر است اجازه دهید در صورت نیاز خود ابزار کلاینت Samba گذرواژه را درخواست کند، یا گذرواژه را یک بار با kinit دریافت کنید.

اگر --password مشخص نشود، این ابزار متغیر محیطی PASSWD را بررسی می‌کند و در ادامه به سراغ PASSWD_FD می‌رود که انتظار می‌رود شامل شماره یک توصیف‌گر فایل (FD) باز باشد.

در نهایت متغیر PASSWD_FILE (شامل مسیر فایلی که باید باز شود) را بررسی خواهد کرد. این فایل فقط باید حاوی گذرواژه باشد. اطمینان حاصل کنید که مجوزهای فایل، دسترسی کاربران غیرمجاز را محدود کرده باشد!

اگرچه Samba تلاش خواهد کرد گذرواژه را از عنوان فرایند (همان‌طور که در ps دیده می‌شود) پاک کند، اما این کار پس از راه‌اندازی صورت می‌گیرد و بنابراین مستعد شرایط مسابقه است.

--pw-nt-hash

گذرواژهٔ ارائه‌شده یک هش NT است.

-A|--authentication-file=filename

این گزینه به شما امکان می‌دهد فایلی را مشخص کنید که نام کاربری و گذرواژهٔ مورد استفاده در اتصال از آن خوانده شود. قالب این فایل به شرح زیر است:
username = <value>
password = <value>
domain   = <value>

اطمینان حاصل کنید که مجوزهای دسترسیِ فایل، دسترسی کاربران غیرمجاز را محدود کرده باشد!

-P|--machine-pass

از گذرواژهٔ ذخیره‌شدهٔ حساب ماشین استفاده می‌کند.

--simple-bind-dn=DN

مقدار DN مورد استفاده برای یک اتصال ساده (simple bind).

--use-kerberos=desired|required|off

این پارامتر مشخص می‌کند که آیا ابزارهای کلاینت Samba برای احراز هویت با استفاده از Kerberos تلاش خواهند کرد یا خیر. برای احراز هویت با کربروس هنگام اتصال به یک سرویس، باید به‌جای نشانی‌های IP از نام‌های DNS استفاده کنید. به‌طور پیش‌فرض، ابزارهای کلاینت Samba تلاش می‌کنند از حافظهٔ نهان اعتبارسنجی (ccache) پیش‌فرض Kerberos استفاده کنند. در صورتی که ccache وجود نداشته باشد یا گزینهٔ -U|--user مشخص شده باشد، کلاینت‌ها درخواست ورود گذرواژه کرده و یک بلیت کربروس (kinit) برای شما دریافت می‌کنند. اگر می‌خواهید از یک حافظهٔ نهان اعتبارسنجیِ جایگزین برای کربروس استفاده کنید، گزینهٔ --use-krb5-ccache را به کار ببرید.

توجه داشته باشید که تعیین این پارامتر در اینجا، پارامتر client use kerberos در فایل /etc/samba/smb.conf را بازنویسی خواهد کرد.

--use-krb5-ccache=CCACHE

مکان حافظهٔ نهان اطلاعات اعتباری را برای احراز هویت Kerberos مشخص می‌کند.

این گزینه --use-kerberos=required را اعمال خواهد کرد.

--use-winbind-ccache

تلاش برای استفاده از حافظهٔ نهان اعتبارسنجی ارائه‌شده توسط winbind.

--client-protection=sign|encrypt|off

حفاظت اتصالی را که ابزار کلاینت باید استفاده کند، تعیین می‌کند.

توجه داشته باشید که تعیین این پارامتر در اینجا، پارامتر client protection در فایل /etc/samba/smb.conf را بازنویسی خواهد کرد.

در صورتی که به کنترل دقیق‌تری نیاز دارید می‌توانید از موارد زیر استفاده کنید: --option=clientsmbencrypt=OPTION, --option=clientipcsigning=OPTION, --option=clientsigning=OPTION.

lsaquery

پرس‌وجوی خط‌مشی اطلاعات (info policy)

lookupsids

تبدیل SIDها به نام‌ها

lookupsids3

تبدیل SIDها به نام‌ها

lookupsids_level

تبدیل SIDها به نام‌ها

lookupnames

تبدیل نام‌ها به SIDها

lookupnames4

تبدیل نام‌ها به SIDها

lookupnames_level

تبدیل نام‌ها به SIDها

enumtrust

شمارش دامنه‌های مورد اعتماد

enumprivs

شمارش امتیازها (Privileges)

getdispname

دریافت نام نمایشی امتیاز

lsaenumsid

شمارش SIDهای LSA

lsacreateaccount

ایجاد یک حساب LSA جدید

lsaenumprivsaccount

شمارش امتیازهای یک SID

lsaenumacctrights

شمارش حقوق و اختیارات (Rights) یک SID

lsaaddpriv

اختصاص یک امتیاز به یک SID

lsadelpriv

سلب یک امتیاز از یک SID

lsaaddacctrights

افزودن اختیارات به یک حساب

lsaremoveacctrights

حذف اختیارات از یک حساب

lsalookupprivvalue

دریافت مقدار یک امتیاز با داشتن نام آن

lsaquerysecobj

پرس‌وجوی شیء امنیتی LSA

lsaquerytrustdominfo

پرس‌وجوی اطلاعات دامنه‌های مورد اعتماد LSA (با داشتن SID)

lsaquerytrustdominfobyname

پرس‌وجوی اطلاعات دامنه‌های مورد اعتماد LSA (با داشتن نام)، تنها برای نسخه‌های بعد از Windows 2k کار می‌کند

lsaquerytrustdominfobysid

پرس‌وجوی اطلاعات دامنه‌های مورد اعتماد LSA (با داشتن SID)

lsasettrustdominfo

تنظیم اطلاعات دامنه مورد اعتماد LSA

getusername

دریافت نام کاربری

createsecret

ایجاد داده محرمانه (Secret)

deletesecret

حذف داده محرمانه (Secret)

querysecret

پرس‌وجوی داده محرمانه (Secret)

setsecret

تنظیم داده محرمانه (Secret)

retrieveprivatedata

بازیابی داده‌های خصوصی (Private Data)

storeprivatedata

ذخیره داده‌های خصوصی (Private Data)

createtrustdom

ایجاد دامنه مورد اعتماد

deletetrustdom

حذف دامنه مورد اعتماد

dsroledominfo

دریافت اطلاعات دامنه اصلی

dfsversion

استعلام پشتیبانی از DFS

dfsadd

افزودن یک اشتراک DFS

dfsremove

حذف یک اشتراک DFS

dfsgetinfo

استعلام اطلاعات اشتراک DFS

dfsenum

فهرست کردن اشتراک‌های DFS

dfsenumex

فهرست کردن اشتراک‌های DFS

shutdowninit

ساختار: shutdown [-m message]

shutdownabort

ساختار: shutdownabort

srvinfo

استعلام اطلاعات سرور

netshareenum

فهرست کردن اشتراک‌ها

netshareenumall

فهرست کردن تمام اشتراک‌ها

netsharegetinfo

دریافت اطلاعات اشتراک

netsharesetinfo

تنظیم اطلاعات اشتراک

netsharesetdfsflags

تنظیم پرچم‌های DFS

netfileenum

فهرست کردن فایل‌های باز

netremotetod

واکشی زمان روز راه دور

netnamevalidate

اعتبارسنجی نام اشتراک

netfilegetsec

دریافت امنیت فایل

netsessdel

حذف نشست

netsessenum

فهرست کردن نشست‌ها

netdiskenum

فهرست کردن دیسک‌ها

netconnenum

فهرست کردن اتصال‌ها

netshareadd

افزودن اشتراک

netsharedel

حذف اشتراک

queryuser

استعلام اطلاعات کاربر

querygroup

استعلام اطلاعات گروه

queryusergroups

استعلام گروه‌های کاربر

queryuseraliases

استعلام نام‌های مستعار کاربر

querygroupmem

استعلام عضویت گروه

queryaliasmem

استعلام عضویت نام مستعار

queryaliasinfo

استعلام اطلاعات نام مستعار

deletealias

حذف یک نام مستعار

querydispinfo

استعلام اطلاعات نمایشی

querydispinfo2

استعلام اطلاعات نمایشی

querydispinfo3

استعلام اطلاعات نمایشی

querydominfo

استعلام اطلاعات دامنه

enumdomusers

شمارش کاربران دامنه

enumdomgroups

شمارش گروه‌های دامنه

enumalsgroups

شمارش گروه‌های نام مستعار

enumdomains

شمارش دامنه‌ها

createdomuser

ایجاد کاربر دامنه

createdomgroup

ایجاد گروه دامنه

createdomalias

ایجاد نام مستعار دامنه

samlookupnames

جستجوی نام‌ها

samlookuprids

جستجوی نام‌ها

deletedomgroup

حذف گروه دامنه

deletedomuser

حذف کاربر دامنه

samquerysecobj

استعلام شیء امنیتی SAMR

getdompwinfo

دریافت اطلاعات گذرواژه دامنه

getusrdompwinfo

دریافت اطلاعات گذرواژه دامنه کاربر

lookupdomain

جستجوی نام دامنه

chgpasswd

تغییر گذرواژه کاربر

chgpasswd2

تغییر گذرواژه کاربر

chgpasswd3

تغییر گذرواژه کاربر (رمزنگاری‌شده با RC4)

chgpasswd4

تغییر گذرواژه کاربر (رمزنگاری‌شده با AES)

getdispinfoidx

دریافت نمایه اطلاعات نمایشی

setuserinfo

تنظیم اطلاعات کاربر

setuserinfo2

تنظیم اطلاعات کاربر ۲

adddriver <arch> <config> [<version>]

برای نصب اطلاعات درایور چاپگر روی سرور، یک فراخوانی RPC با عنوان AddPrinterDriver() را اجرا می‌کند. توجه داشته باشید که فایل‌های درایور باید از قبل در دایرکتوری بازگردانده شده توسط getdriverdir وجود داشته باشند. مقادیر ممکن برای arch مشابه مقادیر دستور getdriverdir هستند. پارامتر config به صورت زیر تعریف می‌شود:
Long Driver Name:\
Driver File Name:\
Data File Name:\
Config File Name:\
Help File Name:\
Language Monitor Name:\
Default Data Type:\
Comma Separated list of Files

هر فیلد خالی باید به صورت رشته "NULL" وارد شود.

سامبا (Samba) نیازی به پشتیبانی از مفهوم Print Monitor ندارد، زیرا این موارد تنها برای چاپگرهای محلی کاربرد دارند که درایور آن‌ها می‌تواند از یک پیوند دوطرفه برای برقراری ارتباط استفاده کند. این فیلد باید "NULL" باشد. روی یک سرور چاپ راه‌دور NT، پایشگر چاپ (Print Monitor) یک درایور باید پیش از افزودن درایور نصب شده باشد، در غیر این صورت RPC با شکست مواجه خواهد شد.

پارامتر version به شما امکان می‌دهد شماره نسخه درایور چاپگر را مشخص کنید. در صورت حذف شدن، نسخه پیش‌فرض درایور برای معماری مشخص‌شده استفاده خواهد شد. از این گزینه می‌توان برای بارگذاری درایورهای چاپگر Windows 2000 (نسخه ۳) استفاده کرد.

addprinter <printername> <sharename> <drivername> <port>

یک چاپگر روی سرور راه‌دور اضافه می‌کند. این چاپگر به طور خودکار به اشتراک گذاشته خواهد شد. توجه داشته باشید که درایور چاپگر باید از قبل روی سرور نصب شده باشد (دستور adddriver را ببینید) و port باید نام یک درگاه معتبر باشد (دستور enumports را ببینید).

deldriver <driver>

درایور چاپگر مشخص‌شده را برای تمام معماری‌ها حذف می‌کند. این دستور فایل‌های واقعی درایور را از سرور حذف نمی‌کند، بلکه تنها مدخل مربوطه را از فهرست درایورهای سرور پاک می‌نماید.

deldriverex <driver> [architecture] [version] [flags]

درایور چاپگر مشخص‌شده و به صورت اختیاری فایل‌های مرتبط با آن را حذف می‌کند. می‌توانید این عملیات را به یک معماری و نسخه خاص محدود کنید. اگر هیچ معماری‌ای مشخص نشود، تمام فایل‌های مربوط به آن درایور حذف خواهند شد. flags با مقادیر عددی *DPD_ مطابقت دارد؛ به عنوان مثال مقدار ۳ بیانگر (DPD_DELETE_UNUSED_FILES | DPD_DELETE_SPECIFIC_VERSION) است.

enumdata

تمام داده‌های تنظیمات چاپگر ذخیره‌شده در سرور را شمارش می‌کند. در کلاینت‌های Windows NT این مقادیر در رجیستری ذخیره می‌شوند، در حالی که سرورهای Samba آن‌ها را در TDB چاپگرها ذخیره می‌کنند. این دستور معادل تابع GetPrinterData() در MS Platform SDK است (* این دستور در حال حاضر پیاده‌سازی نشده است).

enumdataex

شمارش داده‌های چاپگر برای یک کلید (key).

enumkey

شمارش کلیدهای چاپگر.

enumjobs <printer>

کارها و وضعیت یک چاپگر مشخص را فهرست می‌کند. این دستور معادل تابع EnumJobs() در MS Platform SDK است.

getjob

دریافت کار چاپ.

setjob

تنظیم کار چاپ.

enumports [level]

یک فراخوانی EnumPorts() را با استفاده از سطح اطلاعاتی (info level) مشخص‌شده اجرا می‌کند. در حال حاضر تنها سطوح اطلاعاتی ۱ و ۲ پشتیبانی می‌شوند.

enumdrivers [level]

یک فراخوانی EnumPrinterDrivers() را اجرا می‌کند. این دستور درایورهای مختلف نصب‌شده چاپگر را برای تمام معماری‌ها فهرست می‌کند. برای جزئیات بیشتر درباره پرچم‌ها و گزینه‌های مختلف فراخوانی، به مستندات MS Platform SDK مراجعه کنید. در حال حاضر سطوح اطلاعاتی ۱، ۲ و ۳ پشتیبانی می‌شوند.

enumprinters [level]

یک فراخوانی EnumPrinters() را اجرا می‌کند. این دستور چاپگرهای مختلف نصب‌شده و به اشتراک‌گذاشته‌شده را فهرست می‌کند. برای جزئیات بیشتر درباره پرچم‌ها و گزینه‌های فراخوانی، به مستندات MS Platform SDK مراجعه کنید. در حال حاضر سطوح اطلاعاتی ۱، ۲ و ۵ پشتیبانی می‌شوند.

getdata <printername> <valuename;>

داده‌های مربوط به یک تنظیم مشخص از چاپگر را بازیابی می‌کند. برای اطلاعات بیشتر دستور enumdata را ببینید. این دستور معادل تابع GetPrinterData() در MS Platform SDK است.

getdataex

دریافت داده‌های درایور چاپگر بر اساس نام کلید (keyname).

getdriver <printername>

اطلاعات درایور چاپگر (مانند فایل درایور، فایل پیکربندی، فایل‌های وابسته و غیره) را برای چاپگر مشخص‌شده دریافت می‌کند. این دستور معادل تابع GetPrinterDriver() در MS Platform SDK است. در حال حاضر سطوح اطلاعاتی ۱، ۲ و ۳ پشتیبانی می‌شوند.

getdriverdir <arch>

یک فراخوانی GetPrinterDriverDirectory() RPC را برای دریافت نام اشتراک SMB و زیردایرکتوری مربوط به ذخیره‌سازی فایل‌های درایور چاپگر برای یک معماری خاص اجرا می‌کند. مقادیر ممکن برای arch عبارتند از "Windows 4.0" (برای Windows 95/98)، "Windows NT x86"، "Windows NT PowerPC"، "Windows Alpha_AXP"، و "Windows NT R4000".

getdriverpackagepath

دریافت دایرکتوری بارگیری بسته درایور چاپگر.

getprinter <printername>

اطلاعات فعلی چاپگر را بازیابی می‌کند. این دستور معادل تابع GetPrinter() در MS Platform SDK است.

openprinter <printername>

فراخوانی‌های OpenPrinterEx() و ClosePrinter() RPC را روی یک چاپگر مشخص اجرا می‌کند.

openprinter_ex <printername>

باز کردن دستگیره (handle) چاپگر.

setdriver <printername> <drivername>

برای به‌روزرسانی درایور چاپگر مرتبط با یک چاپگر نصب‌شده، دستور SetPrinter() را اجرا می‌کند. درایور چاپگر باید از قبل به درستی روی سرور چاپ نصب شده باشد.

همچنین برای دریافت فهرستی از چاپگرها و درایورهای نصب‌شده، دستورهای enumprinters و enumdrivers را ببینید.

getprintprocdir

دریافت دایرکتوری پردازشگر چاپ (print processor).

addform

افزودن فرم.

setform

تنظیم فرم.

getform

دریافت فرم.

deleteform

حذف فرم. enumforms
فهرست کردن فرم‌ها

setprinter

تنظیم توضیح چاپگر

setprinterdata

تنظیم داده‌های REG_SZ چاپگر

setprintername <printername> <newprintername>

تنظیم نام چاپگر

rffpcnex

آزمون Rffpcnex

printercmp

آزمون مقایسه چاپگر

enumprocs

فهرست کردن پردازنده‌های چاپ

enumprocdatatypes

فهرست کردن انواع داده‌های پردازنده چاپ

enummonitors

فهرست کردن پایشگرهای چاپ

createprinteric

ایجاد Printer IC

playgdiscriptonprinteric

ایجاد Printer IC

getcoreprinterdrivers

دریافت CorePrinterDriver

enumpermachineconnections

فهرست کردن اتصالات به ازای هر ماشین

addpermachineconnection

افزودن اتصال به ازای هر ماشین

delpermachineconnection

حذف اتصال به ازای هر ماشین

logonctrl2

کنترل ورود ۲

getanydcname

دریافت نام DC مورد اعتماد

getdcname

دریافت نام PDC مورد اعتماد

dsr_getdcname

دریافت نام DC مورد اعتماد

dsr_getdcnameex

دریافت نام DC مورد اعتماد

dsr_getdcnameex2

دریافت نام DC مورد اعتماد

dsr_getsitename

دریافت sitename

dsr_getforesttrustinfo

دریافت اطلاعات اعتماد جنگل

logonctrl

کنترل ورود

samlogon

ورود Sam

change_trust_pw

تغییر گذرواژه حساب اعتماد

gettrustrid

دریافت rid مورد اعتماد

dsr_enumtrustdom

فهرست کردن دامنه‌های مورد اعتماد

dsenumdomtrusts

فهرست کردن تمام دامنه‌های مورد اعتماد در یک جنگل AD

deregisterdnsrecords

لغو ثبت رکوردهای DNS

netrenumtrusteddomains

فهرست کردن دامنه‌های مورد اعتماد

netrenumtrusteddomainsex

فهرست کردن دامنه‌های مورد اعتماد

getdcsitecoverage

دریافت Site-Coverage از یک DC

capabilities

بازگرداندن قابلیت‌ها

logongetdomaininfo

بازگرداندن LogonGetDomainInfo

fss_is_path_sup

بررسی اینکه آیا یک اشتراک از shadow-copy پشتیبانی می‌کند یا خیر

fss_get_sup_version

دریافت نسخهٔ پشتیبانی‌شدهٔ FSRVP از سرور

fss_create_expose

درخواست ایجاد و در دسترس قرار دادن shadow-copy

fss_delete

درخواست حذف اشتراک shadow-copy

fss_has_shadow_copy

بررسی وجود یک shadow-copy مرتبط با اشتراک

fss_get_mapping

دریافت اطلاعات نگاشت اشتراک shadow-copy

fss_recovery_complete

علامت‌گذاری اسنپ‌شات خواندن-نوشتن به عنوان بازیابی کامل‌شده

clusapi_open_cluster

باز کردن کلاستر

clusapi_get_cluster_name

دریافت نام کلاستر

clusapi_get_cluster_version

دریافت نسخهٔ کلاستر

clusapi_get_quorum_resource

دریافت منبع حد نصاب (quorum)

clusapi_create_enum

ایجاد پرس‌وجوی شمارشی (enum)

clusapi_create_enumex

ایجاد پرس‌وجوی enumex

clusapi_open_resource

باز کردن منبع کلاستر

clusapi_online_resource

برخط کردن منبع کلاستر

clusapi_offline_resource

برون‌خط کردن منبع کلاستر

clusapi_get_resource_state

دریافت وضعیت منبع کلاستر

clusapi_get_cluster_version2

دریافت نسخهٔ ۲ کلاستر

clusapi_pause_node

متوقف کردن موقت گره کلاستر

clusapi_resume_node

از سرگیری فعالیت گره کلاستر

dscracknames

تبدیل نام (Crack Name)

dsgetdcinfo

دریافت اطلاعات کنترل‌کننده دامنه

dsgetncchanges

دریافت تغییرات NC

dswriteaccountspn

نوشتن SPN حساب کاربری

echoaddone

افزودن یک واحد به یک عدد

echodata

بازتاب داده (Echo)

sinkdata

دریافت و مصرف داده (Sink)

sourcedata

ارسال و تأمین داده (Source)

epmmap

نگاشت یک اتصال (Binding)

epmlookup

جستجوی اتصالات (Bindings)

eventlog_readlog

خواندن گزارش رویدادها (Eventlog)

eventlog_numrecord

دریافت تعداد رکوردها

eventlog_oldestrecord

دریافت قدیمی‌ترین رکورد

eventlog_reportevent

گزارش رویداد

eventlog_reporteventsource

گزارش رویداد و منبع

eventlog_registerevsource

ثبت منبع رویداد

eventlog_backuplog

پشتیبان‌گیری از فایل گزارش رویدادها

eventlog_loginfo

دریافت اطلاعات گزارش رویدادها

winspool_AsyncOpenPrinter

باز کردن هندل چاپگر

winspool_AsyncCorePrinterDriverInstalled

پرس‌وجوی وضعیت نصب درایور اصلی چاپگر (Core Printer Driver)

ntsvcs_getversion

پرس‌وجوی نسخه NTSVCS

ntsvcs_validatedevinst

پرس‌وجوی نمونه دستگاه NTSVCS

ntsvcs_hwprofflags

پرس‌وجوی پرچم‌های پروفایل سخت‌افزاری NTSVCS

ntsvcs_hwprofinfo

پرس‌وجوی اطلاعات پروفایل سخت‌افزاری NTSVCS

ntsvcs_getdevregprop

پرس‌وجوی مشخصه رجیستری دستگاه NTSVCS

ntsvcs_getdevlistsize

پرس‌وجوی اندازه فهرست دستگاه‌های NTSVCS

ntsvcs_getdevlist

پرس‌وجوی فهرست دستگاه‌های NTSVCS

fetch_properties

واکشی ویژگی‌های اتصال

fetch_attributes

واکشی مشخصه‌ها برای یک CNID

winreg_enumkey

شمارش کلیدها

querymultiplevalues

پرس‌وجوی چندین مقدار

querymultiplevalues2

پرس‌وجوی چندین مقدار

GetInterfaceList

فهرست کردن رابط‌هایی که اتصال کلاینت witness به آن‌ها امکان‌پذیر است

Register

ثبت برای دریافت اعلان‌های تغییر وضعیت منبع یک NetName و IPAddress

UnRegister

لغو ثبت دریافت اعلان‌ها از سرور

AsyncNotify

درخواست اعلان تغییرات منابع ثبت‌شده از سرور

RegisterEx

ثبت برای دریافت اعلان‌های تغییر وضعیت منبع برای یک NetName، ShareName و چندین IPAddress

wkssvc_wkstagetinfo

پرس‌وجوی اطلاعات ایستگاه کاری WKSSVC

wkssvc_getjoininformation

پرس‌وجوی اطلاعات الحاق (Join) در WKSSVC

wkssvc_messagebuffersend

ارسال پیام WKSSVC

wkssvc_enumeratecomputernames

شمارش نام‌های رایانه‌های WKSSVC

wkssvc_enumerateusers

شمارش کاربران WKSSVC

help

دریافت راهنما دربارهٔ دستورها

?

دریافت راهنما دربارهٔ دستورها

debuglevel

تنظیم سطح اشکال‌زدایی

debug

تنظیم سطح اشکال‌زدایی

list

فهرست کردن دستورهای موجود روی لوله (pipe)

exit

خروج از برنامه

quit

خروج از برنامه

sign

اجبار اتصالات لولهٔ RPC به امضا شدن

seal

اجبار اتصالات لولهٔ RPC به مهروموم شدن (رمزگذاری)

packet

اجبار اتصالات لولهٔ RPC با سطح احراز هویت بسته (packet)

schannel

اجبار اتصالات لولهٔ RPC به مهروموم شدن با 'schannel'. اجبار اتصالات لولهٔ RPC به مهروموم شدن با 'schannel'. فرض را بر وجود یک حساب ماشین معتبر در این کنترل‌کنندهٔ دامنه قرار می‌دهد.

schannelsign

اجبار اتصالات لولهٔ RPC به امضا شدن (نه مهروموم شدن) با 'schannel'. فرض را بر وجود یک حساب ماشین معتبر در این کنترل‌کنندهٔ دامنه قرار می‌دهد.

timeout

تنظیم مهلت زمانی (به میلی‌ثانیه) برای عملیات‌های RPC

transport

انتخاب روش ترابری ncacn برای عملیات‌های RPC

none

اجبار اتصالات لولهٔ RPC به نداشتن هیچ ویژگی خاصی

rpcclient به‌عنوان ابزاری برای آزمایش توسعه‌دهندگان طراحی شده است و ممکن است در برخی بخش‌ها (مانند تجزیه خط فرمان) پایداری کافی نداشته باشد. مشاهده شده است که در هنگام خرابی‌ها، در صورت ارسال پارامترهای نامعتبر به مفسر، اقدام به تولید core dump می‌کند.

از صفحه راهنمای اصلی rpcclient نوشته Luke Leighton:

هشدار! کد MSRPC over SMB بر اساس بررسی و تحلیل ردگیری‌های شبکه توسعه یافته است. هیچ مستنداتی از سوی سازندگان اصلی (Microsoft) درباره نحوه کارکرد MSRPC over SMB یا چگونگی عملکرد هر یک از سرویس‌های منفرد MSRPC در دسترس نیست. همچنین ثابت (و گزارش) شده است که پیاده‌سازی Microsoft از این سرویس‌ها در پاره‌ای موارد... تا حدی متزلزل و ناپایدار است.

توسعه پیاده‌سازی Samba نیز تا حدی ناهموار است و با درک بیشتر هر یک از سرویس‌ها، این امر حتی ممکن است به تولید نسخه‌هایی از smbd(8) و rpcclient(1) بیانجامد که برای برخی دستورها یا سرویس‌ها ناسازگار باشند. علاوه بر این، توسعه‌دهندگان گزارش‌هایی را به Microsoft ارسال می‌کنند، و مشکلات یافته‌شده یا گزارش‌شده به Microsoft در Service Packها اصلاح می‌شوند که این امر ممکن است موجب ناسازگاری‌های جدیدی شود.

این صفحه راهنما بخشی از نسخه 4.24.6 مجموعه نرم‌افزاری Samba است.

نرم‌افزار اصلی Samba و ابزارهای مرتبط با آن توسط Andrew Tridgell ساخته شده‌اند. Samba اکنون توسط Samba Team به‌صورت یک پروژه متن‌باز، مشابه شیوه توسعه هسته Linux، توسعه داده می‌شود.

صفحه راهنمای اصلی rpcclient توسط Matthew Geddes و Luke Kenneth Casson Leighton نوشته شده، و توسط Gerald Carter بازنویسی شده است. تبدیل به DocBook برای Samba 2.2 توسط Gerald Carter انجام شد. تبدیل به DocBook XML 4.2 برای Samba 3.0 توسط Alexander Bokovoy صورت گرفت.

08/16/2026 Samba 4.24.6