Windows Server 2012R2/2016/2019 में, आप सर्वर भूमिकाओं और सुविधाओं को स्थापित और हटाने के लिए ग्राफिकल Server Manager कंसोल का उपयोग कर सकते हैं। हालांकि, ज्यादातर मामलों में आप PowerShell कंसोल से बहुत तेजी से वही काम कर सकते हैं। इस लेख में हम विचार करेंगे कि आधुनिक Windows Server संस्करणों में PowerShell के साथ भूमिकाओं और सुविधाओं को कैसे प्रबंधित किया जाए।
सामग्री:
- PowerShell के माध्यम से सभी स्थापित Windows Server भूमिकाओं और सुविधाओं की सूची
- PowerShell का उपयोग करके Windows Server भूमिकाओं और सुविधाओं को कैसे स्थापित करें?
- एकाधिक रिमोट Windows सर्वरों पर भूमिकाओं को कैसे तैनात करें?
- PowerShell के साथ Windows Server पर किसी भूमिका या सुविधा को कैसे अनइंस्टॉल करें?
PowerShell के माध्यम से सभी स्थापित Windows Server भूमिकाओं और सुविधाओं की सूची
सभी उपलब्ध Windows Server भूमिकाओं और सुविधाओं की सूची प्रदर्शित करने के लिए Get-WindowsFeature cmdlet का उपयोग करें। यदि आप इसे बिना पैरामीटर के चलाते हैं, तो आप सभी Windows Server घटकों के बारे में जानकारी देखेंगे।
किसी घटक का नाम (Display Name), उसका सिस्टम नाम (Name) और स्थिति (Install State: Installed, Available or Removed) प्रदर्शित होते हैं। भूमिकाओं और सुविधाओं की सूची Server Manager GUI में भूमिकाओं को स्थापित करते समय आपके द्वारा देखे गए नेस्टेड भूमिकाओं के समान एक ट्री की तरह दिखती है। PowerShell का उपयोग करके किसी भी भूमिका या सुविधा को स्थापित और हटाने के लिए, आपको Name कॉलम में सूचीबद्ध उनके सिस्टम नाम पता होने चाहिए।

संकेत. यदि कोई भूमिका या सुविधा Removed है, तो इसका मतलब है कि इसकी इंस्टॉलेशन फ़ाइलें सिस्टम कंपोनेंट स्टोर से हटा दी गई हैं (WinSxS फ़ोल्डर का आकार कम करने के लिए) और आप सीधे इंटरनेट एक्सेस या Windows Server इंस्टॉलेशन ISO के बिना भूमिका स्थापित नहीं कर पाएंगे (Net 3.5 इंस्टॉलेशन के उदाहरण देखें)।
आप भूमिकाओं या घटकों को अपनी छवि से ऑनलाइन इस तरह हटा सकते हैं:
Uninstall-WindowsFeature –Name DHCP –Remove
हटाई गई DHCP भूमिका को स्थापित करने के लिए, इस cmdlet का उपयोग करें:
Install-WindowsFeature DHCP (आपको सीधे इंटरनेट एक्सेस की आवश्यकता होगी)
या आप अपने Windows Server ISO छवि से घटक बाइनरी फ़ाइलों को पुनर्स्थापित कर सकते हैं:
Install-WindowsFeature DHCP -Source E:\sources\sxs
आप स्थापित सर्वर सुविधाओं को सूचीबद्ध कर सकते हैं:
Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate
नीचे दिए गए स्क्रीनशॉट के आधार पर, इस सर्वर का उपयोग फ़ाइल सर्वर के रूप में किया जाता है (FileAndStorage-Services, Storage-Services भूमिकाएं स्थापित)। अधिकांश अन्य घटकों का उपयोग सर्वर को प्रबंधित या मॉनिटर करने के लिए किया जाता है।

यदि आप सटीक भूमिका नाम नहीं जानते हैं, तो आप वाइल्डकार्ड का उपयोग कर सकते हैं। उदाहरण के लिए, यह जांचने के लिए कि IIS भूमिका के कौन से वेब घटक स्थापित हैं, यह कमांड चलाएं (सिंटैक्स थोड़ा छोटा है):
Get-WindowsFeature -Name web-* | Where installed

आप रिमोट Windows सर्वर पर स्थापित घटकों की सूची प्राप्त कर सकते हैं:
Get-WindowsFeature -ComputerName ny-spool1 | Where installed | ft Name,Installstate
स्थापित Print-Services और Print-Server भूमिकाओं को देखते हुए, इस सर्वर का उपयोग प्रिंट सर्वर के रूप में किया जाता है।

