خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager
در Windows Server 2012R2 / 2016/2019 ، می توانید از کنسول Server Manager برای نصب و حذف role ها و feature ها در سرور استفاده کنید. با این حال، در بیشتر موارد می توانید همین کار را از طریق PowerShell با سرعت بیشتری انجام دهید. در این مطلب هم از طریق دستورات پاورشل و هم از طریق کنسول گرافیکی Server manager اقدام به حذف رول ها و Feature های نصب شده خواهیم کرد.

نرم افزار سامانه مودیان راهکار




List all Installed Windows Server Roles & Feature via PowerShell

از Get-WindowsFeature استفاده کنید تا لیستی از تمام roles ها و features های موجود ویندوز سرور را نمایش دهد. اگر دستور را بدون پارامتر اجرا کنید، اطلاعات مربوط به تمام کامپوننت های ویندوز سرور را مشاهده خواهید کرد. نام یک کامپوننت در ستون Display name، نام سیستمی آن در ستون name و و در ستون state هم وضعیتش را مشاهده می کنید(Install State: Installed, Available or Removed). همان درختواره تو در تویی که در کنسول Server manager مشاهده می کنید در خروجی دستور هم به همین شکل رول ها و نقش ها را مشاهده می کنید. برای نصب و حذف هر Role یا Feature با استفاده از PowerShell، باید نام سیستمی آنها را در ستون Name بشناسید.

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager
اگر Role یا feature ای Remove شود فایل های نصبی آن هم برای کاهش فضای مصرفی دیسک(فولدر WinSxS) هم حذف می شوند. بنابراین برای نصب مجدد آن رول یا Feature بدون دسترسی به اینترنت یا بدون وجود DVD نصب یا ISO ویندوز امکان پذیر نیست.
با دستور زیر لیستی از Role ها و feature های نصب شده در ویندوز را مشاهده می کنیم:

Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate

با توجه به رول های لیست شدن در خروجی تصویر زیر میت وان نتیجه گرفت که این سرور یک file server است(چون دو نقش FileAndStorage-Services و Storage-Services در این سرور نصب است).

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager
اگر نام role را دقیقاً نمی دانید، می توانید از wildcard استفاده کنید(*). به عنوان مثال ، برای بررسی اینکه چه کامپوننت های وب از IIS در سیستم نصب شده است، می توانید از دستور زیر استفاده کنید:

Get-WindowsFeature -Name web-* | Where installed

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager
می توانید لیستی از کامپوننت های نصب شده را در یک ویندوز سرور ریموت را مشاهده کنید. در دستور زیر نام سرور مورد نظرتان را جایگزین کنید:

Get-WindowsFeature -ComputerName ny-spool1 | Where installed | ft Name,Installstate

از آنجایی که در خروجی رول های مانند Print-Server و Print-Services نصب هستند می توانیم اینطور نتیجه گیری کنیم که سرور مربوطه یک Print server است.

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager
از دستور Get-WindowsFeature برای یافتن سرورهایی در شبکه دامین خود می توانید استفاده کنید که مثلا یک Role خاص روی آن نصب شده است. به عنوان مثال می خواهید سرورهایی که رول FileAndStorage-Services روی آن ها نصب شده و در یک OU خاص قرار دارند را جستجو کرده و لیست کنید.

import-module activedirectory
$Servers=get-adcomputer -properties * -Filter {Operatingsystem -notlike "*2008 R2*" -and enabled -eq "true" -and Operatingsystem -like "*Windows Server*"} -SearchBase 'OU=Servers,OU=UK,DC=khoshamoz,DC=ir' |select name
Foreach ($server in $Servers)
{
Get-WindowsFeature -name FileAndStorage-Services -ComputerName $server.Name | Where installed | ft $server.name, Name, Installstate
}

در خروجی ، لیست سرورهایی را دریافت خواهید کرد که آن Role ویژه روی آنها نصب شده است.

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager

How to Install Windows Server Roles & Features using PowerShell?

به منظور نصب Role ها و Feature ها در ویندوز سرور از cmdlet ای با نام Install-WindowsFeature استفاده خواهیم کرد. مثلا برای نصب رول DNS server و management tools روی همین سرور جاری از دستور زیر می توانیم استفاده کنیم:

Install-WindowsFeature DNS -IncludeManagementTools

