شرکت مایکروسافت

Windows PowerShell Web Access

Windows PowerShell Web Access: آموزش نصب و استفاده

3.2kviews

Windows PowerShell Web Access که اولین بار در ویندوز سرور ۲۰۱۲ ارائه شد، به عنوان دروازه Windows PowerShell و کنسول  Windows PowerShell مبتنی بر وب که هدفش کنترل سیستم‌های راه دور است، عمل می‌کند. این نرم‌افزار این مزیت را دارد که دستورات و اسکرپیت‌ها windows PowerShell را از کنسول windows PowerShell در یک مرورگر اجرا کنند بدون اینکه نیاز باشد windows PowerShell یا نرم‌افزار remote management و یا پلاگین‌های مرورگر بر روی دستگاه مشتری نصب شده باشد. Windows PowerShell Web Access به کاربران اجازه می‌دهد که با استفاده از Windows PowerShell در یک مرورگر وب به کامپبوترهایشان در سازمان دسترسی داشته باشند.

مواردی که ما برای اجرای کنسول Windows PowerShell Web Access مبتنی بر وب نیاز داریم یک دروازه Windows PowerShell Web Access است که به درستی پیکربندی شده باشد و یک مرورگر در دستگاه مشتری که از JavaScript® و کوکی پشتیبانی کند.
برای اجرای Windows PowerShell Web Access به وب سرور IIS، .NET Framework 4.5 و Windows PowerShell 3.0 و یا Windows PowerShell 4.0 نیاز داریم.

مرورگر و دستگاه های مشتری که پشتیبانی می کنند

Windows PowerShell Web Access تمامی مرورگرهای زیر را پشتیبانی می‌کند:
• 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 در سه مرحله نصب و کانفیگ می‌شود:

۱-    مرحله اول نصب PowerShell Web Access است.
۲-    مرحله دوم کانفیگ Gateway است.

۳-    مرحله سوم کانفیگ قوانین مجازی که به کاربران اجازه می‌دهد به کنسول Windows PowerShell مبتنی بر وب دسترسی داشته باشند.

در ادامه ما مراحل نصب و کانفیگ را برای شما ارائه می‌دهیم:

مرحله اول: نصب Windows PowerShell Web Access

نصب Windows PowerShell Web Access با استفاده از cmdlet های Windows PowerShell Web Access

۱-    برای باز کردن Windows PowerShell Web Access یکی از مراحل زیر را انجام دهید:
  •     در دسکتاپ ویندوز از قسمت taskbar بر روی Windows PowerShell راست کلیک کنید و گزینه Run as Administrator را کلیک کنید.
  •     در صفحه نمایش شروع ویندوز بر روی Windows PowerShell راست کلیک کنید و گزینه Run as Administrator را کلیک کنید.
۲-    در ادامه دستور زیر را تایپ کنید و کلید enter کنید. computer_name، نام کامپیوتر راه دوری است که شما می‌خواهید بر روی آن Windows PowerShell Web Access نصب کنید را نمایش می‌دهد. پارامترهای راه‌اندازی مجدد در صورت نیاز به صورت اتوماتیک در سرور مقصد راه اندازی می‌شوند.
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

استفاده از Install-PswaWebApplication cmdlet یک راه سریع برای پیکربندی Windows PowerShell Web Access است. اگرچه شما می‌توانید  پارامتر UseTestCertificate به Install-PswaWebApplication cmdlet جهت نصب یک گواهینامه self-signed SSL certificate برای تست اهداف آزمایشی اضافه کنید، اما این روش مطمعن و امنی نیست. برای ایجاد یک محیط امن از یک گواهینامه SSL که توسط یک مرجع صدور معتبر امضا شده است، استفاده کنید. مدیران می‌توانند گواهی تست را با یک گواهی امضادار به انتخاب خود و با استفاده از کنسول IIS Manager جایگزین کنند. در ادامه ما دو روش پیکربندی دروازه Windows PowerShell Web Access را برای شما ارائه می‌دهیم.

پیکربندی دروزاه Windows PowerShell Web Access با یک گواهینامه تست با استفاده از Install-PswaWebApplication:

۱-    برای باز کردن Windows PowerShell Web Access یکی از گزینه‌های زیر را انتخاب کنید:

  •    در دسکتاپ ویندوز، از قسمت Taskbar بر روی Windows PowerShell راست کلیک کنید.
  •   در صفحه شروع ویندوز بر روی Windows PowerShell کلیک کنید.
۲-    دستور زیر را تایپ کنید و کلید Enter را بزنید.
Install-PswaWebApplication –UseTestCertificate

پیکربندی دروازه Windows PowerShell Web Access با گواهینامه واقعی با استفاده از Install-PswaWebApplication و IIS Manager:

۱-    برای باز کردن Windows PowerShell Web Access یکی از گزینه‌های زیر را انتخاب کنید:
  •     در دسکتاپ ویندوز، از قسمت Taskbar بر روی Windows PowerShell راست کلیک کنید.
  •     در صفحه شروع ویندوز بر روی Windows PowerShell کلیک کنید.

۲-    دستور زیر را تایپ کنید و کلید Enter را بزنید.

Install-PswaWebApplication
تنظیمات Gateway که در ادامه آمده است، در حال اجرای cmdlet پیکربندی شده است. شما می‌توانید این تنظیمات را به صورت دستی در کنسول IIS manager در صورت دلخواه تغییر دهید. شما می‌توانید مقادیر پارامترهای WebsiteName و WebApplicationName را در Install-PswaWebApplication cmdlet مشخص کنید.
• Path: /pswa
• ApplicationPool: pswa_pool
• EnabledProtocols: http
• PhysicalPath: %windir%/Web/PowerShellWebAccess/wwwroot
۳-    کنسول IIS Manager را با استفاده از یکی از روش‌های زیر باز کنید.
  •     در دسکتاپ ویندوز با کلیک بر روی 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 که در جدول زیر شرح داده شده است قابل کنترل است.

برای اضافه کردن قانون با مجوز محدود:

۱-    یکی از گزینه‌های زیر را برای باز کردن Windows PowerShell با استفاده از کاربران با حقوق بالا انتخاب کنید:
  •     در دسکتاپ ویندوز، از قسمت Taskbar بر روی Windows PowerShell راست کلیک کنید و بر روی گزینه Run as Administartor کلیک کنید.
  •     در صفحه نمایش شروع ویندوزبر روی  Windows PowerShell راست کلیک کنید و بر روی گزینه Run as Administartor کلیک کنید.

۲-    مراحل اختیاری را برای محدود کردن دسترسی کاربران با استفاده از تنظیمات Using Session انجام دهید.

۳-    در ادامه دستور زیر را تایپ کنید و Enter را بزنید.
Add-PswaAuthorizationRule –UserName <domain\user | computer\user> -ComputerName <computer_name> -ConfigurationName <session_configuration_name>

۴-    شما می‌توانید قانونی را که ایجاد کردید با استفاده از Get-PswaAuthorizationRule cmdlet چک کنید.

تنظیمات معمولی:

مرحله اول: نصب Windows PowerShell Web Access
به منظور نصب Windows PowerShell Web Access با استفاده از Add Roles and Features Wizard:
۱- اگر server manager باز است به مرحله بعد بروید اما اگر باز نیست به یکی از روش‌های زیر اینکار را انجام دهید:
  •     در صفحه دسکتاپ ویندوز با کلیک بر روی 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 را کلیک کنید.

