Windows Server 2012R2/2016/2019에서는 그래픽 서버 관리자 콘솔을 사용하여 서버 역할 및 기능을 설치 및 제거할 수 있습니다. 그러나 대부분의 경우 PowerShell 콘솔에서 훨씬 빠르게 동일한 작업을 수행할 수 있습니다. 이 기사에서는 PowerShell을 사용하여 최신 Windows Server 버전에서 역할과 기능을 관리하는 방법을 고려할 것입니다.
내용:
- PowerShell을 통해 설치된 모든 Windows Server 역할 및 기능 나열
- PowerShell을 사용하여 Windows Server 역할 및 기능을 설치하는 방법
- 여러 원격 Windows 서버에 역할을 배포하는 방법
- PowerShell을 사용하여 Windows Server에서 역할 또는 기능을 제거하는 방법
PowerShell을 통해 설치된 모든 Windows Server 역할 및 기능 나열
Get-WindowsFeature
사용자 cmdlet을 사용하여 사용 가능한 모든 Windows Server 역할 및 기능 목록을 표시합니다. 매개변수 없이 실행하면 모든 Windows Server 구성 요소에 대한 정보를 볼 수 있습니다.
구성 요소의 이름(표시 이름), 시스템 이름(이름) 및 상태(설치 상태:설치됨, 사용 가능 또는 제거됨 )가 표시됩니다. 역할 및 기능 목록은 서버 관리자 GUI에서 역할을 설치할 때 표시되는 것과 유사한 중첩된 역할이 있는 트리처럼 보입니다. PowerShell을 사용하여 역할이나 기능을 설치 및 제거하려면 이름에 나열된 시스템 이름을 알아야 합니다. 칼럼.
<강한>
힌트 . 역할이나 기능이 제거된 경우 , 이는 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 Server에 설치된 구성 요소 목록을 얻을 수 있습니다.
Get-WindowsFeature -ComputerName ny-spool1 | Where installed | ft Name,Installstate
설치된 인쇄 서비스 및 인쇄 서버 역할로 판단하면 이 서버는 인쇄 서버로 사용됩니다.
Get-WindowsFeature cmdlet을 사용하여 특정 역할이 설치된 도메인의 서버를 찾을 수 있습니다. PowerShell ActiveDirectory 모듈에서 Get-ADComputer cmdlet을 사용하거나 제공된 서버 목록($servers = ('server1', 'server2')
)을 사용하여 특정 Active Directory OU의 서버를 검색할 수 있습니다. ).
예를 들어, 지정된 AD 조직 구성 단위에서 FileAndStorage-Services 역할을 가진 모든 파일 서버를 찾으려고 합니다(Visual Studio Code를 PoweShell 편집기로 사용 중). 다음 스크립트를 사용하십시오:
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 Server에 원하는 기능을 설치하고 설치된 역할 목록을 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