خانه - سرویس
نحوه اجرای یک برنامه از راه دور اجرای دستورات کنسول در رایانه های راه دور از طریق شبکه

PsExec - ابزاری برای اجرای دستورات از راه دور

اجرای دستورات در یک کامپیوتر راه دور یک کار نسبتاً رایج است. این ممکن است برای تغییر تنظیمات سیستم، نصب یا حذف برنامه ها و موارد دیگر ضروری باشد. ابزارهای مختلفی برای حل چنین مشکلاتی وجود دارد که از موارد جدی شروع می شود سیستم های نرم افزاریمانند System Center Configuration Manager و پایان دادن به ابزارهای متوسط خط فرمان. یکی از این ابزارها در این مقاله مورد بحث قرار خواهد گرفت.

ابزار PsExec بخشی از بسته PsTools از Sysinternals است. به شما اجازه می دهد تا دستورات را اجرا کنید کامپیوترهای راه دورو نیازی به نصب در سیستم ندارد. برای استفاده از ابزار، به سادگی آن را در پوشه ای با فایل های اجرایی (به عنوان مثال، C:\Windows\system32) کپی کنید و آن را از هر پوسته خط فرمان اجرا کنید: Cmd یا PowerShell.
اصل عملکرد برنامه به شرح زیر است: در منابع فایل اجرایی PsExec.exe یک فایل اجرایی دیگر وجود دارد - PSEXESVC که یک سرویس ویندوز است. قبل از اجرای دستور، PsExec این منبع را در پوشه مدیریتی مخفی Admin$ (C:\Windows) در فایل C:\Windows\system32\psexesvc.exe باز می‌کند.

توجه داشته باشید.اگر از کلید استفاده می کنید به برنامه نشان دهید که لازم است فایل های اجرایی را در این سیستم کپی کنید، آنها نیز در این پوشه کپی می شوند.

پس از تکمیل کپی، PsExec با استفاده از API سرویس را نصب و راه اندازی می کند ویژگی های ویندوزبرای مدیریت خدمات سپس پس از راه اندازی PSEXESVC، ارتباطی بین آن و PsExec برای انتقال داده (وارد کردن دستورات و دریافت نتایج) برقرار می شود. پس از تکمیل، PsExec سرویس را متوقف می کند و آن را از رایانه مورد نظر حذف می کند.

سینتکس PsExec به شرح زیر است:

psexec \\computer [-u user [-p password]] برنامه [Arguments]

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

به عنوان مثال، بیایید کش dns را در رایانه راه دور SRV1 پاک کنیم:

psexec\\SRV1 ipconfig /flushdns

این فرمان با استفاده از اطلاعات کاربری شما در رایانه SRV1 اجرا می شود. پس از تکمیل ipconfig، تمام متن خروجی به کامپیوتر شما ارسال می شود و علاوه بر آن، کد اجرای دستور (کد خطا) برگردانده می شود. اگر دستور با موفقیت اجرا شود، برابر با 0 خواهد بود.

اگر نیاز به اجرای چندین دستور دارید، بهتر است یک جلسه تعاملی با رایانه راه دور برقرار کنید. برای این کار دستور را وارد کنید psexec\\SRV1 cmd. اکنون دستورات وارد شده در رایانه محلی در رایانه راه دور SRV1 اجرا می شود.


PsExec به شما این امکان را می دهد که یک فرمان را روی چندین کامپیوتر به طور همزمان اجرا کنید. برای انجام این کار، می توانید نام کامپیوتر را که با کاما از هم جدا شده اند وارد کنید: psexec\\SRV1، SRV2یا آنها را در یک فایل متنی ذخیره کنید و سپس آدرس آن را مشخص کنید: psexec @c:\comp.txt. اگر به جای نام رایانه، یک ستاره قرار دهید، به این صورت: psexec\\*، سپس دستور بر روی تمام رایانه های موجود در دامنه اجرا می شود.


و یکی دیگر راه جالببا استفاده از ابزار PsExec اگر نام رایانه را مشخص نکنید، این فرمان به طور پیش فرض در سیستم محلی اجرا می شود. با استفاده از کلید -sمی توانید برنامه ها را تحت حساب سیستم اجرا کنید. به عنوان مثال، اجازه دهید یک جلسه خط فرمان را شروع کنیم: psexec -s cmdو سپس با دستور من کی هستمبیایید بررسی کنیم که در حال حاضر تحت کدام کاربری کار می کنیم. این ویژگی می تواند برای اشکال زدایی برنامه ها یا دسترسی به کلیدهای مخفی رجیستری SAM و SECURITY مفید باشد.


خوب، چند کلمه در مورد کلیدهای برنامه. من همه چیز را توصیف نمی کنم، اما در مورد جالب ترین آنها به شما می گویم:

برنامه مشخص شده برای اجرا در سیستم راه دور کپی می شود. مثلا:

psexec \\SRV1 -c test.exe

اگر این پارامتر مشخص نشده باشد، برنامه باید در پوشه سیستم کامپیوتر راه دور قرار گیرد. اگر چنین برنامه ای از قبل در رایانه راه دور وجود داشته باشد و در دایرکتوری سیستم قرار نداشته باشد، باید مسیر کامل آن را مشخص کنید (اگر نام برنامه حاوی فاصله باشد، باید در نقل قول قرار گیرد):

psexec \\SRV1 "c:\program files\test.exe"

اگر همراه با کلید از کلید استفاده کنید سپس حتی اگر برنامه از قبل روی سیستم راه دور باشد، بازنویسی خواهد شد. و با یک کلید -vفقط در صورتی رونویسی می شود که نسخه کپی شده برنامه جدیدتر از نسخه نصب شده روی سیستم باشد.

این برنامه در حالت تعاملی کار می کند. به طور پیش فرض، PsExec دستورات را در حالت مخفی اجرا می کند، یعنی هیچ پنجره یا دیالوگی در سیستمی که دستور در آن اجرا می شود نمایش داده نمی شود. با این حال، امکان تغییر این با استفاده از کلید وجود دارد -من. بعد از آن، می توانید تعداد جلسه ای که در آن پنجره ها نمایش داده می شود را مشخص کنید، یا نمی توانید آن را مشخص کنید، سپس رابط در جلسه کنسول نمایش داده می شود.

نشان می دهد که نیازی به صبر کردن برای تکمیل برنامه نیست. در این حالت، ما داده های خروجی را از ابزار کنسول دریافت نخواهیم کرد، اما می توانیم موارد بعدی را بدون انتظار برای تکمیل دستور قبلی راه اندازی کنیم. این گزینه فقط باید هنگام اجرای برنامه های غیر تعاملی استفاده شود.

برای اجرای برنامه در حالت استفاده می شود. ممکن است مورد نیاز باشد سیستم های عامل ویندوز ویستاو بالاتر برای اجرای برخی از برنامه هایی که تغییراتی در تنظیمات سیستم ایجاد می کنند (مثلا regedit).

و با کمک این کلید، برعکس، می توانید قدرت ها را کاهش دهید. هنگامی که یک فرآیند شروع می شود، کاربر بدون در نظر گرفتن عضویتش در گروه مدیران، در اختیار کاربر قرار می گیرد حقوق محدود(حقوق گروه Administrators لغو شده و تنها حقوقی که به گروه کاربران اختصاص داده شده است به کاربر اعطا می شود).

پر شده اطلاعات پس زمینهبا وارد کردن این دستور می توانید اطلاعاتی در مورد تمام کلیدهای برنامه به دست آورید psexecدر خط فرمان بدون پارامتر

در این مقاله نحوه اجرا بحث می شود دستورات کنسولدر رایانه های راه دور در شبکه، چند مثال بسیار مفید برای آنها آورده شده است مدیران سیستمتیم ها

من از 2 ابزار برای اجرای از راه دور دستورات کنسول استفاده می کنم: PsExec و WinRM، هر کدام از آنها مزایای خاص خود را دارند.

PsExec

یکی از راه حل های عالی برای مشکل مطرح شده در عنوان، استفاده از برنامه PsExec از مارک روسینویچ بزرگ است.

این برنامه بر اساس یک اصل کلاینت-سرور کار می کند: یک کلاینت بر روی ماشین محلی اجرا می شود، که دستورات را به یک سرور روی یک کامپیوتر راه دور ارسال می کند. ویژگی خاص این برنامه این است که قسمت سرور بلافاصله قبل از اجرای دستور به صورت خودکار نصب می شود و سپس حذف می شود. بنابراین، برای اجرای دستورات در ماشین های راه دور، داشتن حقوق مدیریتی برای آنها کافی است.

اگر PsExec به عنوان مدیری اجرا می شود که بخشی از همان دامنه رایانه راه دور است، دیگر نیازی به وارد کردن هیچ اعتباری نیست. در غیر این صورت، می توانید آنها را در خط فرمان مشخص کنید، یا PsExec از شما درخواست می کند. PsExec بر روی سیستم عامل هایی از ویندوز 2000 تا 64 بیتی ویندوز سرور 2008 R2 اجرا می شود.

ویژگی های زیر در PsExec بسیار مفید هستند:

  • اجرای دستور بر روی گروهی از کامپیوترها. مثال: فرمان زیر جدیدترین را اعمال می کند سیاست های گروه:
    psexec @group.txt gpupdate /force
  • اجرای دستورات به عنوان حساب سیستم. مثال: دستور زیر سیستم راه دور را مجبور می‌کند تا به‌روزرسانی‌ها را بررسی کند:
    psexec \\computer -s wuauclt /detectnow
  • کپی کردن یک برنامه در حال اجرا بر روی یک کامپیوتر راه دور قبل از اجرای آن. مثال: دستور زیر عضویت شما را به روز می کند از این کامپیوتردر گروه امنیتی اکتیو دایرکتوری(توکن دسترسی) بدون راه اندازی مجدد:
    psexec \\computer -c -s klist.exe پاکسازی

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

مدیریت از راه دور ویندوز

در ابتدا این یک فناوری سرور بود کنترل از راه دورسخت افزاری که در ویندوز سرور 2003 R2 به عنوان بخشی از ویژگی مدیریت سخت افزار معرفی شد، اما مایکروسافت اخیرا آن را منتشر کرده است. بسته ویندوزچارچوب مدیریتی که شامل PowerShell 2.0 و WinRM 2.0 است و به عنوان یک به روز رسانی روی سیستم عامل های مشتری نصب می شود. جزئیات را می توان در مقاله KB968929 یافت.

زیبایی WinRM سهولت استقرار در یک محیط دامنه از طریق WSUS به عنوان یک ارتقاء سیستم عامل اختیاری و قدرتی است که هنگام استفاده همراه با PowerShell فراهم می کند.

استفاده از WinRM از طریق 2 دستور انجام می شود.

winrm.cmdبرای پیکربندی تنظیمات و تشخیص سرویس گیرنده و سرور WinRM عمل می کند.

برای اینکه سرور WinRM شروع به پذیرش دستورات کند، سرویس ویندوزمدیریت از راه دور و پیکربندی اولیه آن تکمیل شده است. از دستور استفاده کنید

winrm quickconfig در ماشین محلی یا یک ترفند با گوش شما
psexec -s \\servername winrm quickconfig در شبکه با استفاده از PsExec به عنوان حساب سیستم.

از شما خواسته می شود که به طور خودکار سرویس WinRM را راه اندازی کنید و به اتصالات راه دور اجازه دهید، موافقت کنید؛)

برای اتصال موفقیت آمیز به سرور WinRM (به معنای بخشی از سرور است که دستورات را دریافت می کند) که بخشی از همان دامنه رایانه مشتری شما نیست، باید این سرور مورد نظر را با دستور زیر به "فهرست مورد اعتماد" در مشتری اضافه کنید:

تنظیم winrm winrm/config/client @(TrustedHosts="servername") ، که در آن به جای نام سرور می توانید یک آدرس IP یا * (ستاره) را مشخص کنید.

برای کاربران ویندوزویستا و ویندوز 7 که به عنوان مدیر داخلی اجرا نمی شوند (معمولاً اینگونه است) باید دستور زیر را اجرا کنید

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

به طور پیش فرض، محدودیت 5 اتصال همزمان WinRM از مشتری وجود دارد، برای افزایش این تعداد، دستور را اجرا کنید.

winrm s winrm/config/winrs @(MaxShellsPerUser="X")

winrs.exe- یک کلاینت برای ارسال درخواست به قسمت سرور. مثال: دستور زیر سیستم ریموت را مجبور به راه اندازی مجدد می کند...

winrs -r:خاموش نام سرور /r/t 0

در یک محیط دامنه، اعتبار کاربر در حال اجرا هنگام ارسال دستورات استفاده می شود. برای ارسال دستورات از طرف یک کاربر دیگر، از سوئیچ -u:user -p:pass استفاده کنید. مثال: دستور زیر کش نام محلی DNS را در سیستم راه دور پاک می کند

winrs -r:servername -u:user -p:pass ipconfig /flushdns

ابزارهایی مانند Telnet و برنامه های مدیریت از راه دور مانند Symantec's PC Anywhere به شما امکان می دهند برنامه ها را بر روی سیستم های راه دور اجرا کنید، اما نصب آنها آسان نیست زیرا شما همچنین نیاز به نصب یک کلاینت دارید. نرم افزاردر آن دسته از سیستم های راه دور که نیاز به دسترسی دارند. PsExec یک نسخه سبک وزن از Telnet است. این امکان را به شما می دهد تا با استفاده از تمام قابلیت های تعاملی برنامه های کنسول، بدون نیاز به نصب دستی نرم افزار مشتری، فرآیندها را بر روی سیستم های راه دور اجرا کنید. مزیت اصلی PsExec امکان فراخوانی تعاملی رابط خط فرمان در سیستم های راه دور و اجرای ابزارهایی مانند IpConfig از راه دور است. این تنها راهنمایش دادن کامپیوتر محلیاطلاعات مربوط به سیستم راه دور

توجه داشته باشید. مقداری اسکنرهای آنتی ویروسگزارش دهید که یک یا چند مورد از این برنامه ها به ویروس "Remote Admin" آلوده شده اند. هیچ یک از برنامه های موجود در مجموعه PsTools حاوی ویروس نیستند، اما توسط ویروس ها استفاده شده اند، به همین دلیل این هشدارها ظاهر می شوند.

نصب و راه اندازی

فقط برنامه PsExec را در پوشه اجرایی خود کپی کنید. وقتی دستور psexec را وارد می کنید، راهنمایی در مورد نحو دستور نمایش داده می شود.

PsExec در اتاق های عمل کار می کند سیستم های ویندوز Vista، NT 4.0، Win2000، Windows XP و Server 2003، شامل نسخه های سیستم عامل 64 بیتی

استفاده

مقاله ای از مارک روسینوویچ در شماره ژوئیه 2004 مجله Windows IT Pro روش های اضافی برای کار با این برنامه را شرح می دهد. PsExec.

استفاده: psexec [\\computer[,computer2[,...] | @file][-u کاربر [-p رمز عبور]][-n s][-l][-s|-e][-x][-i [جلسه]][-c [-f|-v]] دایرکتوری [-w][-d][-<приоритет>][-a n,n,... ] برنامه [Arguments]

کامپیوتر

به PsExec می‌گوید برنامه را روی رایانه یا رایانه‌های مشخص شده اجرا کند. اگر نام رایانه مشخص نشده باشد، برنامه PsExec برنامه را در سیستم محلی راه اندازی می کند، اما اگر به جای نام رایانه، کاراکتر ستاره (\\*) مشخص شود، برنامه PsExec برنامه را روی همه رایانه ها راه اندازی می کند. از دامنه فعلی

@فایل

به PsExec می‌گوید که برنامه را روی همه رایانه‌های فهرست شده در فایل متنی مشخص شده اجرا کند.

پردازنده‌هایی که برنامه می‌تواند روی آنها اجرا شود با کاما از هم جدا می‌شوند و پردازنده‌ها از 1 شروع می‌شوند. برای مثال، برای اجرای برنامه روی پردازنده‌های دو و چهار، "-a 2,4" را وارد کنید.

برنامه مشخص شده برای اجرا در سیستم راه دور کپی می شود. اگر این پارامتر مشخص نشده باشد، برنامه باید در پوشه سیستم سیستم راه دور قرار گیرد.

نشان می دهد که نیازی به صبر کردن برای تکمیل برنامه نیست. این گزینه فقط باید هنگام اجرای برنامه های غیر تعاملی استفاده شود.

نمایه حساب مشخص شده بارگیری نشده است.

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

برنامه راه اندازی شده به دسکتاپ جلسه مشخص شده در سیستم راه دور دسترسی پیدا می کند. اگر هیچ جلسه ای مشخص نشده باشد، فرآیند در یک جلسه کنسول اجرا می شود.

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

به شما امکان می‌دهد تأخیر اتصال را روی رایانه‌های راه دور (در چند ثانیه) تنظیم کنید.

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

فرآیند راه دور از حساب سیستم راه اندازی می شود.

به شما امکان می دهد یک نام کاربری اختیاری برای ورود به سیستم راه دور تعیین کنید.

فایل مشخص شده تنها در صورتی که شماره نسخه آن بیشتر یا جدیدتر باشد به جای فایل موجود در سیستم راه دور کپی می شود.

به شما امکان می دهد دایرکتوری کاری (مسیر داخل سیستم راه دور) را برای فرآیند مشخص کنید.

رابط کاربری را روی دسکتاپ Winlogon (فقط سیستم محلی) نمایش می دهد.

-یک اولویت(یک اولویت)

به شما امکان می‌دهد اولویت‌های مختلفی را برای یک فرآیند تنظیم کنید: -کم (کم)، -پایین‌تر از نرمال (زیر میانگین)، -بیش از نرمال (بالاتر از میانگین)، -بالا (بالا) یا -زمان واقعی (زمان واقعی).

برنامه

نام برنامه ای که قرار است راه اندازی شود.

استدلال ها

آرگومان هایی که باید ارسال شوند (توجه داشته باشید که مسیرهای فایل باید به عنوان مسیرهای محلی در سیستم هدف مشخص شوند).

برای تعیین نام برنامه حاوی فاصله، از علامت نقل قول استفاده کنید، به عنوان مثال psexec \\marklap "c:\longname\app.exe". داده های وارد شده با فشار دادن کلید "Enter" به سیستم از راه دور منتقل می شود، برای پایان دادن به فرآیند از راه دور باید کلید ترکیبی Ctrl-C را فشار دهید.

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

هنگام دسترسی به یک سیستم محلی، این نسخه از PsExec را می توان به جای Runas استفاده کرد زیرا PsExec به حقوق مدیر نیاز ندارد.

مثال ها

این دستور رابط خط فرمان تعاملی را در سیستم \\marklap نشان می دهد:

psexec\\marklap cmd

این دستور برنامه IpConfig را در سیستم راه دور با پارامتر /all اجرا می کند و داده های حاصل را در صفحه سیستم محلی نمایش می دهد:

psexec \\marklap ipconfig /all

این دستور test.exe را در سیستم راه دور کپی می کند و به صورت تعاملی اجرا می کند.

psexec \\marklap -c test.exe

اگر چنین برنامه ای از قبل بر روی سیستم راه دور نصب شده است و در دایرکتوری سیستم قرار ندارد، مسیر کامل این برنامه را مشخص کنید.

psexec \\marklap c:\bin\test.exe

این دستور Regedit را به صورت تعاملی از حساب سیستم اجرا می کند تا داده های کلیدهای رجیستری SAM و SECURITY را مشاهده کند:

psexec -i -d -s c:\windows\regedit.exe

از این دستور برای فراخوانی برنامه استفاده می شود اینترنت اکسپلورراز طرف کاربری با حقوق محدود:

psexec -l -d "c:\program files\internet explorer\iexplore.exe"



 


خواندن:



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

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

آیا می توان گوش های یونیورسال را با قیمت ارزان خریداری کرد؟ 3000 روبل - آیا می توان برای چنین پولی هدفون های باکیفیت خریداری کرد؟ همانطور که معلوم شد، بله. و گفتار...

دوربین اصلی موبایل معمولاً در پشت بدنه قرار دارد و برای گرفتن عکس و فیلم استفاده می شود

دوربین اصلی موبایل معمولاً در پشت بدنه قرار دارد و برای گرفتن عکس و فیلم استفاده می شود

نسخه به روز شده تبلت با ویژگی های بهبود یافته و استقلال بالا. گوشی های هوشمند ایسر به ندرت بازدید می شوند...

چگونه با حفظ شماره خود به اپراتور دیگری سوئیچ کنید

چگونه با حفظ شماره خود به اپراتور دیگری سوئیچ کنید

قانون حفظ شماره تلفن هنگام تغییر مشترک به اپراتور تلفن همراه دیگر در روسیه از اول دسامبر به اجرا درآمد. با این حال، مشخص شد که ...

بررسی یک فبلت، گران قیمت، اما بسیار شایسته

بررسی یک فبلت، گران قیمت، اما بسیار شایسته

نقد و بررسی یک فبلت گران قیمت اما بسیار شایسته 1394/03/20 من تنها کفاش جهان بدون چکمه، منتقد گوشی هوشمند بدون گوشی هوشمند خودم هستم ....

فید-تصویر RSS