Computer >> 컴퓨터 >  >> 체계 >> Windows Server

PowerShell로 Windows Server 역할 및 기능 관리

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을 사용하여 역할이나 기능을 설치 및 제거하려면 이름에 나열된 시스템 이름을 알아야 합니다. 칼럼.

<강한> PowerShell로 Windows Server 역할 및 기능 관리

힌트 . 역할이나 기능이 제거된 경우 , 이는 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 역할 설치). 대부분의 다른 구성 요소는 서버를 관리하거나 모니터링하는 데 사용됩니다.

PowerShell로 Windows Server 역할 및 기능 관리

역할 이름을 정확히 모르는 경우 와일드카드를 사용할 수 있습니다. 예를 들어 IIS 역할의 어떤 웹 구성 요소가 설치되어 있는지 확인하려면 다음 명령을 실행합니다(구문은 약간 단축됨).

Get-WindowsFeature -Name web-* | Where installed

PowerShell로 Windows Server 역할 및 기능 관리

원격 Windows Server에 설치된 구성 요소 목록을 얻을 수 있습니다.

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

설치된 인쇄 서비스 및 인쇄 서버 역할로 판단하면 이 서버는 인쇄 서버로 사용됩니다.

PowerShell로 Windows Server 역할 및 기능 관리

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 역할 및 기능 관리

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

PowerShell로 Windows Server 역할 및 기능 관리

–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

PowerShell로 Windows Server 역할 및 기능 관리

그런 다음 이 CSV 파일을 사용하여 다른 일반 서버에 동일한 역할 집합을 설치할 수 있습니다.

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

PowerShell로 Windows Server 역할 및 기능 관리

역할이나 기능이 이미 설치된 경우 명령은 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