۸- بعد از اینکه Install را زدید، در صفحه Installation progress، پیشرفت مراحل نصب، نتیجه و پیام‌هایی از جمله هشدارها، خطاها و یا مراحل تایید پس از نصب موردنیاز برای نصب Windows PowerShell Web Access را نشان می‌دهد. پس از اینکه Windows PowerShell Web Access نصب شد باید فایل Readme را مطالعه‌ای مختصر بنمائید زیرا دستورالعمل‌های ابتدایی موردنیاز برای مسیر دریچه (Gateawy) را در برمی‌گیرد. این دستورالعمل‌ها در همین قسمت هم نیز آورده شده‌اند. مسیر فایل Readme این است. C:\Windows\Web\PowerShellWebAccess\wwwroot\README.txt.

مرحله دوم: پیکربندی Gateway

دستورالعمل‌های این قسمت برای نصب برنامه PowerShell Web Access در یک فهرست فرعی – و نه در یک مسیر اصلی – وب‌سایت هستند. این فرآیند معادل GUI محور اقدامات انجام شده توسط Install – psw a web application است.

این بخش همچنین دستورالعمل‌هایی برای چگونگی استفاده از IIS manager به منظور پیکربندی مسیر Gateway در Windows PowerShell Web Access به عنوان وب سایت اصلی است.

    استفاده از IIS  manager برای پیکربندی مسیر Gateway در سایت موجود.

    استفاده از IIS manager برای پیکربندی مسیر Gateway به عنوان یک وب‌سایت اصلی با گواهی قسمت.


استفاده از IIS  manager برای پیکربندی مسیرGateway در سایت موجود:

۱- کنسول IIS manager را به یکی از روش‌های زیر باز کنید.
  •     در صفحه دسکتاپ 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 همین مقاله را بخوانید.

۱۰- مرحله امنیتی اختیاری: وقتی که وب‌سایت در پنجره درخت انتخاب شده است، در پنجره محتوا بر روی SSL Setting دابل کلیک کنید. گزینه repaire SSL را انتخاب کنید، سپس در پنجره actions روی گزینه apply کلیک کنید. می‌توانید در صورت تمایل در پنجره SSL
setting از کاربران متصل به وب سایت WPWA درخواست گواهی سرویس گیرنده کنید. گواهی سرویس‌گیرنده به شما کمک می‌کند هویت سرویس گیرنده را بررسی کنید.
۱۱- وب سایت Windows PowerShell Web access را باز کنید https://<Gateway-server-name>/pswa
مرورگر باید صفحه کنسول Windows PowerShell Web Access  را نشان دهد.

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

۱۲- در یک قسمت از Windows PowerShell که با حقوق و امکانات بالا (Run as administrator) باز شده است، فایل آغازگر زیر را که در آن application_pool_name نشان‌دهنده نام مخزن برنامه‌ای است که در مرحله ۳ ایجاد کردید را اجرا کنید تا به مخزن برنامه امکان دسترسی به فایل‌ها داده شود.

استفاده از IIS Mmanager برای پیکربندی مسیر دریچه به عنوان وب سایت اصلی با گواهی تست:

۱- به یکی از روش‌های زیر کنسول IIS Manager را باز کنید.
  •     در صفحه دسکتاپ ویندوز 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 را انتخاب کنید.

۸- یک شماره پورت را که مورد استفاده وب‌سایت یا برنامه‌ای نیست به این وب‌سایت اختصاص دهید. برای موقعیت‌یابی پورت‌های باز می‌توانید دستور netstat را در Command Prompt اجرا کنید.
شماره پورت پیش فرض ۴۴۳ است.

اگر وب‌سایت دیگری از پورت ۴۴۳ استفاده می‌کند یا دلایل امنیتی دیگری دارید، شماره پورت را تغییر دهید. اگر وب‌سایت دیگری روی مسیر Gateway از شماره پورت انتخابی شما استفاده می‌کند، هنگامی‌که کلید OK را در کادر Add Website می‌زنید، هشدار نشان داده می‌شود بنابراین باید پورتی که استفاده نشده است را انتخاب کنید.

۹- در صورت تمایل اگر برای سازمان لازم است یک Host name (نام میزبان) را که معقول و مناسب کاربران و سازمان است را انتخاب کنید و Ok را بزنید.

۱۰- برای یک محیط تولید ایمن‌تر، توصیه می‌کنیم که از یک گواهی معتبر که توسط CA به امضا رسیده است را استفاده کنید. شما باید یک گواهی SSL ارائه کنید زیرا کاربران تنها از طریق وب‌سایت https می‌توانند به  PowerShell Web Access متصل شوند.

۱۱- روی گزینه ok کلیک کنید تا کادر Add Website بسته شود.

۱۲- در یک قسمت Windows PowerShell که با امکانات افزایش یافته کاربر (Run as Administrator) باز شده است، فایل آغازگر زیر را اجرا کنید که در آن application_pool_name نشان‌دهنده نام مخزن برنامه‌ای است که در مرحله ۴ ایجاد  کرده‌اید تا به مخزن برنامه اجازه دسترسی به فایل اجازه (authorization file) را داده باشید.
$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 کلیک کنید.

۱۴- یک مرورگر را روی دستگاه یک سرویس گیرنده باز کنید.

۱۵- وب‌سایت Windows PowerShell Web Access را باز کنید.
از آنجا که وب سایت اصلی (root) به پوشه Windows PowerShell Web Access اشاره می‌کند و برمی‌گردد، مرورگر باید صفحه sign-in از Windows PowerShell Web Access را هنگامی که https://< gateway_server_name> را باز می‌کنید نشان می‌دهد نباید نیازی به اضافه کردن /pswa داشته باشد.

نکته: با به کاربران اجازه دسترسی به وب‌سایت، با اضافه کردن قوانین اجازه، داده نشود نمی‌توانید وارد شوند.

مرحله سوم: پیکربندی یک قانون با مجوز محدود

بعد از نصب  PowerShell Web Access و پیکربندی Gateway کاربران می‌توانند وارد صفحه ورود شوند اما تا زمانی که مدیر Windows PowerShell به آنها اجازه دسترسی ندهد نمی‌توانند وارد سایت شوند. دسترسی‌های  PowerShell Web Access با استفاده از مجموعه‌ای از Cmdlet های Windows PowerShell که در جدول زیر شرح داده شده است قابل کنترل است. هیچ رابط کاربری گرافیکی قابل مقایسه برای اضافه کردن یا مدیریت مجوز وجود دارد.

برای اضافه کردن قانون با مجوز محدود

۱- یکی از گزینه‌های زیر را برای باز کردن Windows PowerShell با استفاده از کاربران با سطح دسترسی بالا  انتخاب کنید:
  •     در دسکتاپ ویندوز، از قسمت Taskbar روی Windows PowerShell راست کلیک کنید و روی گزینه Run as Administartor کلیک کنید.
  •     در صفحه نمایش شروع ویندوز روی  Windows PowerShell راست کلیک کنید و روی گزینه Run as Administartor کلیک کنید.

۲- مراحل اختیاری را برای محدود کردن دسترسی کاربران با استفاده از تنظیمات Using Session انجام دهید. بررسی کنید که تنظیماتی که می‌خواهید در قوانین خود استفاده کنید، در حال حاضر وجود دارد.

۳- در ادامه دستور زیر را تایپ کنید و Enter را بزنید.

Add-PswaAuthorizationRule –UserName <domain\user | computer\user> -ComputerName <computer_name> -ConfigurationName<session_configuration_name>

۴- شما می‌توانید قانونی را که ایجاد کردید با استفاده از Get-PswaAuthorizationRule cmdlet و یا Test-PswaAuthorizationRule -UserName <domain\user | computer\user> -ComputerName چک کنید.
پس از این‌که قانون مجوز پیکربندی شده‌اند، شما برای ورود کاربران مجاز به کنسول مبتنی بر وب و شروع به استفاده  Powershell Web Access آماده هستید.

پیکربندی یک گواهینامه واقعی:

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

پیکربندی یک گواهینامه SSL در IIS Manager:

۱- در پنجره درخت IIS Manager سروری که Powershell Web Access روی آن نصب است را انتخاب کنید.

۲- در پنجره محتوا بر روی Server Certificates دوبار کلیک کنید.

۳- در پنجره Action، یکی از گزینه‌های زیر را انجام دهید:
  •     برای وارد کردن گواهینامه معتبر از یک مکان از شبکه خود بر روی گزینه Import  کلیک کنید.
  •     برای درخواست یک گواهینامه از CA بر روی گزینه Create Certificate Request کلیک کنید.
  •     برای استفاده فوری از یک گواهی که بعدا می‌توانید توسط CA آن را امضا کنید بر روی گزینه Create a Self-Signed Certificate را کلیک کنید.

۴- پس از ایجاد یا به دست آوردن یک گواهینامه وب‌سایتی که می‌خواهید گواهینامه بر روی آن اعمال شود را انتخاب کنید. در پنجره درخت IIS Manager، روی گزینه Binding در پنجره درخت Action کلیک کنید.

۵- در کادر Add Site Binding، برای سایت Https را اضافه کنید اگر در حال حاضر نمایش داده نمی‌شود. اگر شما از یک گواهی خود امضا استفاده می‌کنید این مرحله نیاز نیست.

۶- گواهینامه‌ای که در مرحله ۳ ایجاد کردید یا به دست آوردید را انتخاب کنید و بر روی گزینه Ok کلیک کنید.

نحوه بکاپ‌گیری از SQL Server توسط PowerShell

1.5kviews

برای بکاپ‌گیری از بانک‌های اطلاعاتی Microsoft SQL Server به راحتی می‌توانید با استفاده از ماژول PowerShell که در نسخه ۲۰۱۲ معرفی شده است استفاده نمائید.

درصورتی‌که نسخه ۲۰۱۲ به بالا را به همراه Client Tools نصب نموده‌اید ماژول SQLPS قبلا نصب شده است.
جهت بررسی این مورد از دستور زیر می‌توانید استفاده نمائید:

Get-Module -ListAvailable

در صورت لزوم باید نرم‌افزارهای مورد نیاز را دانلود و نصب نمائید:

http://www.microsoft.com/en-us/download/details.aspx?id=29065

  • Microsoft® System CLR Types for Microsoft® SQL Server® ۲۰۱۲ (SQLSysClrTypes.msi)
  • Microsoft® SQL Server® ۲۰۱۲ Shared Management Objects (SharedManagementObjects.msi)
  • Microsoft® Windows PowerShell Extensions for Microsoft® SQL Server® ۲۰۱۲ (PowerShellTools.msi)

سپس برای فراخوانی ماژول‌ها:

Import-Module sqlps

پس از نصب ۴۶ دستور اضافه خواهد شد که موارد زیر از پرکاربردترین آن‌هاست.

 

Backup-SqlDatabase
Restore-SqlDatabase
Backup-ASDatabase
Restore-ASDatabase

 

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

 


$DateTime = Get-Date -Format yyyyMMddHHmmss
$ServerInstance = "localhost\sqlexpress"
$Database = "databasenametobackup"
Backup-SqlDatabase -ServerInstance $ServerInstance -Database $Database -BackupFile "C:\path\to\store\backup\backup-$DateTime.bak"

مدیریت IIS: فعال‌سازی و تنظیم IIS توسط PowerShell از راه دور

3.4kviews
مدیریت IIS سرورهای وب  از طریق GUI در صورتی که دسترسی به سرور داشته باشید بسیار ساده است، اما اگر شما نیز مثل من تعداد زیادی WebServer در موقعیت‌های مختلف و یا Cloud دارید دسترسی به کنسول سرور دشوار و یا بدتر از آن از RDP برای مدیریت آن‌ها استفاده می‌کنید که این روش شما اصلا منطقی و در راستای بهترین راه‌کارهای پیشنهاد توسط مایکروسافت نیست. راه‌کار بسیار بهتر و موثرتری برای مدیریت تعداد زیادی سرور از راه دور وجود دارد که همانا PowerShell Remoting برای مدیریت IIS است.


مراحل کار:

اگر قبلا این کار را از طریق GUI انجام داده‌اید در جریان مراحل انجام کار هستید، از طریق PowerShell نیز انجام این مراحل به همان شکل است با این تفاوت که بسیار سریعتر و کم‌دردسرتر است. ترتیب اجرای موارد به صورت زیر است:
۱- برقراری یک ارتباط (Session) با هر سرور
۲- نصب IIS Management Service
۳- فعال‌سازی IIS Management Service
۴- استارت سرویس WMSVC
۵- جایگزینی گواهینامه امنیتی Self-Signed
۶- اتصال از طریق IIS Manager

 

در این آموزش این سرویس را بر روی ۴ سرور مختلف با نام‌های web1,web2,web3 و web4 به صورت یک‌جا نصب خواهیم نمود.

۱- تعریف PowerShell Remoting برای Web Server ها برای مدیریت IIS

ابتدا یک متغیر با نام $Servers ایجاد می‌کنیم و تمامی نام‌های کامپیوترها را درون آن قرار می‌دهیم. شما نیز می‌توانید لیست آن‌ها را از یک فایل .csv و یا .txt نیز فراخوانی کنید. اگر سرورهای شما در Active Directory هستند می‌توانید با استفاده از دستور Get-ADComputer نیز سرورهای مقصد خود را شناسایی نمائید.
PS C:\ZAGRIO> $Servers = "web1,web2,web3,web4"
سپس یک Session به سمت هر سرور ایجاد می‌کنیم:
PS C:\ZAGRIO> $Sessions = New-PSSession -ComputerName $Servers

۲- نصب سرویس IIS Remote Management

با استفاده از دستور زیر برای تمامی سرورها سرویس IIS Remote Management را نصب میکنیم.
PS C:\ZAGRIO> Invoke-Command –Session $Sessions –ScriptBlock {Install-WindowsFeature Web-Mgmt-Service}

پس از نصب لازم است سرویس را فعال کنیم اما برای این کار cmdlet وجود ندارد

۳- فعال‌سازی سرویس Management Service برای مدیریت IIS

به صورت پیش‌فرض سرویس مدیریت IIS بر روی پورت ۸۱۲۷ فعال است. همچنین به صورت پیش‌فرض با نصب این سرویس یک گواهینامه امنیتی Self-Signed با مدت اعتبار ۱۰ سال نیز ایجاد می‌گردد. اگر در شبکه داخلی از این امکان می‌خواهید استفاده کنید این مورد اشکالی ندارد اما در ادامه به شما نشان خواهیم داد که به چه صورت آن را با یک گواهینامه امنیتی مورد اعتماد جایگرین نمائید. برای فعال‌سازی سرویس از دستور زیر استفاده می‌کنیم:

PS C:\ZAGRIO> Invoke-command –Session $Sessions -ScriptBlock{Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WebManagement\Server -Name EnableRemoteManagement -Value 1}
حال سرویس شما فعال شده است اما کماکان لازم است سرویس مورد نظرstart شود .

۴- روشن کردن سرویس Management Service

با استفاده از دستورات زیر سرویس را start کرده و در حالت Automatic نیز قرار می‌دهیم تا با هر بار restart شدن سرور، سرویس مجددا فعال شود.
PS C:\ZAGRIO> Invoke-command –Session $Sessions -ScriptBlock {Set-Service -name WMSVC -StartupType Automatic}

PS C:\ZAGRIO> Invoke-command –Session $Sessions -ScriptBlock {Start-service WMSVC}

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

۵- جایگزین کردن گواهینامه امنیتی برای مدیریت IIS

شما می‌توانید یک گواهینامه امنیتی معتبر را از یک سرویس‌دهنده و یا Active Directory Certificate Services برای مدیریت سرورهای داخلی دریافت کنید.
گواهینامه را با فرمت .pfx به همراه یک کلمه عبور ذخیره کنید سپس با استفاده از دستور CertUtil.exe آن را نصب نمائید.
ابتدا فایل را در هر سرور کپی کنید سپس:

PS C:\ZAGRIO> $Servers | Foreach-Object {Copy-Item -Path C:\Remote.Company.loc.pfx -Destination "\\$_\c$"}
PS C:\ZAGRIO> Invoke-Command -Session $Sessions {certutil -p P@ssw0rd -importpfx c:\Remote.company.loc.pfx}
توجه داشته باشید که رمز عبور به صورت PLAIN در کد وجود دارد با توجه به اینکه ارتباط PS Remoting امن و کدگذاری شده است جای نگرانی وجود ندارد اما پیشنهاد می‌شود در اسکریپت‌های خودکار از این مهم اجتناب کنید.
پس از نصب فایل‌های .pfx را به دلایل امنیتی حذف کنید:
PS C:\ZAGRIO> $Servers | Foreach-Object {Remove-Item -Path "\\$_\c$\remote.Company.loc.pfx"}
در این مرحله لازم است Thumbprint گواهینامه امنیتی نصب شده را دریافت و آن را با سرویس Management Service جایگزین نمائید. برای این کار به PSProvider مربوطه به IIS نیاز دارید. ماژول WebAdministration را با دستور زیر فراخوانی کنید:
PS C:\ZAGRIO> Invoke-Command -Session $Sessions {Import-Module WebAdministration}
Thumbprint گواهینامه امنیتی را دریافت کنید:
PS C:\ZAGRIO> Invoke-Command -Session $Sessions {$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where {$_.subject -like "*company*"} | Select-Object -ExpandProperty Thumbprint}
تنظیمات قبلی SSL Binding را حذف کنید:
PS C:\ZAGRIO> Invoke-command -Session $Sessions {Remove-Item -Path IIS:\SslBindings\0.0.0.0!8172}
تنظیمات جدید SSL Binding را اعمال کنید:
PS C:\ZAGRIO> Invoke-Command -Session $Sessions {Get-Item -Path "cert:\localmachine\my\$cert" | New-Item -Path IIS:\SslBindings\0.0.0.0!8172}
حالا شما آماده اتصال به سرور از طریق یک GUI دیگر هستید!

۶- اتصال به سرور از طریق IIS Manager

پنجره مدیریت IIS را باز کنید و در صفحه اصلی در سمت چپ بر روی …Connect to a server کلیک کنید، نام سرور و مشخصات کاربری و رمز عبور را وارد نمائید. حال مشخصات شما و سرور جدید در سمت چپ ایجاد خواهد شد.

پایان

هر چند تنظیمات SSL ممکن است کمی پیچیده و با دردسر باشد اما کل منطق کار بسیار ساده است. شخصا به دلیل استفاده از PowerShell DSC این مراحل را مانند زمان قدیم تکرار نمی‌کنم. PowerShell Desired State Configuration این امکان را به شما می‌دهد تا تمامی تنظیمات موردنیاز خود را فعال و تنظیم کنید. پیشنهاد می‌کنم از این امکان حتما بازدید و استفاده نمائید.

نحوه LoadBalance کردن IP ها برای ایمیل‌های ارسالی توسط Exchange

1.5kviews

در این آموزش به شما نحوه Load Balance کردن آدرس IP های خروجی (IP ارسال ایمیل) در Microsoft Exchange را آموزش خواهیم داد.

تصور کنید شما یک یا دو سرور Edge برای ارسال ایمیل دارید و در مدت زمان کوتاهی مشتریان شما تعداد زیادی ایمیل را ارسال می‌کنند. پس از مدتی سرویس‌دهنده‌های بزرگ مثل Hotmail، Yahoo یا Gmail آدرس IP های شما را مسدود خواهند نمود.

عموما دلیل این مسدودی ارسال تعداد زیادی ایمیل از یک آدرس IP است. حال تصور کنید هر دو آدرس Public سرورهای Edge شما مسدود شود. در این صورت هیچگونه ایمیلی از سمت شما به این سرویس‌دهنده‌ها ارسال نخواهد شد و تماما در صف انتظار قرار خواهند گرفت.

مشکل در اینجا این است که در سرورهای Edge شما تنها یک آدرس IP برای ایمیل‌های خروجی تعریف شده است.

نرم‌افزارهای ارسال ایمیل همچون Ironpot و برخی از نرم‌افزارهای ضداسپم لینوکس این امکان را به شما می‌دهند که چندین آدرس IP را برای ایمیل‌های ارسالی در نظر بگیرید تا با این مشکل مواجه نشوید، اما آیا Exchange نیز همچنین امکانی دارد؟

البته به این شکل خیر، اما روشی برای تنظیم Custom Transport Agent در Exchange وجود دارد.

Load Balance کردن Transport Agent

مقدار Send Connector در این سیستم دارای خصوصیتی تحت عنوان “SourceIPAddress” است. این آدرس IP یکی از آدرسهایی خواهد بود که Exchange برای ارسال ایمیل از آن استفاده خواهد نمود.
پس در اولین مرحله تعدادی آدرس IP اضافه خواهیم نمود.

192.168.1.240 EDGE Server IP
192.168.1.241 Outbound SMTP IP Address 1
192.168.1.242 Outbound SMTP IP Address 2
192.168.1.243 Outbound SMTP IP Address 3

در تنظیمات ما، سرور Edge در محیط DMZ  است و یک ارتباط NAT یک به یک در شبکه ما فی‌مابین آدرس‌های داخلی و خارجی وجود دارد.

ممکن است تصور کنید با اضافه کردن چندین آدرس IP مشکل حل خواهد شد اما اشتباه کرده‌اید!

Microsoft Exchange در بین چندین Send Connector که یک Cost برای آنها تعریف شده است امکان Load Balance ندارد.
این نرم‌افزار با شرایط زیر نسبت به انتخاب Send Connector اقدام می‌کند:

۱- اگر در تنظیمات گیرنده Send Connector مقدار مشخصی مانند contoso.com تعریف شده باشد نسبت به “*” دارای اولویت است.
۲- ردیفی را انتخاب خواهد کرد که دارای کمترین Cost است.
۳- اگر چندین ردیف با Cost یکسان وجود داشته باشد بر مبنای نام آنها به ترتیب حروف الفبا انتخاب خواهد کرد.

ممکن است شما بخواهید با استفاده از یک اسکریپت نام Send Connector را هر دقیقه یک‌بار تغییر دهید که پیشنهاد نمی‌شود! بهتر است از روش هوشمندانه زیر استفاده کنید:

مرحله بعدی تنظیم Send Connector ها است:

New-SendConnector Connector1 -AddressSpaces "connector1.local" -SourceIPAddress 192.168.1.241
New-SendConnector Connector2 -AddressSpaces "connector2.local" -SourceIPAddress 192.168.1.242
New-SendConnector Connector3 -AddressSpaces "connector3.local" -SourceIPAddress 192.168.1.243
در SDK Exchange 2010 به بالا روشی برای ارسال ایمیل‌ها به ازای هر گیرنده وجود دارد و صرفا شما کافی‌ست به ازای هر گیرنده آن‌ها را به Connector مربوطه متصل نمائید.
با استفاده از تابع RoutingOverride ما تمامی ایمیل‌های در صف انتظار را می‌توانیم به سمت Connector مورد نظر خود هدایت کنیم. اطلاعات تکمیلی در خصوص تابع RoutingOverride در لینک زیر موجود است:

نحوه نصب routeBalancer

برای نصب این Agent باید اسکریپت installRouteBalancer.ps1 را اجرا کنید و سپس مراحل زیر را انجام دهید.

۱- سرویس MSExchangeTransport را غیرفعال کنید.
۲- فولدر “C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\agents\routeBalancer” را ایجاد کنید.
۳- فایل‌های routeBalancer.dll  و RouteBalancerConfig.xml را در پوشه‌ای که ایجاد کرده‌اید کپی کنید.
۴- Agent را نصب و فعال کنید.
۵- سرویس MSExchangeTransport را فعال کنید.

نحوه مدیریت سیستم

این Agent تعداد Send Connector ها را می‌خواند و همچنین آدرس‌های IP را از RouteBalancerConfig.xml نیز می‌خواند. این فایل باید در کنار فایلهای dll دیگر باشد.
در صورتی که تمایل به عدم ارسال از یک آدرس IP دارید، مثلا برای غیرفعال کردن Connector2 باید:

۱- ابتدا مقدار Address Space را درون Send Connector ها از “connector3.local” به “connector2.local” تغییر دهید.
۲- سپس “connector2.local” را به اسمی دیگر مثلا “disabled.local” تغییر نام دهید.
۳- نام Send Connectory را مثلا به “Disabled” تغییر نام دهید. (فقط جهت شفاف‌سازی و اطلاع خودتان، تغییر در نام آن‌ها تاثیری بر Agent ندارد)
۴- مقدار numConnectors در فایل RouteBalancerConfig.xml را از ۳ به ۲ تغییر دهید.
۵- سرویس MSExchangeTransport  را ری‌استارت کنید.

مدیریت از راه دور توسط Powershell(آموزش)

2.6kviews

یکی از ویژگی‌های کمتر شناخته شده در Windows PowerShell 2.0 این است که به راحتی می‌توانید انعطاف‌پذیری باورنکردی را به محیط خود اضافه کنید مدیریت از راه دور است. تصور اینکه کامپیوترهای مشتری‌های شما ویندوز XP را اجرا می‌کنند و domain controllers های شما از Windows Server 2003 استفاده می‌کنند هنوز یک سناریوی متداول است. شما می‌توانید از Windows PowerShell 2.0 برای هردوی این سیستم عامل‌ها استفاده کنید. اما ممکن است قادر به استفاده از جدیدترین ماژول‌های Windows PowerShell cmdlet نباشید. مانند ماژول Active Directory همراه با Windows Server 2008 R2. این ماژول‌های بر روی ورژن‌های قدیمی ویندوز اجرا نمی‌شوند. مشکل خاصی وجود ندارد. فقط ویندوز ۷ یا Windows Server 2008 R2 را بر روی یک کامپیوتر در محیط خودنصب کنید (ماژول اکتیو دایرکتوری در هرکدام از سیستم عامل‌ها اجرا خواهد شد).

به عنوان مثال شما می‌توانید یک Windows Server 2008 R2 domain controller را نصب کنید چرا که هردو ماژول Active Directory و خدمات Active Directory management gateway که با آن ارتباط برقرار می‌کنند را فراهم می‌کند. می‌توانید gateway service را دانلود کنید و آن را روی Windows Server 2008 و Windows Server 2003 نصب کنید.

با استفاده از Enable-PSRemoting در Windows PowerShell دسترسی از راه دور و WinRM را روی یک domain controller جدید تعریف کنید، سپس Windows PowerShell 2.0 را روی ویندوز XP یکی از کلاینت‌های خود فعال کنید و خودتان را برای انجام کارهای جادویی آماده کنید.

ساخت یک ماژول برای مدیریت از راه دور:

یا ایجاد یک جلسه Remote به domain controller جدید شروع کنید.

$session = New-PSSession -computerName my-new-dc

نام صحیح کامپیوتر را در محل my-new-dc وارد کنید. شما می‌توانید پارامترهای اضافی مانند alternate credentials یا پورت‌های alternate WinRM را مشخص کنید. برای جزئیات بیشتر help new-pssession را اجرا کنید.

در ادامه با استفاده از Remote به عنوان مثال به Windows PowerShell بگویید کهActive Directory cmdlets بارگذاری کند.

Invoke-command { import-module activedirectory } -session $session

قسمت جالب این است که شما بر روی همین سیستمی که از Windows PowerShell آن استفاده می‌کنید می‌توانید دستورات ماژول Active Directory را با استفاده از دستور زیر از سرور Remote بر روی کامپیوتر خود فراخوانی کنید.

Export-PSSession -session $session -commandname *-AD* -outputmodule RemAD -allowclobber

این دستور یک ماژول جدید از Windows PowerShell را در فولدر Documents زیر WindowsPowerShell\Modules\RemAD ایجاد می‌کند. فقط دستوراتی که نام آن‌ها با الگوی “*-AD*” مطابقت داشته باشد را شامل می‌شود. این یکی از بزرگترین دلایل دستورات افزودنی در استفاده از نوعی پیشوند مانند “AD” بعنوان بخشی از نام cmdlet است. انجام این کار باعث می‌شود گرفتن آن دسته از cmdlet ها آسانتر شود.

Cmdlet ها در واقع در کامپیوترهای محلی کپی نمی‌شوند. در عوض ماژول خدمات به صورت محلی یک shortcut ایجاد می‌کند. این cmdlet ها همیشه در remote domain controller اجرا خواهند شد اما به نظر می‌رسد که cmdlet ها به صورت محلی در حال اجرا است.

استفاده از cmdlet ها:

با حذف جلسه از remote domain controller شروع کنید:

Remove-PSSession -session $session

اکنون یک ماژول جدید را بارگذاری کنید:

Import-Module RemAD -prefix Rem

این دستور یک ماژول جدید به حافظه بارگذاری می‌کند و پیشوند “Rem” به نام هر cmdlet در آن ماژول اضافه خواهد شد. پیشوند یک راه خوب است تا برای شما یادآوری کنیم که این cmdlet ها به صورت Remote انجام می‌شوند. شما می‌توانید هر پیشوندی را که دوست دارید می‌توانید انتخاب کنید.

سعی کنید از یک remote cmdlet درخواست کمک کنید.

Help New-RemADUser

شما یک خطا را مشاهده می کنید زیرا یک remoting session بین کامپیوتر شما و domain controller که cmdlet ها در آن وجود دارند ایجاد نشده است. نیازی نیست که شما به طور واضح آن جلسه را شروع کنید. شما به طور ضمنی می‌توانید این کار را با اجرای یکی از remoted cmdlets انجام دهید:

Get-RemADUser -filter "Name -like 'D*'"

این دستور ارتباط remote را به domain controller و ارائه دستور برای اجرا و اجرای فرمان در domain controller را مجددا نمونه‌سازی خواهد کرد. سپس هر کاربری که نامش با ‘D’ شروع می‌شود را در XML مرتب می‌کند و به تمام شبکه کامپیوتر شما انتقال می‌دهد. شما می‌توانید آن‌ها از مرتبا به اشیاهایی که در خط لوله Windows PowerShell کار می‌کنند مرتب‌سازی نمائید. اکنون شما می‌توانید درخواست کمک کنید زیرا جلسه remote فعال است.

Help New-RemADUser

این جلسه فعال باقی می‌ماند تا زمانی که شما پوسته نمونه را ببندید یا ماژول را حذف نمائید.

Remove-Module RemAD

رسیدگی و مدیریت از راه دور:

Implicit remoting استفاده از cmdlet هایی که فقط بر روی کامپیوترهای راه دور برای مدیریت از راه دور موجود هستند را آسانتر می‌کند. implicitly remoted cmdlets رفتاری بسیار مشابه با زمانی که بر روی یک کامپیوتر محلی نصب شده باشند را دارند. این باعث می‌شود که هر زمان که به آن‌ها نیاز دارید در دسترس باشند. یک جلسه Remote نیاز به سربار کمی به روی کامپیوتر شما یا یک کامپیوتر راه دور دارد به‌طوری‌که این یک راه فوق‌العاده عملی برای توزیع محاسبات است.

Windows Server 2016: آموزش نصب – Core Mode

4.3kviews

در این مقاله قصد داریم به شما آموزش نصب Windows Server 2016 به دلیل عدم وجود رابط گرافیکی GUI مزایای زیر برای این نسخه بسیار محسوس است:
۱- سرعت بالاتر در لود سیستم عامل Boot Speed
۲- پایداری بسیار بالا به نسبت نسخه گرافیکی
۳- عدم هنگ و یا Crash سیستم به علت رابط گرافیکی
۴- مصرف بسیار پایین منابع سرور مانند CPU & RAM
۵- عدم دریافت بروزرسانی‌های زیاد که بیشتر مربوط به GUI است.
۶- به دلیل عدم وجود GUI بسیاری از مشکلات امنیتی که ممکن است در رابط گرافیکی وجود داشته باشد وجود ندارد.
۷- کاربر با سیستم گرافیکی کار نمی‌کند در نتیجه عدم نصب برنامه‌های غیرضروری بر روی سرور مشکلات کمتری بوجود می‌آورد.
۸- اشغال حجم کمتری از هارد دیسک
و بسیاری از موارد دیگر که در مقاله‌ای جداگانه به آن خواهیم پرداخت.

مراحل نصب Windows Server 2016 :

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

Win2016-01

بر روی دکمه Install Now کلیک کنید.

Win2016-02

در این صفحه باید نسخه مورد نظر خود را انتخاب کنید. ما بر روی Windows Server 2016 Datacenter Evaluation کلیک می‌کنیم.

Win2016-03

حالا بایدبا شرایط و قوانین Licensing Terms موافقت نمائیم، گزینه …I Accept را انتخاب و بر روی گزینه Next کلیک کنید.

Win2016-04

حالا با توجه به اینکه قصد بروزرسانی و یا نصب جدید را دارید گزینه مورد نظر خود را انتخاب کنید، در این آموزش ما گزینه Custom: Install Windows (only (advanced را انتخاب می‌کنیم.

Win2016-05

درصورتی‌که مایل به پارتیشن‌بندی هستید بر روی گزینه New کلیک کنید، در غیراین‌صورت بر روی گزینه Next کلیک کنید.

Win2016-06

در این مرحله سیستم به حالت نصب می‌رود و کپی کردن فایل‌ها آغاز می‌شود. این مرحله مدتی طول می‌کشد.

Win2016-07

سیستم بعد از اتمام نصب ری‌استارت می‌شود.

Win2016-08

پس از نصب سرور و بوت شدن مجدد سیستم باید برای کاربر Administrator یک رمز عبور انتخاب نمائید، OK را انتخاب کنید.

Win2016-09

پسورد را دو مرتبه وارد کنید و Enter را بزنید.

Win2016-10

صفحه زیر نشان می‌دهد که پسورد شما با موفقیت تغییر یافته است.

Win2016-11

با توجه به اینکه در این نسخه شما فقط با یک Command Prompt سر و کار دارید بهترین منبع آموزشی شما تایپ دستور help و زدن enter است. در این آموزش با استفاده از دستور sconfig.cmd آموزش را به پیش می‌بریم.

Win2016-12

با زدن دستور sconfig.cmd به محیطی وارد می‌شویم که در زیر آن را مشاهده می‌نمائید.

Win2016-13

در این قسمت می‌توانید سرور را مطابق نیاز خود کانفیگ کنید و از Windows Server 2016 خود استفاده نمایید.

بک‌آپ ویندوز سرور و ارسال ایمیل پس از اتمام بک‌آپ

872views

در گذشته که به وسیله نوار بک‌آپ تهیه می‌کردند، خیلی راحت زمان تکمیل بک‌آپ را متوجه می‌شدند چون نوار از دستگاه خارج می‌شد. بسیاری از مشتریان فعلی که با استفاده از دستگاه‌های USB بک‌آپ می‌گیرند، لازم است به صورت دوره‌ای دستگاه‌های USB را خارج کنند و مجددا USB های جدید جایگزین کنند. عموما این موضوع به این دلیل که قبل از اتمام بک‌آپ ویندوز سرور، USB را از دستگاه خارج می‌کنند هنگامی‌که بک‌آپ کامل سرور درحال تهیه است، باعث قطع شدن بک‌آپ و ایجاد مشکل می‌شود.
یکی از این‌گونه مشتریان از ما درخواست کردند هنگامی که بک‌آپ سرور تکمیل می‌شود یک ایمیل برایش ارسال شود که به این وسیله متوجه شوند که بک‌آپ به اتمام رسیده و دستگاهی که بک‌آپ روی آن گرفته می‌شود را خارج کنند. سرویس بک‌آپ ویندوز سرور به صورت پیش‌فرض این‌کار را انجام نمی‌دهد، به همین دلیل ما دو کار به صورت برنامه‌ریزی شده با استفاده از اسکریپت‌های پاورشل انجام می‌دهیم که موفقیت یا عدم موفقیت در تهیه بک‌آپ را به صورت ایمیل ارسال نمایند.
با استفاده از Notepad یک اسکریپت Powershell ایجاد کنید و آن را با عنوان ‘EmailBackupResults.ps1’ در سرور ذخیره کنید. شما نیاز دارید که متغییرها را متناسب پیکربندی خود تغییر دهید.

# Set up variables
$SmtpServer = "192.168.1.1"
$SmtpPort = 25
$FromEmail = "admin-email-address"
$ToEmail = "recipient-email-address"
$OutputFile = "C:BackupEmailBackupResults.txt"

# Create backup results file
add-pssnapin windows.serverbackup
$NextBackup = Get-Date (Get-WBSummary | select "NextBackupTime" | ft -hide | out-string)
$LastBackup = (Get-Date $NextBackup) - (New-TimeSpan -day 1)
Get-WinEvent -LogName "Microsoft-Windows-Backup" | Where {$_.timecreated -ge $LastBackup} | Sort-Object TimeCreated | Format-Table TimeCreated, Message -AutoSize -Wrap | Out-File $OutputFile

# Construct and send email
$SmtpClient = new-object system.net.mail.smtpClient
$Msg = new-object Net.Mail.MailMessage
$SmtpClient.host = $SmtpServer
$SmtpClient.Port = $SmtpPort
$computer = gc env:computername
$Msg.From = $FromEmail
$Msg.To.Add($ToEmail)
$Msg.Subject = "## Backup Complete on " +$Computer +" ##"
$Msg.Body = "The backup for " +$Computer+" has completed. Please see the attached file for backup results."
$Msg.Attachments.Add($OutputFile)
$SmtpClient.Send($Msg)

در ادامه شما نیاز دارید یک scheduled task ایجاد کنید که اسکریپت Powershell را که شما ایجاد کرده‌اید را راه اندازی می‌کند. EmailBackupResults task به دو محرک پیکربندی شده که در شکل زیر نشان داده شده است، نیاز دارد. رویداد ۴ یک بک‌آپ موفق را نشان می‌دهد و رویداد ۵ یک بک‌آپ را نشان می‌دهد که failed شده است.

بک‌آپ ویندوز سرور

 

بک‌آپ ویندوز سرور

 

برای انجام این کار برنامه powershell.exe با یک دستور با آرگومان‌های “& C:BackupEmailEmailBackupResults.ps1” شروع می‌شود.
شما نیاز دارید که آرگومان‌های خود را برای مطابقت با محلی که اسکریپت را ذخیره کرده‌اید تغییر دهید.

بک‌آپ ویندوز سرور

اکنون، بک‌آپ شما که به زودی کامل می‌شود (با موفقیت یا شکست) و به آدرس ایمیلی که در اسکریپت‌پیکربندی وارد کردید یک ایمیل تاییدیه ارسال می‌شود که بک‌آپ به اتمام رسیده است. یک فایل متنی هم همراه ایمیل است که شامل نتایج بک‌آپ می‌شود.
همچنین ممکن است شما نیاز به پیکربندی یک Mail server داشته باشید که ایمیل‌های ناشناس را از آدرس IP سرور بک‌آپ قبول می‌کند.

 

اتصال امن به MSSQL Server توسط SQL Management Studio

1kviews

اتصال به SQL Server با استفاده از SQL Managment Studio به صورت پیش‌فرض امن نیست.
برای داشتن یک اتصال ایمن کافی است تنظیمات زیر را هنگام اتصال به SQL Managment Studio انجام دهید.
در اولین مرحله دقت داشته باشید که در قسمت server name حتما sql.wsp.zagrio.com را به طور کامل وارد کنید و گزینه Options را انتخاب نمائید.

securesqlmanagmer-01

بعد از وارد کردن اطلاعات در پنجره بعد برای داشتن یک ارتباط ایمن از تب Connection Properties از قسمت Connection گزینه Encrypt Connection را تیک بزنید. در شکل زیر این گزینه با کادر قرمز رنگ مشخص شده است.

securesqlmanagmer-02

با انجام این موارد شما می‌توانید یک ارتباط امن داشته باشید.

 

IPSec: تامین امنیت گردش اطلاعات توسط فایروال ویندوز سرور

3.9kviews

IPSec چیست؟

Internet Protocol Security یا به اختصار IPSec یک پروتکل برای تامین امنیت ارتباطات IP است که این امنیت را توسط Authentication (احراز هویت) و Encryption (کد گذاری) به ازای هر Session از بسته‌های ارتباطی IP تامین می‌کند.
IPSec همچنین شامل پروتکل‌هایی است که با استفاده از کلیدهای کدگذاری شده برای احراز هویت و کد گذاری دو طرفه سمت گیرنده و فرستنده در ابتدای برقراری ارتباط و در طول مدت ارتباط اقدام می‌کند.

چرا از IPSec استفاده کنیم؟

• برای تامین امنیت مورد نیاز ارتباطات و یا برای ارتقای امنیت نرم‌افزارها
• این امکان را به شما می‌دهد که بر مبنی IP محدودیت‌هایی اعمال کنید و در لایه TCP/UDP با اینکه ممکن است نرم‌افزار شما آن را پشتیبانی نکند کدگذاری انجام دهید.

پیش‌نیازها:
• ورودی/خروجی پورت (IP Protocol 50 (ESP
• ورودی/خروجی پورت (IP Protocol 51 (AH
• ورودی/خروجی پورت UDP port 500
• انتخابی: پورت TCP/UDP 88 (در صورت Authentication)
• انتخابی: پورت (UDP 4500 (NAT

با استفاده از Windows Firewall with Advanced Security در دامنه Active Directory
لازم است تمامی مراحل زیر را انجام دهید:

Identity Management یک Policy تحت عنوان CIT-IDM-MachineCertificateAutoEnrollment دارد که به هر کامپیوتری که در یک OU وجود دارد این اجازه را می‌دهد که یک گواهینامه IPSec به ازای هر کامپیوتر ایجاد کند.

۱- یک GPO در OU مورد نظر خود که می‌خواهید توسط IPSec ایمن شود ایجاد نمائید. تمامی ServerFarm ها باید این GPO به آنها Link شده باشد.

۲- مطمئن شوید این Policy به همه سیستم ها اعمال شده و با دستور gpupdate از به روزرسانی آن اطمینان حاصل کنید (پیش‌فرض بروزرسانی ۹۰ دقیقه است).

ایجاد Connection Security Rule بر روی سرور

۱- به سرور وارد شوید.
۲- پنجره Windows Firewall with Advanced Security را باز کنید.
۳- بر روی Connection Security Rule دکمه راست را بزنید و گزینه New Rule را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-01

۴- گزینه Custom را انتخاب کنید و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-02

۵- در تب Endpoints این موارد را انجام دهید:
• در قسمت Endpoint1 آدرس IP یا آدرسهای IP سرور(های) خود را وارد کنید.
• در قسمت Endpoint2 آدرس IP یا آدرسهای IP کلاینت(های) خود را وارد کنید.
• بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-03

۶- گزینه Require authentication for inbound and outbound connections را انتخاب و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-04

۷- در قسمت Authentication Method گزینه Advanced را انتخاب و Customize را بزنید.

How-to-Secure-Windows-Traffic-with-IPsec-05

۸- در پنجره First Authentication Method گزینه Add را بزنید.

How-to-Secure-Windows-Traffic-with-IPsec-06

۹- در پنجره Add First Authentication Method گزینه Computer certificate from this certificate authority را انتخاب و مراحل زیر را انجام دهید:
• (Signing algorithm : (default
• (Certificate store type: (default
• گزینه Browse را زده و مرجع صادرکننده گواهینامه را انتخاب کنید.
• بر روی OK کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-07

 

How-to-Secure-Windows-Traffic-with-IPsec-08

۱۰- در پنجره Customize Advanced Authentication Methods بر روی OK کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-09

۱۱- مجددا پنجره New Connection Security Rule Wizard: Authentication Method را مشاهده خواهید کرد. بر روی OK کلیک کنید.
۱۲- در باکس To which ports and protocols does this rule apply سرویس‌ها و پروتکل‌های موردنظر خود (برای مثال SMB, TCP 445) را انتخاب کنید و بر روی Next کلیک کنید.
از آنجایی که این سرویس فقط در Endpoint1 ارائه می‌شود، شماره پورت موردنظر را وارد کنید و در قسمت Endpoint2 بر روی All Ports باشد.

How-to-Secure-Windows-Traffic-with-IPsec-10

۱۳- در باکس When does this rule apply تمامی چک باکس‌ها فعال باشد و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-11

۱۴- یک نام برای این Rule انتخاب کنید و گزینه Finish را بزنید.

تنظیمات امنیتی سمت Client

۱- به ماشین Client وارد شوید.
۲- تمامی مراحل بالا را از مرحله ۳ تا ۱۴ برای کلاینت نیز تکرار کنید. (تمامی مراحل حتی قسمت Endpoint ها یکسان است.)
۳- ارتباط خود را تست کنید و مطمئن شوید کماکان فعال است.
نکته: ممکن است در ابتدای ارتباط شما یک وقفه وجود داشته باشد که این مورد به دلیل شروع Negotiationارتباط است.
۴- در قسمت Monitoring شما باید ارتباط احراز هویت شده خود را فی‌مابین سیستم‌ها مشاهده کنید.

How-to-Secure-Windows-Traffic-with-IPsec-12

۵- توجه کنید در همین قسمت در زیر منوی Quick Mode مقدار ESP Encryption بر روی None است. این گزینه به این معناست که احراز هویت سیستم مقابل تامین شده است اما اطلاعات رد و بدل شده توسط IPSecایمن نشده است!

How-to-Secure-Windows-Traffic-with-IPsec-13

تنظیمات فایروال سمت سرور

۱- به سرور وارد شوید.
۲- یک New Rule از قسمت Inbound Connections ایجاد کنید.

How-to-Secure-Windows-Traffic-with-IPsec-14

۳- بر روی Custom کلیک کنید و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-15

۴- گزینه All Programs را انتخاب کنید و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-16

۵- پورت ورودی سمت سرور (مثلا ۴۴۵ SMB) را انتخاب و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-17

۶- آدرس IP های موردنظر خود را مانند بالا انتخاب کنید و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-18

۷- گزینه Allow the connection if it is secure را انتخاب و سپس Customize را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-19

۸- گزینه Require the connections to be encrypted را انتخاب و بر روی OK کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-20

۹- در منوی Action بر روی OK کلیک کنید.
۱۰- در منوی Users نیز OK را بزنید.
۱۱- در منوی Computer نیز OK را بزنید.

 

How-to-Secure-Windows-Traffic-with-IPsec-21

۱۲- در قسمت Profiles تمامی تیک‌ها را بزنید و به مرحله بعد بروید.
۱۳- نامی را برای این Rule انتخاب کنید و Finish را بزنید.

تنظیمات فایروال سمت کلاینت

۱- به کلاینت وارد شوید.
۲- یک Rule جدید در قسمت Outbound Rules ایجاد کنید.

How-to-Secure-Windows-Traffic-with-IPsec-22

۳- انتخاب گزینه Custom و سپس مرحله بعد.
۴- انتخاب گزینه All Programs و سپس مرحله بعد.
۵- گزینه Remote Port (در این مثال SMB 445) را انتخاب و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-23

۶- آدرس IP های مورد نظر را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-24

۷- گزینه Allow the connection if it is secure را انتخاب کنید و بر روی Customize کلیک کنید.
۸- گزینه Require the connections to be encrypted را انتخاب کنید و OK را بزنید.

How-to-Secure-Windows-Traffic-with-IPsec-25

۹- در منوی Action بر روی OK کلیک کنید.
۱۰- در منوی Computer نیز OK را بزنید.
۱۱- در قسمت Profiles تمامی تیک‌ها را بزنید و به مرحله بعد بروید.
۱۲- نامی را برای این Rule انتخاب کنید و Finish را بزنید.

تست ارتباط نهایی با IPSec

۱- از سمت کلاینت ارتباط را تست کنید که فعال باشد.
۲- در قسمت Windows Firewall -> Security Associations -> Quick Mode باید گزینه ESP Encryption دارای مقدار موردنظر باشد. این نشانگر امنیت تبادل اطلاعات شماست.

 

How-to-Secure-Windows-Traffic-with-IPsec-26

 

مواردی که می‌بایست در نظر داشت:

• برای سیستم‌هایی که به دامنه متصل نیستند می‌توانید از PreShared Key استفاده کنید. این کلیدها به صورت یک متن ساده هستند که در سمت کلاینت و سرور ذخیره می‌شود. برای امنیت اطلاعات در یک شبکه کابلی کماکان مناسب است.

• در قسمت Connection Security Rule باید به جای Computer Certificate گزینه Use PreShared Key را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-27

• برای سیستم عامل‌های قدیمی‌تر از Vista استفاده از این امکان وجود ندارد. در صورت امکان سیستم خود را ارتقا دهید. در صورتی که امکان ارتقا ندارید می‌توانید از IPSec بر روی سیستم استفاده نمائید. در این روش فقط به ازای هر سیستم یک ارتباط می‌توانید تعریف کنید و امکان تعریف آن بصورت یک Rule در فایروال وجود ندارد. این روش برای یک‌بار تنظیم قابل استفاده است اما در یک سازمان Enterprise مناسب نیست مگر آنکه تمامی سیستم‌ها از یک تنظیمات استفاده نمائید. اطلاعات بیشتر

• لینوکس و OSX نیز امکان IPSec دارند اما در سمت کلاینت به نرم‌افزارهای جانبی نیاز خواهید داشت.

• آدرسهای IPv6 بصورت پیش‌فرض شامل IPSec هستند و به صورت خودکار تنظیم می‌شوند.

تنظیمات Outlook در حالت Exchange Active Sync

3.2kviews

در این مطلب کوتاه آموزشی در رابطه با تنظیمات Outlook در حالت Exchange Active Sync خواهیم پرداخت و با استفاده از تصاویر و توضیحات مختصر آن را توضیح خواهیم داد.

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

Exchangeactivesync01

قدم دوم: در پنجره باز شده گزینه Add  را انتخاب کنید.

Exchangeactivesync02

قدم سوم: در این قسمت یک نام را به دلخواه وارد کرده و Ok  کنید.

-Exchangeactivesync03

قدم چهارم: در مرحله بعد اطلاعات خواسته شده که شامل نام، ایمیل و پسورد است را وارد نمائید و بر روی گزینه Next کلیک کنید.

Exchangeactivesync04

قدم پنجم: در مرحله بعد گزینه Allow را انتخاب نمائید. سپس به صورت خودکار تمامی مراحل انجام می‌شود.

Exchangeactivesync05

قدم ششم: بعد از اتمام مراحل بالا بر روی گزینه Finish کلیک نمائید.

Exchangeactivesync06

قدم هفتم: مجددا وارد کنترل پنل سیستم خود شوید و گزینه Email و سپس گزینه Email Account راانتخاب نمائید.

Exchangeactivesync07

قدم هشتم: در این قسمت می‌توانید آدرس ایمیلی را که اضافه کرده‌اید را مشاهده نمائید و در صورت نیاز تنظیمات مربوط به آن را تغییر دهید و یا اینکه با استفاده از گزینه New یک Account جدید را اضافه کرده یا اینکه Account موجود را حذف نمائید.

Exchangeactivesync08