به طور پیشفرض cmdlet همه role ها و Feature های وابسته را نصب می کند. شما می توانید به آخر این دستور و کلا دستورات اجرایی، سوئیچ WhatIf را در انتهای دستور اضافه کنید. با کمک این سوئیچ یک پیش نمایش از دستور پیش از اجرا شدن مشاهده می کنید. یعنی دستور اعمال نمی شود. مثلا به دستور زیر دقت کنید:

Install-WindowsFeature -Name UpdateServices -WhatIf

برای مثال، براص نصب WSUS باید برخی از کامپوننت های IIS را نیز نصب کنید. در خروجی آنها را به شما نشان می دهد ولی نصب انجام نمی شود.

What if: Continue with installation?
What if: Performing installation for "[Windows Server Update Services] Windows Server Update
What if: Performing installation for "[Windows Server Update Services] WID Database".
What if: Performing installation for "[Windows Server Update Services] WSUS Services".
What if: Performing installation for "[Web Server (IIS)] Windows Authentication".
What if: Performing installation for "[Web Server (IIS)] Dynamic Content Compression".
What if: Performing installation for "[Web Server (IIS)] Performance".
What if: Performing installation for "[Web Server (IIS)] Static Content".
What if: Performing installation for "[Windows Internal Database] Windows Internal Database".
What if: The target server may need to be restarted after the installation completes.

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

How to Deploy Roles on Multiple Remote Windows Servers?

حالا می خواهیم یک Role را بین چند سیستم ریموت در لحظه Deploy کنیم. هنگام استقرار سرورهای معمولی، گزینه جالب دیگری نیز وجود دارد. شما می توانید features های مورد نظرتان را در یک ویندوز سرور نصب کنید و سپس از آن خروجی csv بگیرید.

Get-WindowsFeature | where{$_.Installed -eq $True} | select name | Export-Csv C:\PS\InstalledRoles.csv -NoTypeInformation -Verbose

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager
سپس می توانید با استفاده از این فایل CSV مجموعه ای از role ها را در سرورهای دیگر نصب کنید. مسیری که فایل را در آن کپی کرده اید را جایگزین مسیر زیر کنید.

Import-Csv C:\PS\Roles.csv | foreach{ Install-WindowsFeature $_.name }

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager
اگر role یا Feature ای از قبل نصب شده باشد دستور فوق مقدار NoChangeNeeded را در مقابل آن نشان می دهد و به سراغ موارد دیگری که اگر نصب نشده باشند می رود. برای نصب Role ها در چندین سرور ریموت از دستور زیر می توانید استفاده کنید و فقط باید به جای Role های زیر، رول خودتان را جایگزین کنید و به جای اسامی سرورها، اسامی سرورها خودتان را جایگزین کنید.

$servers = ('ny-rds1', 'ny-rds2',’ny-rds3’,’ny-rds4’)
foreach ($server in $servers) {Install-WindowsFeature RDS-RD-Server -ComputerName $server}

How to Uninstall a Role or Feature on Windows Server with PowerShell?

اما حالا از طریق پاورشل چگونه یک Role یا Feature را Uninstall کنیم. این مورادی تا اینجای کار گفته شد، بسیار مناسب سرورهای Core هستند چون کلا با دستور کار را پیش بردیم و در ویندوز سرور Core هم خبری از GUI نیست و با دستور کار پیش می رود.
برای حذف role یا Feature در ویندوز سرور از دستور Remove-WindowsFeature استفاده می کنیم. به عنوان مثال برای حذف رولی مانند print server از دستور زیر استفاده می کنیم و در آخر سوئیچ restart را اضافه می کنیم که در انتهی حذف رول، سرور ریستارت شود.

Remove-WindowsFeature Print-Server -Restart

برای حذف role یا Feature ای در ویندوز سرور، آداب حذف متفاوت است. برای حذف در کنسول Server manager به منوی Tools بروید و سپس گزینه Remove Roles and features را کلیک کنید.

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager
ویزارد حذف باز می شود. آن را next کنید. سپس در پنجره Role و feature، مورد نصب شده ای که قصد حذف کردنش را دارید، تیک آن را برداشته و همین مراحل را Next کنید تا حذف انجام شود.

نحوه نصب و حذف Role ها و Feature در ویندوز سرور با دستورات پاورشل و کنسول Server manager

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز