اینترنت پنجره ها اندروید

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

WinRM و WINRS نوآوری هستند ویندوز ویستا., سرور ویندوز 2003 R2، ویندوز سرور 2008 (و سرور 2008 Core). اینها قوی هستند. خط فرمانمدیران سیستم پشتیبانی از راه دور مدیریت از راه دور و اجرای راه دور برنامه ها در دستگاه های ویندوز بهبود یافته است. با این حال، آنها باید ابتدا روشن شوند، علاوه بر این، شما برای مطالعه قابلیت های خود نیاز دارید. شما خوش شانس هستید: این مقاله دارای همه چیزهایی است که شما باید امروز شروع به استفاده از این وجوه کنید!

مدیریت راه دور ویندوز (WINRM) چیست؟

مدیریت راه دور ویندوز (WinRM کاهش یافته) یک سرویس کنترل از راه دور کاربر پسند برای ویندوز سرور 2003 R2، ویندوز ویستا و ویندوز سرور 2008 است. WINRM جزء "سرور" از این برنامه کنترل از راه دور است و WinRS (Windows Remote Shell - Remote چهارشنبه ویندوز) - این یک "مشتری" برای WinRM است که بر روی یک کامپیوتر از راه دور اجرا می شود، تلاش می کند تا از راه دور سرور WinRM را مدیریت کند. با این حال، باید متوجه شود که WINRM باید بر روی هر دو کامپیوتر نصب شود تا WinRS بتواند اطلاعاتی در مورد سیستم از راه دور کار کند و دریافت کند. WinRM بر اساس خدمات وب برای مدیریت (مدیریت WS-Management) است. این به این معنی است که WinRM از پروتکل HTTP (Port 80) و درخواست های صابون برای انجام کار استفاده می کند. خوب است زیرا درخواست های HTTP از طریق فایروال آسان است. از این از این یک اثر خوب و بد وجود دارد: از یک طرف، کنترل کامپیوتر از راه دور از طریق اینترنت آسان تر خواهد شد، اما، از سوی دیگر، مهاجم آسان تر از راه دور به همان کامپیوتر حمله می کند. یکی دیگر از مزایای کوچک استفاده از پورت 80 این است که اگر اتصالات HTTP ورودی قبلا مجاز نباشد، نیازی به باز کردن پورت های دیگر در سرور وجود ندارد.

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

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

WinRM از پایگاه داده WMI برای انجام وظایف مشابه با کسانی که ممکن است با استفاده از دیگران انجام شود، استفاده می کند نرم افزار مانند vBScript مزیت WinRM این است که از HTTP (پورت 80) استفاده می کند، همانطور که گفتم، حتی وجود دارد کد ویژهاجازه می دهد WinRM برای تقسیم اتصالات ورودی به پورت 80 با یک جزء IIS، که ممکن است در حال حاضر با این پورت کار می کند.

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

سازنده مدیریت نرم افزار شما ممکن است قبلا برنامه ریزی شده برای استفاده از WINRM در نسخه های زیر از نرم افزار خود را، بنابراین شما ممکن است از WinRM از طریق برنامه های دیگر استفاده کنید. با این حال، شما می توانید از این جزء استفاده کنید و از آن استفاده کنید، با استفاده از فرمان winrm.cmd.. با استفاده از این ابزار CLI، شما می توانید اطلاعات را از پایگاه داده WMI برای هر کاری که حل می کنید استخراج کنید.

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

شکل 1: پارامترهای خط فرمان WinRM

چگونه برای فعال کردن و استفاده از WinRM؟

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

winRM WinRM / Config / Listener را وارد کنید

اگر پاسخی دریافت نکنید، به این معنی است که WinRM در حال اجرا نیست. برای تنظیم WinRM شروع خودکار و اجازه دسترسی از راه دور از دستور استفاده کنید winRM QuickConfig، به عنوان مثال:

C: \\ کاربران \\ مدیر\u003e winRM QuickConfig WinRM تنظیم نشده است تا دسترسی از راه دور به این دستگاه را مدیریت کند.تغییرات زیر باید انجام شود:یک شنونده WinRM را در http: // * برای قبول درخواست WS-Man به IP بر روی این دستگاه ایجاد کنید.این تغییرات را انجام دهید؟ y WinRM برای مدیریت از راه دور به روز شده است.یک شنونده WinRM را در http: // * برای پذیرش درخواست WS-Man به IP بر روی این دستگاه ایجاد کرد.C: \\ کاربران \\ مدیر\u003e

پس از پیکربندی QuickConfig، من فرماندهی لیست را با نتایج زیر راه اندازی کردم:

C: \\ کاربران \\ مدیر\u003e winRM E WinRM / Config / Listener شنوندهآدرس \u003d *حمل و نقل \u003d httpPort \u003d 80.نام میزبانفعال \u003d درست استurlprefix \u003d wsman.گواهی نامهListeningon \u003d 10.253.15.98، 127.0.0.1، :: 1، Fe80 :: 5EFE: 10.253.15.98٪ 11، Fe80 :: 9583: 2148: E1EF: 6444٪ 10C: \\ کاربران \\ مدیر\u003e

حالا من می دانم WinRM فعال است

به هر حال، اگر می خواهید WinRM را غیرفعال کنید، باید از چنین فرمان استفاده کنید:

winRM WinRM / Config / Listener را حذف کنید؟ iPAdress \u003d * + Transport \u003d HTTP

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

WINRS چیست و نحوه استفاده از آن چیست؟

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

همانطور که در نمودار زیر مشاهده می کنید، wINRS این یک ابزار خط فرمان کامل با تعداد زیادی از اطلاعات مرجع در کار و آن است.

شکل 2: پارامترهای خط فرمان WINRS

یکی از مهمترین راه های عادی استفاده از WINRS اجرای دستورات بر روی یک دستگاه از راه دور است. البته، این تعامل با استفاده از پروتکل HTTP (Port 80) (به طور پیش فرض) رخ می دهد.

در زیر نمونه ای از استفاده از WINRS است: من دستورات را در گره localhost اجرا کردم. من دو دستورم را راه اندازی کردم: '' جلد'و' dIR C:' در هر مورد، اطلاعات کافی در پاسخ دریافت شد.

شکل 3: تظاهرات دستورات WINRS

نتایج

WinRM و WINRS صندوق های بسیار قدرتمند جدید در مورد سیستم هستند مدیران ویندوز فقط موظف به پیدا کردن در مورد امکانات کنترل از راه دور با WinRM / WINRS فکر کنید! شما می توانید برنامه ها را نصب کنید، تنظیمات را تغییر دهید، مشکلات را حل کنید (البته، اگر مشکل در تعامل شبکه نیست). شما می توانید بیشتر بروید و WINRS را با یک اسکریپت برای انجام این وظایف در چندین رایانه متصل کنید. همچنین، به یاد داشته باشید که صرف نظر از این که آیا شما از این وجوه استفاده می کنید یا نه، نرم افزار شما سیستم مدیریت، به زودی آنها از آنها استفاده خواهند کرد.

مرطوب

قطعات خودرو برای ماشین شما در هر منطقه.

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

10/17/2011 Don Jones

متوجه شدم که سازندگان PowerShell تا حدودی تنبل بودند و این خوب است. آنها نمی خواستند پارامتر کامپیوتر را برای هر تیم رمزگذاری کنند، بنابراین ایجاد شده است سیستم عمومی تحت نام "تعامل از راه دور". اساسا، این سیستم هر دستور را برای اجرای یک کامپیوتر از راه دور فعال می کند. شما حتی می توانید دستورات مختلفی را که در یک کامپیوتر از راه دور وجود دارد اجرا کنید، اما بر روی شما گم شده اند. این به این معنی است که شما لازم نیست به طور مداوم هر تیم را در ایستگاه کاری خود نصب کنید. این سیستم از راه دور بسیار موثر است و تعدادی از قابلیت های اداری جالب را ارائه می دهد.

هنگامی که من شروع به استفاده از PowerShell کردم، من با تیم Get-Service رفتم و متوجه شدم که دارای پارامتر -Computername است. آیا این به این معنی است که شما می توانید به سرویس و از رایانه های دیگر متصل شوید؟ پس از یک سری آزمایش ها، متوجه شدم که این فقط چیزی بود که نوشته شده بود. من علاقه مند شدم و شروع به نگاه کردن به پارامترهای کامپیوتر دیگر از تیم های دیگر کردم. و ناراحت زمانی که متوجه شدم که تنها تعداد کمی از آنها وجود دارد.

PowerShell دو نوع تعامل از راه دور را فراهم می کند: تعامل از راه دور یک تا یک (1: 1) و تعامل از راه دور یک تا چند (1: n). قبل از صحبت کردن در مورد آنها، من می خواهم برخی از اصول اولیه را روشن کنم.

مبانی تعامل از راه دور در PowerShell

تعامل از راه دور PowerShell تقریبا مانند Telnet و دیگر فن آوری های کنترل از راه دور قدیمی کار می کند. هنگامی که فرمان را اجرا می کنید، در واقع بر روی یک کامپیوتر از راه دور شروع می شود. همه چیز که به کامپیوتر شما باز می گردد نتیجه این تیم است. در مقابل Telnet یا Secure Shell (SSH)، PowerShell از یک پروتکل ارتباطی جدید به نام خدمات وب برای مدیریت (مدیریت WS) استفاده می کند. پروتکل در بالای HTTP یا HTTP Secure (HTTPS) عمل می کند، که در صورت لزوم مسیر را از طریق فایروال ها آسان تر می کند، زیرا پروتکل تنها از یک پورت برای برقراری ارتباط استفاده می کند. پیاده سازی مدیریت WS-Management از مایکروسافت در قالب یک سرویس پس زمینه است که مدیریت راه دور ویندوز نامیده می شود. WinRM با PowerShell 2.0 نصب شده و به طور پیش فرض در سرورهای مانند ویندوز سرور 2008 R2 شروع می شود. در ویندوز 7، به طور پیش فرض نصب شده است، اما فعال نیست. شما باید WinRM را بر روی آن رایانه هایی که می خواهید یک فرمان را ارسال کنید، فعال کنید. کامپیوتر شما از لحاظ جسمی مورد نیاز برای راه اندازی سرویس WinRM است.

تمام دستورات PowerShell اشیاء را به عنوان خروجی تولید می کنند. هنگامی که فرمان را از راه دور اجرا می کنید، خروجی آن باید در یک فرم پوشش داده شود که می تواند به راحتی بر روی شبکه با استفاده از پروتکل HTTP یا HTTPS منتقل شود. بنابراین، PowerShell به طور خودکار اشیاء خروجی را تبدیل می کند فایل های XMLکه از طریق شبکه منتقل می شود. پس از به دست آوردن رایانه شما، آنها به اشیائی که PowerShell می توانند کار کنند، تبدیل می شوند. با این حال، این اشیاء برگشت یافته در واقع تصاویر فوری هستند. آنها نمیتوانند هر دقیقه خود را به روز کنند. بنابراین، اگر شما باید به اشیاء که فرآیندهای در حال اجرا بر روی یک کامپیوتر از راه دور هستند، نتیجه حاصل می شود تنها برای یک دوره زمانی خاص که طی آن این اشیا تولید شده است. ارزش ها، مانند استفاده از حافظه و پردازنده، تغییر نخواهد کرد. علاوه بر این، شما قادر نخواهید بود که اشیای عقب تبدیل شوند تا کاری انجام دهند. به عنوان مثال، شما نمی توانید این شی را سفارش دهید تا خودتان را متوقف کنید. این محدودیت اساسی تعامل از راه دور است، اما از کار شما جلوگیری نخواهد کرد و وظایف جالبی را انجام نمی دهد.

فقط چند مورد اساسی برای استفاده از سیستم تعامل از راه دور وجود دارد.

  • به عنوان کامپیوتر شما (این یک کامپیوتر محلی است) و یکی از کسانی که می خواهید یک فرمان ارسال کنید (این یک کامپیوتر از راه دور است)، باید با Windows PowerShell 2.0 کار کند؟ ویندوز XP قدیمی است نسخه ویندوزکه شما می توانید PowerShell 2.0 را نصب کنید. به این ترتیب، نسخه قدیمی همچنین می تواند در جلسه از راه دور شرکت کند.
  • در حالت ایده آل، رایانه های محلی و از راه دور باید عضو دامنه یا اعضای دامنه های اعتماد / اعتماد باشند. با استفاده از سیستم تعامل از راه دور، شما می توانید خارج از دامنه کار کنید، اما دشوار است، و در اینجا من در مورد آن نمی گویم. برای کسب اطلاعات بیشتر در مورد این سناریو، به بخش راهنما PowerShell مراجعه کنید، جایی که Remote_Trubleshooting می گوید.

بررسی WinRM

حالا بیایید به WinRM برویم، زیرا شما باید تنظیمات این سرویس را برای شروع تعامل از راه دور تنظیم کنید. مجددا تکرار میکنم، شما فقط باید تنظیمات تعامل WINRM و PowerShell را در یک کامپیوتر از راه دور تنظیم کنید. در اکثر محیط هایی که در آن کار می کردم، مدیران یک سیستم تعامل از راه دور را در هر رایانه ای با نسخه های XP یا جدیدتر فعال کردند. این باعث می شود که نفوذ به رایانه های دسکتاپ و قابل حمل غیر قابل توجه، که می تواند بسیار مفید باشد (این بدان معنی است که کاربران از چنین رایانه ای نمی دانند که چه کاری انجام می دهند).

غیر ممکن است بگوییم WinRM چیزی خاص برای PowerShell است. WinRM می تواند ترافیک را به چندین برنامه اداری اختصاص دهد. اساسا، WINRM به عنوان یک فرستنده عمل می کند. هنگامی که ترافیک به نظر می رسد، WinRM تصمیم می گیرد که کدام برنامه باید با آن ارتباط برقرار کند و آن را با نام برنامه دریافت کننده نشان می دهد. برنامه دریافت کننده باید با WinRM ثبت نام کند، بنابراین WinRM قادر به گوش دادن به ترافیک دریافتی از طرف او خواهد بود. به عبارت دیگر، شما نه تنها نیاز به فعال کردن WinRM، بلکه همچنین ثبت نام پوسته قدرت را به عنوان نقطه محدود برای WinRM.

اکثر. راه ساده انجام هر دو وظیفه این است که از طرف مدیر، PowerShell را شروع کنید و فرمان فعال سازی Psremoting را اجرا کنید. شما می توانید کتابچه راهنمای کاربر را بر روی یک فرمان دیگر به نام set-wsmanquickconfig ببینید. بدون نیاز به اجرای فرمان. این باعث می شود که Psremoting برای شما فعال شود، و همچنین چند مرحله دیگر را انجام می دهد که برای ایجاد تعامل و کار از راه دور ضروری است. در اصل، دستور Enable-Psremoting سرویس WinRM را راه اندازی می کند، تنظیمات خود را تنظیم می کند تا به طور خودکار شروع به کار کند، PowerShell را به عنوان نقطه انتهایی ثبت می کند و حتی برای حل ترافیک WinRM ورودی، استثنائات را به فایروال ویندوز تنظیم می کند.

اگر نمی خواهید تمام رایانه ها را برای فعال کردن تعامل از راه دور دور کنید، می توانید از شیء استفاده کنید سیاست گروهی شیء سیاست گروهی (GPO). تنظیمات GPO لازم در کنترل های دامنه ویندوز سرور 2008 R2 تعبیه شده است. فقط GPO را باز کنید و در مسیر پیکربندی کامپیوتر / مسیر بروید

قالب های اداری \\ اجزای ویندوز. در پایین لیست شما هر دو از راه دور Shell و Windows Remote Management (WRM) را پیدا خواهید کرد، تنظیمات آن باید تنظیم شود. بخش راهنما در مورد مشکلات سیستم تعامل از راه دور (Remote_Tubleshooting) به شما دستورالعمل های دقیق در مورد چگونگی انجام آن را ارائه می دهد. مشاهده نحوه فعال کردن Remoting در یک شرکت و نحوه فعال کردن شنوندگان با استفاده از یک سیاست گروهی در کمک.

WinRM 2.0 (که از PowerShell استفاده می شود) به طور پیش فرض از پورت TCP 5985 برای HTTP و پورت 5986 برای HTTPS استفاده می کند. این تضمین می کند که WinRM با سرورهای وب محلی نصب شده که پیکربندی شده اند برای گوش دادن به پورت های 80 و 443 مطابقت ندارند. شما می توانید تنظیمات WinRM را برای استفاده از پورت های جایگزین تنظیم کنید، اما این را توصیه نمی کنم. Fir شما این پورت ها را ترک می کنید، تمام دستورات دسترسی از راه دور PowerShell به خوبی کار خواهند کرد. اگر این پورت ها را تغییر دهید، همیشه باید یک پورت جایگزین را هنگامی که دستور دسترسی از راه دور را شروع می کنید، مشخص کنید. این به این معنی است که شما باید بیشتر چاپ کنید. اگر شما نیاز به ویرایش پورت دارید، می توانید دستور را وارد کنید:

WinRM WinRM / Config / Listener را تنظیم کنید؟ آدرس \u003d * + transport \u003d http @ (port \u003d "1234")

ارقام 1234 به معنی پورت شما نیاز دارید. در اینجا این دستور در چندین خط نوشته شده است، اما شما باید آن را در یک خط وارد کنید. همین امر در مورد تمام تیم های دیگر که در مقاله شرح داده شده است، اعمال می شود. اگر شما نیاز به استفاده از HTTPS به جای HTTP دارید، می توانید این دستور را تغییر دهید تا پورت جدید HTTPS را پیکربندی کنید. باید اعتراف کند که راهی برای تنظیم تنظیمات WinRM در رایانه های محلی وجود دارد تا از پورت های پیش فرض جایگزین استفاده شود. بنابراین، شما لازم نیست به طور مداوم یک پورت جایگزین را تعریف کنید زمانی که فرمان دسترسی از راه دور را اجرا می کنید. اما اجازه دهید با تنظیمات پیش فرض مشخص شده توسط مایکروسافت کار کنیم.

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

تعامل از راه دور 1: 1

با استفاده از یک تعامل از راه دور 1: 1، شما اساسا به خط فرمان بر روی یک کامپیوتر از راه دور دسترسی خواهید داشت. هر دستورات که شما ارائه می دهید درست در یک کامپیوتر از راه دور اجرا می شود و نتایج را در پنجره خط فرمان مشاهده می کنید. تا حدودی به نظر می رسد استفاده کنید دسکتاپ از راه دور اتصال، به جز این واقعیت که شما به خط فرمان PowerShell محدود می شوید. سیستم تعامل از راه دور PowerShell از بخش هایی از منابع استفاده می کند که دسکتاپ از راه دور نیاز دارد، بنابراین تاثیر بسیار بیشتری بر سرورهای شما دارد.

به منظور ایجاد یک اتصال 1: 1 با یک کامپیوتر از راه دور به نام Server-R2، شما باید اجرا کنید

Enter-PsSession -computername Server-R2

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

PS C: \\\u003e

این بخش به شما اطلاع می دهد که همه چیز شما در سرور R2 اتفاق می افتد. پس از آن، شما می توانید هر دستورات را که می خواهید اجرا کنید. شما حتی می توانید هر ماژول را وارد کنید و اضافه کردن پسوندهای PowerShell (Pssnapins) را در یک کامپیوتر از راه دور قرار دهید.

حتی اجازه باقی خواهد ماند. کپی شما از PowerShell با همان نشانگر امنیتی که با آن در حال اجرا است کار خواهد کرد. PowerShell آن را با استفاده از Kerberos می سازد، بنابراین نام کاربری و رمز عبور را از طریق شبکه منتقل نمی کند. هر فرمان که در یک کامپیوتر از راه دور اجرا می کنید تحت اعتبارنامه های شما اجرا می شود، بنابراین همه چیز، در اجرای آنچه که شما اجازه دارید، می توانید انجام دهید. به نظر می رسد ثبت نام به طور مستقیم از کنسول کامپیوتر و استفاده از یک کپی از PowerShell این کامپیوتر. تقریبا مثل این است. در اینجا چند تفاوت وجود دارد.

  • اگر شما یک اسکریپت PowerShell برای نمایه خود را در یک کامپیوتر از راه دور دارید، زمانی که شما با استفاده از سیستم دسترسی از راه دور ارتباط برقرار می کنید، شروع نمی شود. به سادگی، پروفیل ها یک بسته از دستورات هستند که به طور خودکار هر بار که پنجره خط فرمان را باز می کنید، شروع می شود. آنها به طور خودکار بارگذاری پسوندها، ماژول ها و غیره استفاده می شود.
  • شما محدود به یک سیاست اجرایی کامپیوتر از راه دور هستید. به عنوان مثال، سیاست کامپیوتر شما بر روی بازسازی نصب شده است به طوری که شما می توانید اسکریپت های غیر مجاز محلی را اجرا کنید. اگر خط مشی کامپیوتری از راه دور به محدودیت محدود شده باشد (تنظیمات پیش فرض)، به شما اجازه نمی دهد هر اسکریپت را اجرا کنید زمانی که از راه دور تعامل می کنید.

بسیاری از تیم های PowerShell به جفت می روند: یکی چیز دیگری را می سازد - مخالف آن. در مورد ما، Enter-PSSession شما را به یک کامپیوتر از راه دور متصل می کند، و خروج PSSession این اتصال را بسته می کند. Exit-PSSession به هیچ پارامتری نیاز ندارد. پس از شروع، اتصال از راه دور بسته شده است، و دعوت از پنجره خط فرمان شما به فرم عادی بازگشته است. اگر فراموش کرده اید برای اجرای خروج PSSession چه؟ نگران نباش. PowerShell و WinRM قادر به پیدا کردن آنچه شما انجام دادند، و در صورت لزوم اتصال راه دور را متوقف کنید.

من می خواهم یک توصیه بدهم هنگامی که شما به یک کامپیوتر از راه دور متصل می شوید، Enter-PSSession را بر روی آن اجرا نکنید تا زمانی که به طور کامل درک کنید که چه کاری انجام می دهید. به عنوان مثال، شما بر روی کامپیوتر کار می کنید. شما به سرور R2 متصل هستید. در رشته PowerShell شما اجرا می شود

PS C: \\\u003e ENTER-PSSession Server-DC4

در حال حاضر Server-R2 شامل یک اتصال باز از سرور DC4 است. این یک "زنجیره تعامل از راه دور" ایجاد می کند که دشوار است. علاوه بر این، سرورهای شما نیازی به بیش از حد ندارند. ممکن است لحظاتی وجود داشته باشد که شما باید این کار را انجام دهید (به عنوان مثال، سرور DC4 پشت فایروال است و شما نمی توانید دسترسی مستقیم به آن را دریافت کنید، بنابراین شما باید از سرور-R2 به عنوان واسطه استفاده کنید). با این حال، قانون کلی به شرح زیر است: سعی کنید از زنجیره ای از تعامل از راه دور اجتناب کنید.

تعامل از راه دور 1: n

یکی از جالب ترین چیزها در PowerShell یک تعامل از راه دور 1: n است. این اجازه می دهد تا شما را به ارسال دستورات به چند کامپیوتر از راه دور در همان زمان - محاسبات توزیع کامل در مقیاس کامل. هر کامپیوتر به طور جداگانه دستور را اجرا خواهد کرد و نتایج را به شما ارسال می کند. همه چیز با استفاده از فرمان Command Command در این فرم انجام می شود:

Command-Command -computername Server-R2، سرور DC4، Server12 -Command (Get-EventLop Security -Newest 200 | کجا ($ _. EventID -EQ 1212))

تیم در براکت های فرفری خارجی به هر سه رایانه از راه دور منتقل می شود. به طور پیش فرض، PowerShell می تواند بلافاصله با 32 کامپیوتر ارتباط برقرار کند. اگر بیش از 32 کامپیوتر را تعریف کنید، آنها ساخته خواهند شد. سپس، هنگامی که یک کامپیوتر کار را تکمیل می کند، فرماندهی زیر را انجام می دهد. اگر شما واقعا یک شبکه با سرعت بالا و رایانه های قدرتمند دارید، می توانید مقدار خود را با استفاده از دستور throttlelimit افزایش دهید. در مورد چگونگی استفاده از این گزینه در Command Appoke، می توانید در صفحه راهنما استفاده کنید.

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

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

