Windows PowerShell Web Access که اولین بار در ویندوز سرور ۲۰۱۲ ارائه شد، به عنوان دروازه Windows PowerShell و کنسول Windows PowerShell مبتنی بر وب که هدفش کنترل سیستمهای راه دور است، عمل میکند. این نرمافزار این مزیت را دارد که دستورات و اسکرپیتها windows PowerShell را از کنسول windows PowerShell در یک مرورگر اجرا کنند بدون اینکه نیاز باشد windows PowerShell یا نرمافزار remote management و یا پلاگینهای مرورگر بر روی دستگاه مشتری نصب شده باشد. Windows PowerShell Web Access به کاربران اجازه میدهد که با استفاده از Windows PowerShell در یک مرورگر وب به کامپبوترهایشان در سازمان دسترسی داشته باشند.
مرورگر و دستگاه های مشتری که پشتیبانی می کنند
• Windows® Internet Explorer® for Microsoft Windows® ۸٫۰, ۹٫۰, ۱۰٫۰, and 11.0
• Mozilla Firefox® ۱۰٫۰٫۲
• Google Chrome™ ۱۷٫۰٫۹۶۳٫۵۶m for Windows
• Apple Safari® ۵٫۱٫۲ for Windows
• Apple Safari 5.1.2 for Mac OS®
اگر چه مرورگرهای تلفن همراه به طور رسمی پشتیبانی نمیشوند اما بسیاری از آنها ممکن است قادر به اجرای کنسول Windows PowerShell مبتنی بر وب باشند. مرورگرهایی که کوکیها را میپذیرند و جاوا اسکریپت را اجرا میکنند و با وب سایتهای HTTPS کار میکنند ممکن است که توسط این نرم افزار پشتیبانی شوند اما به طور رسمی آزمایش نشدهاند.
Windows PowerShell Web Access در سه مرحله نصب و کانفیگ میشود:
۳- مرحله سوم کانفیگ قوانین مجازی که به کاربران اجازه میدهد به کنسول Windows PowerShell مبتنی بر وب دسترسی داشته باشند.
در ادامه ما مراحل نصب و کانفیگ را برای شما ارائه میدهیم:
مرحله اول: نصب Windows PowerShell Web Access
نصب Windows PowerShell Web Access با استفاده از cmdlet های Windows PowerShell Web Access
- در دسکتاپ ویندوز از قسمت taskbar بر روی Windows PowerShell راست کلیک کنید و گزینه Run as Administrator را کلیک کنید.
- در صفحه نمایش شروع ویندوز بر روی Windows PowerShell راست کلیک کنید و گزینه Run as Administrator را کلیک کنید.
Install-WindowsFeature –Name WindowsPowerShellWebAccess -ComputerName <computer_name> -IncludeManagementTools –Restart
۳- هنگامیکه نصب کامل شد، بررسی کنید که PowerShell Web Access که بر روی سرورهای مقصد با اجرای cmdletهای Get-WindowsFeature نصب شده بود، در کنسول Windows PowerShell که توسط کاربران سطح بالا باز شده، نصب است. شما همچنین میتوانید Windows PowerShell Web Access که بر روی کنسول مدیریت سرور نصب شده است را با انتخاب سرور مقصد در صفحه All Server بررسی کنید و تقشها و ویژگیها را برای سرور انتخاب شده مشاهده نمائید. شما همچنین میتوانید فایل Readme را برای Windows PowerShell Web Access ببینید.
۴- بعد از اینکه Windows PowerShell Web Access نصب شد، شما باید فایل Readme را مرور کنید که شامل دستورات پایه و دستورالعملهای موردنیاز برای تنظیم Gateway باشد. فایل Readme در مسیر C:\Windows\Web\PowerShellWebAccess\wwwroot\README.txt قرار دارد.
مرحله دوم: پیکربندی gateway برای Windows PowerShell Web Access
پیکربندی دروزاه Windows PowerShell Web Access با یک گواهینامه تست با استفاده از Install-PswaWebApplication:
۱- برای باز کردن Windows PowerShell Web Access یکی از گزینههای زیر را انتخاب کنید:
- در دسکتاپ ویندوز، از قسمت Taskbar بر روی Windows PowerShell راست کلیک کنید.
- در صفحه شروع ویندوز بر روی Windows PowerShell کلیک کنید.
Install-PswaWebApplication –UseTestCertificate
پیکربندی دروازه Windows PowerShell Web Access با گواهینامه واقعی با استفاده از Install-PswaWebApplication و IIS Manager:
- در دسکتاپ ویندوز، از قسمت Taskbar بر روی Windows PowerShell راست کلیک کنید.
- در صفحه شروع ویندوز بر روی Windows PowerShell کلیک کنید.
۲- دستور زیر را تایپ کنید و کلید Enter را بزنید.
Install-PswaWebApplication
• Path: /pswa
• ApplicationPool: pswa_pool
• EnabledProtocols: http
• PhysicalPath: %windir%/Web/PowerShellWebAccess/wwwroot
- در دسکتاپ ویندوز با کلیک بر روی Server manager در taskbar آنرا start کنید. در منوی tools در server manager بر روی Internet Information Services (IIS) Manager کلیک کنید.
- در صفحه نمایش شروع ویندوز بر روی server manager کلیک کنید.
۴- در پنجره درخت IIS Manager، گرهای را که سرور Windows PowerShell Web Access بر روی آن نصب شده است را گسترش دهید تا پوشه Site برای شما نمایش داده شود. پوشه های سایت را گسترش دهید.
۵- وبسایتی که نرمافزار وب Windows PowerShell Web Access را بر روی آن نصب کردهاید را انتخاب کنید. در پنجره Actions بر روی گزینه Bindings را کلیک کنید.
۶- در کادر محاورهای Site Binding بر روی Add کلیک کنید.
۷- در کادر محاورهای Add Site Binding در فیلد Type گزینه Https را انتخاب کنید.
۸- در فیلد SSL certificate، از منوی آبشاری signed certificate خود را انتخاب و ok کنید.
نرم افزار وب Windows PowerShell Web Access اکنون برای استفاده بر روی signed SSL certificate شما پیکربندی شده است. با وارد کردن آدرس https://<server_name>/pswa دریک پنجره مرورگر می توانید به Windows PowerShell Web Access دسترسی داشته باشید.
مرحله سوم: پیکربندی یک قانون با مجوز محدود
بعد از نصب PowerShell Web Access و پیکربندی Gateway کاربران میتوانند وارد صفحه ورود شوند اما تا زمانی که مدیر Windows PowerShell به آنها اجازه دسترسی ندهد نمیتوانند وارد سایت شوند. دسترسیهای PowerShell Web Access با استفاده از مجموعهای از Cmdlet های Windows PowerShell که در جدول زیر شرح داده شده است قابل کنترل است.
برای اضافه کردن قانون با مجوز محدود:
- در دسکتاپ ویندوز، از قسمت Taskbar بر روی Windows PowerShell راست کلیک کنید و بر روی گزینه Run as Administartor کلیک کنید.
- در صفحه نمایش شروع ویندوزبر روی Windows PowerShell راست کلیک کنید و بر روی گزینه Run as Administartor کلیک کنید.
۲- مراحل اختیاری را برای محدود کردن دسترسی کاربران با استفاده از تنظیمات Using Session انجام دهید.
Add-PswaAuthorizationRule –UserName <domain\user | computer\user> -ComputerName <computer_name> -ConfigurationName <session_configuration_name>
۴- شما میتوانید قانونی را که ایجاد کردید با استفاده از Get-PswaAuthorizationRule cmdlet چک کنید.
تنظیمات معمولی:
- در صفحه دسکتاپ ویندوز با کلیک بر روی server manager در قسمت taskbar ،server manager را باز کنید.
- یا در قسمت start ویندوز بر روی server manager کلیک کنید.
۲- از منوی manage بر روی Add Roles and Features کلیک کنید.
۳- در صفحه Select installation type، گزینه Role-based or feature- based installation را انتخاب کنید و next را کلیک کنید.
۴- در صفحه Select destination server یک سرور را از مجموعه سرورها و یا یک offline VHD را انتخاب کنید. برای انتخاب VHD آفلاین به عنوان سرور مقصد، ابتدا سروری که VHD روی آن بارگذاری میشود را انتخاب کنید و سپس فایل VHD را برای اطلاعات مربوط به چگونگی اضافه کردن سرور به مجموعه سرورها قسمت Server manager help بروید. پس از انتخاب سرور مقصد بر روی گزینه next کلیک کنید.
۵- در صفحه Select features از ویزاد، Windows PowerShell را باز کنید و سپس Windows PowerShell Web Access را انتخاب کنید.
۶- توجه داشته باشید که باید گزینههای مورد نیاز را مانند .NET Framework 4.5 و نقش خدمات (Web Server (IIS را اضافه کنید. گزینههای مورد نیاز را اضافه کرده و ادامه دهید.
نکته: نصب Windows PowerShell Web Access با استفاده از Add Roles and Features ،Web server را که IIS Manager snap-in را در برمیگیرد را نیز نصب میکند. span-in و دیگر ابزارهای مدیریت IIS اگر از Add Roles and Features Wizard استفاده کنید به صورت پیشفرض نصب هستند. اگر Windows PowerShell Web Access را با استفاده از Windows PowerShell cmdlets، همانطور که زیر آمده است نصب کنید، ابزارهای مدیریت به صورت پیشفرض نصب نمیشوند.
۷- در صفحه Confirm installation selections، اگر فایلهای PowerShell Web Access در سروری که در مرحله ۴ انتخاب کردهاید، ذخیره نشدهاند روی Specify an alternate source path کلیک کنید و مسیر را از روی فایلها اعمال کنید در غیر اینصورت Install را کلیک کنید.
مرحله دوم: پیکربندی Gateway
این بخش همچنین دستورالعملهایی برای چگونگی استفاده از IIS manager به منظور پیکربندی مسیر Gateway در Windows PowerShell Web Access به عنوان وب سایت اصلی است.
استفاده از IIS manager برای پیکربندی مسیر Gateway در سایت موجود.
استفاده از IIS manager برای پیکربندی مسیر Gateway به عنوان یک وبسایت اصلی با گواهی قسمت.
استفاده از IIS manager برای پیکربندی مسیرGateway در سایت موجود:
- در صفحه دسکتاپ server manager را با کلیک بر روی آن در قسمت task bar ویندوز باز کنید. در منوی tools بر روی Internet Information server manager کلیک کنید.
- در قسمت Start ویندوز بخشی از عبارت Internet Information server manager را تایپ کنید. روی Shortcut که در قسمت Apps ایجاد میشود کلیک کنید.
۲- یک مخزن نرمافزار برای PowerShell Web Access ایجاد کنید.گره Gateway Server را در پنجره درخت IIS Manager گسترش دهید و گزینه Application tools را انتخاب کنید و روی گزینه Add application tools در پنجره Action کلیک کنید.
۳- یک مخزن نرمافزار جدید با نام pswa_pool اضافه کنید و بر روی OK کلیک کنید.
۴- در قسمت پنجره درخت IIS Manager، گرهای که PowerShell Web Access بر روی آن نصب است را باز کنید تا پوشه Site پدیدار شود، آن را انتخاب کنید.
۵- بر روی وبسایتی (برای مثال default website) که میخواهید وبسایت PowerShell Web Access را به آن اضافه کنید راست کلیک کرده و سپس add application را بزنید.
۶- در قسمت Alias، PowerShell Web Access را تایپ کنید یا یک Alias دیگر را ارائه کنید. این Alias نام راهنمای مجازی میشود. مثلا pswa در URL زیر نشاندهنده نام عاریتی در این مرحله است. https://<servername>/pswa
۷- در قسمت Applicatin pool، مخزن برنامهای که در مرحله ۳ ایجاد کرده بودید را انتخاب کنید.
۸- در قسمت Physical path، محل برنامه را مشخص کنید. میتوانید از محل پیشفرض انتخاب کنید: windir/web و سپس ok را کلیک کنید.
۹- مراحل ذکر شده در قسمت پیکربندی گواهی SSL در IIS manager همین مقاله را بخوانید.
setting از کاربران متصل به وب سایت WPWA درخواست گواهی سرویس گیرنده کنید. گواهی سرویسگیرنده به شما کمک میکند هویت سرویس گیرنده را بررسی کنید.
نکته: تا زمانی که به کاربران امکان دسترسی به سایت یا اضافه کردن قوانین داده نشود شما نمیتوانید وارد سایت شوید.
۱۲- در یک قسمت از Windows PowerShell که با حقوق و امکانات بالا (Run as administrator) باز شده است، فایل آغازگر زیر را که در آن application_pool_name نشاندهنده نام مخزن برنامهای است که در مرحله ۳ ایجاد کردید را اجرا کنید تا به مخزن برنامه امکان دسترسی به فایلها داده شود.
استفاده از IIS Mmanager برای پیکربندی مسیر دریچه به عنوان وب سایت اصلی با گواهی تست:
- در صفحه دسکتاپ ویندوز Server manager را با کلیک بر روی آن در قسمت Taskbar ویندوز باز کنید. در قسمت tools در server manager روی Internet Information Services (IIS) Manager کلیک کنید.
- در صفحه شروع ویندوز قسمتی از Internet Information Services (IIS) Manager را تایپ کنید. بر روی shortcut که در قسمت apps نمایش داده میشود را کلیک کنید.
۲- در پنجره درخت IIS Nanager، گره سروری که روی آن وب سایت Windows PowerShell Web access را باز کنید تا پوشه سایت برای شما نشان داده شود. پوشه سایت را انتخاب کنید.
۳- در صفحه Actions بر روی Add Website کلیک کنید.
۴- نام وبسایت را تایپ کنید به عنوان مثال PowerShell Web Access را تایپ کنید.
۵- یک مخزن برنامه به صورت خودکار برای وبسایت ایجاد میشود. برای استفاده از یک مخزن برنامه متفاوت Select را کلیک کنید تا یک مخزن برنامه را برای ارتباطدهی با وب سایت جدید انتخاب کنید. مخزن برنامه جایگزین را در کادر Select Application Pool انتخاب کنید و Ok را بزنید.
۶- در کادر Physical path این آدرس را وارد کنید.
۷- در قسمت Type از بخش Binding گزینه https را انتخاب کنید.
اگر وبسایت دیگری از پورت ۴۴۳ استفاده میکند یا دلایل امنیتی دیگری دارید، شماره پورت را تغییر دهید. اگر وبسایت دیگری روی مسیر Gateway از شماره پورت انتخابی شما استفاده میکند، هنگامیکه کلید OK را در کادر Add Website میزنید، هشدار نشان داده میشود بنابراین باید پورتی که استفاده نشده است را انتخاب کنید.
۹- در صورت تمایل اگر برای سازمان لازم است یک Host name (نام میزبان) را که معقول و مناسب کاربران و سازمان است را انتخاب کنید و Ok را بزنید.
۱۰- برای یک محیط تولید ایمنتر، توصیه میکنیم که از یک گواهی معتبر که توسط CA به امضا رسیده است را استفاده کنید. شما باید یک گواهی SSL ارائه کنید زیرا کاربران تنها از طریق وبسایت https میتوانند به PowerShell Web Access متصل شوند.
۱۱- روی گزینه ok کلیک کنید تا کادر Add Website بسته شود.
$applicationPoolName = <application_pool_name>
$authorizationFile = "C:\windows\web\powershellwebaccess\data\AuthorizationRules.xml"
c:\windows\system32\icacls.exe $authorizationFile /grant ('"' + "IIS AppPool\$applicationPoolName" + '":R') > $null
c:\windows\system32\icacls.exe $authorizationFile
۱۳- با وب سایت جدید انتخاب شده در پنجره درخت IIS Manager برای باز کردن و آغاز به کار وبسایت بر روی گزینه Start در پنجره action کلیک کنید.
۱۴- یک مرورگر را روی دستگاه یک سرویس گیرنده باز کنید.
نکته: با به کاربران اجازه دسترسی به وبسایت، با اضافه کردن قوانین اجازه، داده نشود نمیتوانید وارد شوند.
مرحله سوم: پیکربندی یک قانون با مجوز محدود
بعد از نصب PowerShell Web Access و پیکربندی Gateway کاربران میتوانند وارد صفحه ورود شوند اما تا زمانی که مدیر Windows PowerShell به آنها اجازه دسترسی ندهد نمیتوانند وارد سایت شوند. دسترسیهای PowerShell Web Access با استفاده از مجموعهای از Cmdlet های Windows PowerShell که در جدول زیر شرح داده شده است قابل کنترل است. هیچ رابط کاربری گرافیکی قابل مقایسه برای اضافه کردن یا مدیریت مجوز وجود دارد.
برای اضافه کردن قانون با مجوز محدود
- در دسکتاپ ویندوز، از قسمت Taskbar روی Windows PowerShell راست کلیک کنید و روی گزینه Run as Administartor کلیک کنید.
- در صفحه نمایش شروع ویندوز روی Windows PowerShell راست کلیک کنید و روی گزینه Run as Administartor کلیک کنید.
۲- مراحل اختیاری را برای محدود کردن دسترسی کاربران با استفاده از تنظیمات Using Session انجام دهید. بررسی کنید که تنظیماتی که میخواهید در قوانین خود استفاده کنید، در حال حاضر وجود دارد.
Add-PswaAuthorizationRule –UserName <domain\user | computer\user> -ComputerName <computer_name> -ConfigurationName
<session_configuration_name>
پس از اینکه قانون مجوز پیکربندی شدهاند، شما برای ورود کاربران مجاز به کنسول مبتنی بر وب و شروع به استفاده Powershell Web Access آماده هستید.
پیکربندی یک گواهینامه واقعی:
برای یک محیط تولید امن، همیشه از یک گواهینامه SSL معتبر که توسط مرجع صدور گواهینامه (CA) امضا شده است، استفاده کنید. در این قسمت نحوه به دست آوردن و استفاده از یک گواهینامه SSL که توسط CA امضا شده است را ارائه میدهیم.
پیکربندی یک گواهینامه SSL در IIS Manager:
۱- در پنجره درخت IIS Manager سروری که Powershell Web Access روی آن نصب است را انتخاب کنید.
۲- در پنجره محتوا بر روی Server Certificates دوبار کلیک کنید.
- برای وارد کردن گواهینامه معتبر از یک مکان از شبکه خود بر روی گزینه Import کلیک کنید.
- برای درخواست یک گواهینامه از CA بر روی گزینه Create Certificate Request کلیک کنید.
- برای استفاده فوری از یک گواهی که بعدا میتوانید توسط CA آن را امضا کنید بر روی گزینه Create a Self-Signed Certificate را کلیک کنید.
۴- پس از ایجاد یا به دست آوردن یک گواهینامه وبسایتی که میخواهید گواهینامه بر روی آن اعمال شود را انتخاب کنید. در پنجره درخت IIS Manager، روی گزینه Binding در پنجره درخت Action کلیک کنید.
۵- در کادر Add Site Binding، برای سایت Https را اضافه کنید اگر در حال حاضر نمایش داده نمیشود. اگر شما از یک گواهی خود امضا استفاده میکنید این مرحله نیاز نیست.
Great post. I was checking continuously this blog and I am impressed!
Very useful information particularly the last part 🙂 I care
for such info much. I was seeking this certain information for a very
long time. Thank you and best of luck.
سلام عزیزم شما دقیقا رفتی مطلب سایت مایکروسافت رو فارسی نوشتی همین خو این کافی نیست رفیق اگه مطلب بدرد بخور می خوای داشته باشی بایت خودت هم یه دست امتحان کنی چیزایی که نوشتی تا متوجه بشی کامل نیست مثلا من به دنبال مفهوم سویچ ConfigurationName در دستور Add-PswaAuthorizationRule وارد این سایت شدم ولی چون همه مطلب یه کپی سادست در این مورد چیزی ندیدم بازم سایت مایکروسافت حداقل یه لینک برای این مطلب گذاشته شما چی.
درود بر شما، قطعا این مطلب صرفا یک کپی از سایت مایکروسافت نیست، دلیل کار نکردن صحیح سوئیچ ConfigurationName این هست که در آموزش، در حین انتقال مقاله از سیستم قبلی به این سیستم، این سوئیچ به خط بعدی رفته است و به همین دلیل شما دچار اشتباه شده اید. این موضوع جهت اصلاح به همکاران مربوطه ارجاع شد. سپاس از شما.