आप Get-WindowsFeature cmdlet का उपयोग करके अपने डोमेन में उन सर्वरों को ढूंढ सकते हैं जिन पर विशिष्ट भूमिका स्थापित है। आप PowerShell ActiveDirectory मॉड्यूल से Get-ADComputer cmdlet का उपयोग करके किसी विशेष Active Directory OU में अपने सर्वरों को खोज सकते हैं या सर्वरों की प्रदान की गई सूची द्वारा ($servers = ('server1', 'server2'))।
उदाहरण के लिए, आप निर्दिष्ट AD संगठनात्मक इकाई में FileAndStorage-Services भूमिका वाले सभी फ़ाइल सर्वर ढूंढना चाहते हैं (मैं विजुअल स्टूडियो कोड का उपयोग PowerShell एडिटर के रूप में कर रहा हूँ)। निम्न स्क्रिप्ट का उपयोग करें:
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=woshub,DC=com’ |select name
Foreach ($server in $Servers)
{
Get-WindowsFeature -name FileAndStorage-Services -ComputerName $server.Name | Where installed | ft $server.name, Name, Installstate
}
आउटपुट में, आपको उन सर्वरों की सूची मिलेगी जिन पर विशिष्ट भूमिका स्थापित है।
PowerShell का उपयोग करके Windows Server भूमिकाओं और सुविधाओं को कैसे स्थापित करें?
Windows Server पर भूमिकाओं और सुविधाओं को स्थापित करने के लिए, Install-WindowsFeature cmdlet का उपयोग किया जाता है।
वर्तमान सर्वर पर DNS सर्वर भूमिका और प्रबंधन टूल्स (PowerShell DNSServer मॉड्यूल सहित) स्थापित करने के लिए, यह कमांड चलाएं:
Install-WindowsFeature DNS -IncludeManagementTools
डिफ़ॉल्ट रूप से, cmdlet सभी निर्भर भूमिकाओं और सुविधाओं को स्थापित करता है। इंस्टॉलेशन से पहले निर्भरताओं की सूची प्रदर्शित करने के लिए, 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.
रिमोट डेस्कटॉप सेशन होस्ट भूमिका, RDS लाइसेंसिंग भूमिका और RDS रिमोट प्रबंधन टूल्स स्थापित करने के लिए, निम्न कमांड का उपयोग करें:
Install-WindowsFeature -ComputerName lon-rds3 RDS-RD-Server, RDS-Licensing –IncludeAllSubFeature –IncludeManagementTools –Restart

यदि आप –Restart पैरामीटर जोड़ते हैं, तो यदि आवश्यक हो तो आपका सर्वर स्वचालित रूप से रीस्टार्ट हो जाएगा।
आप निम्न कमांड के साथ एक घटक भी स्थापित कर सकते हैं। उदाहरण के लिए, SMTP सर्वर भूमिका स्थापित करने के लिए:
Get-WindowsFeature -Name SMTP-Server | Install-WindowsFeature
एकाधिक रिमोट Windows सर्वरों पर भूमिकाओं को कैसे तैनात करें?
जब आप सामान्य सर्वर तैनात करते हैं तो एक और दिलचस्प विकल्प है। आप एक संदर्भ Windows सर्वर पर 원하는 सुविधाओं को स्थापित कर सकते हैं और स्थापित भूमिकाओं की सूची को CSV फ़ाइल में निर्यात कर सकते हैं:
Get-WindowsFeature | where{$_.Installed -eq $True} | select name | Export-Csv C:\PS\InstalledRoles.csv -NoTypeInformation –Verbose

फिर आप इसी CSV फ़ाइल का उपयोग करके अन्य सामान्य सर्वरों पर भूमिकाओं का समान सेट स्थापित कर सकते हैं:
Import-Csv C:\PS\Roles.csv | foreach{ Install-WindowsFeature $_.name }

यदि कोई भूमिका या सुविधा पहले से स्थापित है, तो कमांड NoChangeNeeded लौटाएगी और अगली भूमिका की स्थापना के साथ जारी रहेगी।
या एकाधिक रिमोट सर्वरों पर समान भूमिका सेट स्थापित करने के लिए, आप इस कमांड का उपयोग कर सकते हैं:
$servers = ('ny-rds1', 'ny-rds2',’ny-rds3’,’ny-rds4’)
foreach ($server in $servers) {Install-WindowsFeature RDS-RD-Server -ComputerName $server}
PowerShell के साथ Windows Server पर किसी भूमिका या सुविधा को कैसे अनइंस्टॉल करें?
Windows Server भूमिकाओं या सुविधाओं को हटाने के लिए, Remove-WindowsFeature cmdlet का उपयोग किया जाता है।
उदाहरण के लिए, प्रिंट सर्वर भूमिका को हटाने के लिए, कमांड चलाएं:
Remove-WindowsFeature Print-Server -Restart