در حال حاضر بر روی پارامتر نام رایانه تمرکز کنید. در مثال کد Command Command، من لیستی از نام های رایانه ای داشتم که توسط کاما جدا شده بود. اگر شما دارای بسیاری از رایانه ها هستید، ممکن است بخواهید هر بار که به آنها متصل هستید، نام خود را چاپ کنید. در عوض، شما می توانید یک فایل متنی ایجاد کنید که شامل یک نام کامپیوتری در یک خط، بدون کاما، نقل قول یا چیز دیگری است. به عنوان مثال، اگر فایل متنی شما به نام webservers.txt نامگذاری شده باشد، از چنین کد استفاده می کنید:

Command-Command -Command (Dir) -computername (Get-content webservers.txt)

براکت های دور PowerShell ابتدا دستور Get-Content را اجرا می کنند - به نظر می رسد مانند براکت های دور در کار ریاضیات. سپس نتایج دریافتی محتوا در پارامتر -Computername سرمایه گذاری می شود.

شما همچنین می توانید یک نام کامپیوتری را در دایرکتوری فعال درخواست کنید، اما مشکل تر است. برای پیدا کردن یک کامپیوتر، می توانید از دستور Get-AdComputer استفاده کنید، اما این دستور را در پرانتز قرار ندهید، زیرا آنها در محتوای دریافتی انجام دادند. چرا که نه؟ مسائل مربوط به محتوا را انتخاب کنید رشته های متن ساده، در حالی که Get-AdComputer تولید اشیاء کامپیوتر. پارامتر -Computername در انتظار رشته ها است. اگر او مجبور به دریافت "کامپیوتر" اشیاء، من نمی دانم چه باید بکنم. بنابراین، اگر می خواهید از Get-AdComputer استفاده کنید، باید از ویژگی های نام اشیاء رایانه استفاده کنید. مثل این:

Command-Command -command (DIR) -computername (GET-ADComputer -Filter * -SearchBase "Ou \u003d Sales، DC \u003d شرکت، DC \u003d PRI" | Select-Object -expand نام)

در پرانتز، اشیاء کامپیوتری به دستور Select-Object منتقل می شوند و پارامتر -Expand برای پیدا کردن خواص نام این اشیاء رایانه استفاده می شود. نتیجه بیان در براکت مجموعه ای از نام های رایانه ای است، نه اشیاء کامپیوتری. نام های کامپیوترها فقط چیزی است که توسط پارامتر نام Commeter مورد نیاز است.

اگر شما با Get-AdComputer آشنا نیستید، بگذارید ببینیم که این تیم چه می کند. پارامتر -Filter تعیین می کند که تمام رایانه ها باید در نتایج گنجانده شوند و پارامتر پایه -Search PowerShell را تجویز کند تا به کامپیوتر در گروه سازمانی سازمان (OU) در شرکت Company.pri نگاه کند. دستور Get-Adcomputer تنها در ویندوز سرور 2008 R2 و در ویندوز 7 پس از تنظیم ابزار ابزار مدیریت سرور راه دور در دسترس است. دراین سیستم های عاملآه، شما اجرا می کنید

Import-Module ActiveIdirectory

به منظور دانلود دستورات برای سرویس دایرکتوری به پوسته فرمان به طوری که آنها می توانند مورد استفاده قرار گیرند.

چیز دیگری وجود دارد!

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

برای ایجاد جلسات دائمی، شما باید از دستور new-psession استفاده کنید، سپس آنها را در یک متغیر برای دسترسی آسان ذخیره کنید. به عنوان مثال، کد زیر یک جلسه از تعامل از راه دور را با سه کامپیوتر ایجاد می کند و آنها را در یک متغیر $ sessions ذخیره می کند:

$ Sessions \u003d NEW-PSSession -computername One، Two، Three سه بعدی 5555-credential domain \\ administrator

جلسات تعامل از راه دور هنگامی که پوسته فرمان را ببندید، به طور خودکار بسته می شود، اما قبل از آن زمان آنها می توانند حافظه را بگیرند و پردازنده را در سیستم های محلی و راه دور بارگذاری کنند. به منظور دقیق آنها، می توانید از دستور حذف PSSession استفاده کنید:

$ جلسات | حذف PSSession

هنگامی که شما نیاز به باز کردن جلسات، شما می توانید از دستور فرمان Appoke-Command استفاده کنید:

فراخوانی فرماندهی -COMMAND (DIR) - جلسات $

یا شما می توانید Enter-PSSession را اعمال کنید:

ENTER-PSSession -Session $ session

توجه داشته باشید که در کد Enter-PSSession، تنها یک جلسه تعامل از راه دور دوباره باز می شود. متغیر شاخص 1 گزارش PowerShell را گزارش می کند که باید جلسه را با رایانه به نام دو بار باز کند (شاخص از مقدار صفر شمارش می شود).

همانطور که می بینیم، مزایای تعامل از راه دور PowerShell بسیار زیاد است. اگر از آن استفاده می کنید، مطمئن شوید که چقدر افق های فعالیت شما را گسترش می دهد.

دون جونز ( [ایمیل محافظت شده]) - مربی فنی در PowerShell (www.windowsitpro.com/go/donjoneespower)، نویسنده بیش از 35 کتاب. عنوان مایکروسافت MVP را دارد



من به نوعی با WinRM در دو سرور مشکل دارم.

1. SETSPN
یک مشکل این بود که SPN ورودی http /<имя сервера> برای برخی از "چپ" ثبت شد حساب کاربر.

این تیم سوابق را یافت
setspn -f -q * /<имя сервера>

سپس آنها را با دستورات حذف کرد
setspn -d http /<имя сервера>.<имя домена> <имя домена>\<левая учётная запись>
setspn -d http /<имя сервера> <имя домена>\<левая учётная запись>

سپس فعال کردن psremoting -force موفق شد.

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

WinRM QuickConfig
سرویس WinRM Alady در حال اجرا بر روی این دستگاه است.
wmanfault.
پیغام
ProviderFault.
wmanfault.
پیام \u003d قادر به بررسی وضعیت فایروال نیست.

شماره خطا: -2147024894 0x80070002
سیستم قادر به یافتن فایل مورد نظر نمی باشد.

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

PS C: \\ Windows \\ System32\u003e WinRM QC

سرویس WinRM پیکربندی نشده است تا مدیریت کامپیوتر از راه دور را حل کند.
تغییرات زیر باید انجام شود:

ایجاد WinRM Listener به http: // * برای دریافت پرس و جو WS-MAN در هر یک از آدرس های IP این رایانه.

تغییرات را اجرا کنید؟ Y.

سرویس WinRM به روز شده برای کنترل از راه دور.

WinRM Listener را در http: // * برای دریافت درخواست های WS-Man در هر یک از آدرس های IP این رایانه ایجاد کرد.

موفق شد، اما هنوز هم کافی نیست.

هنگام تلاش برای اجرای دستورات از راه دور بر روی این سرور از یک رایانه دیگر، خطای رد شده به نظر می رسد.

NEW-PSSession: [<имя сервера>] اتصال به سرور از راه دور<имя сервера> پیام خطای زیر شکست خورده است: دسترسی ممنوع است. برای اطلاعات بیشتر، در مورد موضوع راهنما about_remote_trubleshooting ببینید.

سپس من تکرار کردم-psremoting

PS C: \\ Windows \\ System32\u003e فعال کردن-psremoting

تنظیم سریع WinRM.
دستور "set-wsmanquickconfig" را اجرا کنید این کامپیوتر کنترل از راه دور با استفاده از سرویس WinRM.
اقدامات لازم
1. اجرای یا راه اندازی مجدد (اگر قبلا در حال اجرا) سرویس WinRM.
2. تغییر نوع سرویس WinRM به "Autorun".
3. ایجاد یک شنونده برای دریافت درخواست در هر آدرس IP.
4. پیکربندی استثنائات فایروال برای ترافیک ترافیک مدیریت WS-Management (فقط پروتکل HTTP).

ادامه دهید؟

(مقدار پیش فرض "y" است): a
سرویس WinRM در حال حاضر پیکربندی شده است تا درخواست های رایانه را دریافت کند.
WinRM قبلا پیکربندی شده برای حل و فصل مدیریت کامپیوتر از راه دور.

تایید
آیا واقعا میخواهید این اقدام را انجام دهید؟
اجرای عملیات "ثبت نام از پیکربندی جلسه" بیش از شی هدف "پیکربندی جلسه
"microsoft.powershell32" یافت نشد دستور "ثبت نام PSSessionConfiguration Microsoft.Powershell32 اجرا خواهد شد
-ProcessorarCitecture X86 -Force "برای ایجاد یک پیکربندی جلسه microsoft.powershell32". سرویس WinRM خواهد شد
مجددا راه اندازی شد. "
[Y] بله - Y [A] بله برای همه - [n] no - n [l] نه برای همه - l [s] suspend - s [؟] کمک
(مقدار پیش فرض "y" است): a

پس از آن، WINRM در این سرور به عنوان آن را به دست آورد.

در این مقاله، سعی خواهم کرد بگویم چگونه خدمات مدیریت راه دور ویندوز از راه دور (WINRM) را در تمام رایانه های هدف با استفاده از سیاست گروهی فعال و پیکربندی کنید. اجازه دهید به شما یادآوری کنم که مدیریت از راه دور ویندوز یک سرویس ویژه است که به مدیران اجازه می دهد تا بتوانند از راه دور دسترسی پیدا کنند و سیستم عامل ویندوز و سرور را مدیریت کنند (و من فکر می کنم اگر قبلا از نرم افزار مایکروسافت Sysinternals استفاده کرده اید، WRM باید آن را دوست داشته باشید).
با استفاده از کامپیوتر معمولی، و آن را فعال کنید ویژگی های ویندوز مدیریت از راه دور. در خط فرمان، دستور زیر را معرفی می کنیم:


پیام خطای زیر باید ظاهر شود، نشان می دهد که WRM تنظیم نشده است:
گسل Wsman. مشتری نمی تواند به مقصد مشخص شده در درخواست متصل شود. شماره خطا: - 2144108526 0x80338012

اگر شما نیاز به پیکربندی WINRM به صورت دستی بر روی یک سیستم جداگانه، کافی است که دستور را تایپ کنید:

WinRM QuickConfig

در صورتی که شما باید WinRM را در گروه کامپیوترها پیکربندی کنید، می توانید از پارامترهای ویژه سیاست گروه استفاده کنید. سیاست مورد علاقه در بخش: پیکربندی کامپیوتر -\u003e سیاست ها -\u003e قطعات ویندوز -\u003e مدیریت راه دور ویندوز (WinRM) -\u003e WinRM Service. نیاز به فعال شدن پارامترهای زیر:
اجازه می دهد پیکربندی خودکار شنوندگان
اجازه احراز هویت اولیه


در بخش فیلتر IPV4، نشان می دهد *، به این معنی که کامپیوتر می تواند ارتباطات (و به همین ترتیب دستورات کنترل) را از هر کجا دریافت کند، به این معنی است که ورق های رایانه درخواست ها را در تمام رابط های IP دریافت خواهند کرد.


سپس در بخش پیکربندی کامپیوتر -\u003e سیاست -\u003e قطعات ویندوز -\u003e ویندوز از راه دور پوسته فعال کردن مورد:
اجازه دسترسی به پوسته از راه دور


و در نهایت، شما باید نوع راه اندازی را از سرویس سرویس راه دور ویندوز به "خودکار" (به صورت خودکار) مشخص کنید. اجازه دهید به شما یادآوری کنم که شما می توانید روش را برای خدمات در حال اجرا از بخش بعدی سیاست گروه مدیریت کنید: پیکربندی کامپیوتر -\u003e تنظیمات ویندوز -\u003e تنظیمات امنیتی -\u003e خدمات سیستم.


پس از فعال کردن WINRM با استفاده از سیاست گروه، وضعیت خدمات را با استفاده از تیم آشنا بررسی خواهید کرد:


اطمینان حاصل کنید که نوع شروع سرویس WinRM در اتوماتیک تنظیم شده است. اگر چه در این واقعیت نوع راه اندازی "اتوماتیک با تاخیر"، چرا که به طور پیش فرض، یک تاخیر راه اندازی (DELAYEDAUTOSTART \u003d 1 پارامتر در HKEY_LOCAL_MACHINE \\ SYSTEM \\ CHRECTIONCONTROLSET \\ SERVICES \\ WINRM) برای سرویس WINRM مشخص شده است.

در حال حاضر، پس از فعال کردن WINRM، با استفاده از سیاست های گروهی، این سیستم را می توان از راه دور با استفاده از دستورات WINRS کنترل کرد. دستور زیر خط فرمان را در سیستم از راه دور باز می کند:

WinRS -R: Computer01 CMD

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

تنظیم تعامل از راه دور در PowerShell (قسمت 1)

برای اطمینان از امکان تعامل از راه دور با با استفاده از PowerShell، لازم است برخی از تنظیمات را انجام دهیم. تعداد این تنظیمات بستگی به سیستم عامل، محیط شبکه، نیازهای امنیتی دارد (و همچنین خدا چه چیزی را می داند). به عنوان بسیاری از تنظیمات، من سعی خواهم کرد که در مورد مهم ترین آنها صحبت کنم. بیا بریم…

فعال کردن کنترل از راه دور

به منظور مدیریت یک کامپیوتر از راه دور، شما باید تعامل از راه دور را در این رایانه حل کنید. استثناء ویندوز سرور 2012 است، جایی که تمام ویژگی های کنترل از راه دور به طور پیش فرض فعال می شوند. برای همه سیستم عامل های دیگر لازم است:

1. سرویس WinRM را شروع کنید و آن را در Autorun قرار دهید؛
2. یک شنونده ایجاد کنید (شنونده)، که به درخواست های کنترل گوش می دهد؛
3. شامل قانون فایروال اجازه می دهد ترافیک مدیریت WS.

برای پیکربندی یک رایانه، ساده ترین استفاده از CMDLE فعال کردن Psremoting. این تمام اقدامات لازم را انجام خواهد داد و همچنین پیکربندی جلسه پیش فرض را ثبت می کند. به منظور جلوگیری از درخواست های تأیید، می توانید پارامتر -Force را اضافه کنید. کنسول باید با حقوق سرپرست راه اندازی شود، در غیر این صورت خطایی صادر می شود.

که در محیط دامنه شما می توانید از سیاست های گروهی برای پیکربندی PS Remoting استفاده کنید.

در پیکربندی کامپیوتر / سیاست ها / تنظیمات ویندوز / بخش خدمات سیستم، شما شامل سیاست "مدیریت راه دور ویندوز (مدیریت WS-Management" خواهید بود. این حالت شروع برای سرویس WinRM را تنظیم می کند.

در پیکربندی کامپیوتر / قالب های اداری \\ قطعات ویندوز \\ مدیریت از راه دور ویندوز (WinRM) \\ WinRM خدمات، شما را روشن "اجازه خودکار تنظیمات خودکار شنوندگان"، که یک شنونده در پورت 5985 ایجاد می کند (پورت برای HTTP به طور پیش فرض) را ایجاد می کند. علاوه بر این، شما می توانید مشخص کنید کدام IP را می توان متصل کرد. اگر نیازی به فیلتراسیون IP وجود نداشته باشد، فقط علامت * را بگذارید، که به معنی دریافت اتصالات از هر آدرس است.

سپس به پیکربندی کامپیوتر / تنظیمات ویندوز / تنظیمات امنیتی \\ بخش فایروال ویندوز بروید و یک قانون جدید را در پیکربندی کامپیوتر ایجاد کنید \\ Windows Firewall Security Security Security \\ قوانین ورودی. از پیش تعریف شده (قوانین از پیش تعریف شده) را انتخاب کنید و مدیریت راه دور ویندوز را در لیست انتخاب کنید.

لطفا توجه داشته باشید که شما می توانید دو حالت عملیات را انتخاب کنید - موضع و سازگار. در اولین مورد، پورت 5985 توسط WinRM پیش فرض باز خواهد شد، در دوم - پورت 80 (برای سازگاری با نسخه های WinRM قدیمی). هر دو به طور پیش فرض انتخاب می شوند.

پیکربندی پیکربندی بین رایانه ها

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

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

توجه:هنگامی که متصل هستید، باید نام های رایانه های معتبر را مشخص کنید، I.E. از آنجا که آنها در دایرکتوری فعال مشخص شده اند. اگر کامپیوتر وارد دامنه محلی شود، می توانید به سادگی نام کامپیوتر را مشخص کنید، به عنوان مثال srv1.. برای مشخص کردن یک نام کامپیوتری از دامنه دیگری که باید کامل کنید نام دامنه (FQDN) - srv1.contoso.com. اگر آدرس IP را مشخص کنید، یا برخی از نام های DNS دیگر (به عنوان مثال، نام مستعار CNAME)، سپس احراز هویت متقابل کار نخواهد کرد.

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

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

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

شما می توانید یک کامپیوتر را به گره های مورد اعتماد با استفاده از PowerShell اضافه کنید. به منظور ایجاد یک لیست از میزبان های مورد اعتماد و اضافه کردن کامپیوتر SRV1 به آن، ما از دستور استفاده می کنیم:

Set-Item Wssman: \\ localhost \\ client \\ trustedhosts -value srv1.contoso.com

هنگام اضافه کردن چندین کامپیوتر، نام آنها را می توان از طریق کاما ذکر کرد. مجاز به مشخص کردن نه تنها نام، بلکه آدرس IP کامپیوتر است. همچنین از نمادهای جایگزینی پشتیبانی می کند. به عنوان مثال، شما می توانید تمام رایانه ها را از دامنه Contoso.com به میزبان های مورد اعتماد اضافه کنید، مشخص کردن مقدار * .contoso.com، و یا بدون استثنا:

WSMAN SET-ITEM: \\ localhost \\ client \\ trustedhosts -value *

برای اضافه کردن یک نام کامپیوتری به لیست موجود از گره های مورد اعتماد، ابتدا باید مقدار فعلی را در متغیر ذخیره کنید و سپس مقدار را به لیست تقسیم تقسیم کنید، که شامل مقادیر فعلی و جدید است. به عنوان مثال، برای اضافه کردن یک کامپیوتر SRV2 به لیستی از گره های مورد اعتماد، از دستور زیر استفاده کنید:

$ cur \u003d (Get-item wsmer: \\ localhost \\ client \\ trustedhosts) ارزش
WSMAN SET-ITEM: \\ localhost \\ client \\ trustedhosts -value "$ cur، srv2.contoso.com"

خوب، و لیست گره های مورد اعتماد را ببینید، می توانید فرمان دهید:

WSMAN دریافت کنید: \\ localhost \\ client \\ trustedhosts

همچنین، برای افزودن اعتماد به نفس، می توانید از سیاست گروه استفاده کنید. در پیکربندی کامپیوتر / قالب های اداری \\ Components Windows \\ Windows Remote Management (WinRM) \\ WinRM Client، سیاست "Trusted Hosts" را روشن کنید و نام ها یا آدرس های IP کامپیوتر را از طریق کاما اضافه کنید. کلمات کلیدی پشتیبانی می شوند.

توجه داشته باشید: اگر trustedhosts از طریق GPO پیکربندی شود، پس PS را نمی توان تغییر داد. همین امر مربوط به تمام تنظیمات دیگر PS Remoting است.

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

اول، برای استفاده از این روش، ما به دیجیتال نیاز داریم گواهی SSL برای دستگاهی که ما قصد داریم ارتباط برقرار کنیم. دریافت گواهینامه - یک موضوع جداگانه، ما آن را متوقف نخواهیم کرد. در محیط آزمایش من از ابزار Makecert استفاده می کنم که بخشی از ویندوز SDK است و یک گواهی امضا شده خود را ایجاد می کند:

makecert -a SHA1 -R -PE -N "CN \u003d WKS8" -Eku 1.3.6.1.5.5.7.3.1 -SS My -SR LocalMachine -sky Exchange -SP "Microsoft RSA Schannel Cryptographic Cryptographic" -SY 12 -M 12 "C: \\ myssl.cer"

این دستور یک گواهینامه SSL را برای یک دوره یک ساله ایجاد می کند و آن را در فروشگاه گواهینامه محلی قرار می دهد. لطفا توجه داشته باشید که گواهی باید به همان نامی که در دستور اتصال مشخص می کنید صادر می شود.

پس از دریافت، گواهی باید به قدرت ریشه اعتماد (مراکز صدور گواهینامه اعتماد مورد اعتماد) اضافه شود. برای انجام این کار، گواهینامه را باز کنید و روی دکمه "نصب گواهی" کلیک کنید.

گواهینامه واردات جادوگر شروع می شود. محل مخزن "محلی PC" را مشخص کنید.

به عنوان یک مخزن، "مراکز صدور گواهینامه ریشه اعتماد" را انتخاب کنید.

در حال حاضر گواهینامه ما اعتماد دارد باز کردن آن دوباره، و در برگه "ترکیب"، ما یک اثر گواهی (certificatethumbprint) را پیدا می کنیم. آن را در کلیپ بورد کپی کنید.

شما هم اکنون می توانید یک شنونده برای HTTPS ایجاد کنید. کنسول PowerShell را باز کنید و دستور را وارد کنید:

winrm / config / listener -smaninstance -selectorset @ (address \u003d '*'؛ transport \u003d 'https') -valueset @ (hostname \u003d 'wks8'؛ certificatethumbrint \u003d 'xxx')

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

استثنائات پنجره های فایروال (اگر روشن است) برای یک شنونده جدید، باید به صورت دستی پیکربندی شود، به صورت خودکار آنها ایجاد نخواهد شد. بنابراین، ما یک قانون جدید برای ترافیک ورودی در TCP 5986 و 443 پورت ایجاد خواهیم کرد:

NEW-NETFIREWALLRULE -DISPLAYNAME "مدیریت راه دور ویندوز (HTTPS)" -Direct Inboundocol TCP -Localport 5986،443 -Action اجازه می دهد که درست باشد

همچنین، برای ایجاد قانون، می توانید از ضربه محکم و ناگهانی گرافیکی یا استفاده از خط فرمان Netsh استفاده کنید، که بیشتر شبیه است.

بعد، ما به کامپیوتر SRV1 می رویم که از آن ما متصل خواهیم شد. از آنجا که من از یک گواهی خودمختار استفاده می کنم، باید به گواهینامه های ریشه اعتماد و در مشتری اضافه شود. کپی فایل گواهی MySSL.cer در srv1 و نصب فرمان:

certutil -Adddstore ریشه C: \\ myssl.cer

این همه، تنظیم کامل شده است. حالا شما می توانید اتصال دهید جلسه تعاملی را در تیم WKS8 باز کنید:

ENTER-PSSession-Credential WKS8 \\ Kirill-UsessL

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

غیر فعال کردن چک

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

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

SkipCacheck - تایید تأیید ناشر گواهی؛
-Skipcncheck - لغو چک کردن انطباق با نام کامپیوتر.

ایجاد یک جلسه جدید با استفاده از این پارامترها می تواند به عنوان مثال در اینجا:

$گزینه \u003d NEW-PSSessionOption -Skipcacheck -skipcnCheck
Enter-Pssession -computername WKS8 -SessionOption $ Option-Credential WKS8 \\ Kirill -UsessL

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

تنظیمات اضافی

شروع با نسخه دوم، WinRM به طور پیش فرض به پورت 5985 برای HTTP و 5986 برای HTTPS گوش می دهد. برای سازگاری با نسخه های قدیمی (یا نه برای باز کردن پورت های اضافی در فایروال)، شما می توانید علاوه بر این می توانید شنوندگان را در پورت های سنتی 80 و 443 فعال کنید. برای http:

WSMAN SET-ITEM: \\ localhost \\ service \\ EnablecompatilityHttPlistener $ درست است

و برای https:

Set-Item Wsmer: \\ Localhost \\ Service \\ Ena$ درست است

همین امر می تواند با استفاده از سیاست های گروهی انجام شود. برای انجام این کار، در پیکربندی کامپیوتر / پیکربندی های اداری \\ قطعات ویندوز \\ مدیریت از راه دور ویندوز (WinRM) \\ WinRM Service (WinRM Service (Turnitization HTTP Listener را روشن کنید و سیاست های HTTPS را روشن کنید.

پورت های پیش فرض را می توان تغییر داد و نشان می دهد برای گوش دادن به هر پورت غیر استاندارد، به عنوان مثال پورت 8080:

Set-Item Wssman: \\ localhost \\ listener \\ listener * \\ Port -Value 8080

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

این همه است در مقالات، پیکربندی جلسات از راه دور را در نظر بگیرید، ایجاد نقطه پایان (نقطه پایانی)، و چیز دیگری در چیزهای کوچک 🙂