이 기사에서는 Windows Server Core를 구성하고 관리하는 데 사용되는 기본 cmd 및 PowerShell 명령을 설명하려고 했습니다. . 이 가이드는 기본 Server Core 관리 명령에 대한 참조로 초보자와 숙련된 시스템 관리자 모두에게 유용할 것이라고 생각합니다.
내용:
- SCONFIG를 사용하여 Windows Server Core 구성
- Server Core 구성을 위한 기본 PowerShell 명령
- 유용한 Windows Server Core 명령
Windows Server Core의 장점:
- 낮은 리소스 요구사항
- 안정성과 보안이 향상되었습니다. 더 적은 수의 업데이트가 필요합니다(코드 및 사용된 구성 요소의 양이 적기 때문에).
- 인프라 역할 서버(Active Directory 도메인 컨트롤러, DHCP 서버, Hyper-V 호스트, SMB 파일 서버 등)로 사용하기에 이상적입니다.
Server Core는 (완전히 무료인 Hyper-V Server와 달리) 일반적인 물리적 또는 가상 Windows Server 인스턴스로 라이선스가 부여됩니다.
Core 모드에서 Windows Server 2016/2019를 설치하려면 일반 설치를 선택해야 합니다. Windows Server(데스크톱 환경)를 선택하는 경우 , 운영 체제의 GUI 버전이 설치됩니다(이전 Windows Server 버전에서는 GUI가 있는 서버라고 함).
서버를 다시 설치하지 않으면 Windows Server 2016/2019에서 전체 GUI와 코어 모드 간에 전환할 수 없습니다.
Windows Server Core 설치 후 로컬 관리자 암호를 설정하라는 메시지가 표시됩니다.
Server Core에 로그온하면 명령 프롬프트(cmd.exe)가 나타납니다. 대신 PowerShell 콘솔을 실행하려면 레지스트리를 약간 변경합니다. 아래 명령을 실행하십시오:
Powershell.exe
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'
그리고 서버를 다시 시작하십시오:
Restart-Computer -Force
실수로 명령 프롬프트 창을 닫은 경우
Ctrl+Alt+Delete
를 누르십시오. , 작업 관리자 -> 파일 -> 실행 ->을 열고 cmd.exe
를 실행합니다. (또는 PowerShell.exe
). SCONFIG를 사용하여 Windows Server Core 구성
내장된 sconfig를 사용할 수 있습니다. 기본 Server Core 구성을 위한 스크립트입니다. sconfig
를 실행하기만 하면 됩니다. 콘솔에서 명령. 여러 항목이 있는 메뉴가 표시됩니다.
서버 구성 메뉴를 사용하여 다음을 수행할 수 있습니다.
- 도메인 또는 작업 그룹에 컴퓨터 추가
- 컴퓨터 이름(호스트 이름) 변경
- 로컬 관리자 추가
- 원격 관리 및 ICMP 응답 허용/거부
- Windows 업데이트 설정 구성
- Windows 업데이트 설치
- RDP 활성화/비활성화
- 네트워크 어댑터 설정 구성(IP 주소, 게이트웨이, DNS 서버)
- 날짜 및 시간 설정
- 원격 측정 설정 변경
- Windows Server 인스턴스 활성화
- 서버에서 로그오프, 다시 시작 또는 종료
sconfig
의 각 항목 번호가 있습니다. 원하는 항목을 열려면 number
를 입력하기만 하면 됩니다. Enter
키를 누릅니다. .
일부 sconfig 메뉴 항목에는 하위 항목이 있습니다. 설정으로 이동하려면 해당 번호도 입력해야 합니다.
모든 sconfig 설정은 이해하기 쉽기 때문에 설명하지 않습니다. 그러나 대부분의 경우 관리자는 다양한 PowerShell 스크립트를 사용하여 Server Core를 실행하는 새 호스트를 구성하는 것을 선호합니다. 특히 대량 배포 시나리오에서 더 쉽고 빠릅니다.
Server Core를 구성하기 위한 기본 PowerShell 명령
Server Core를 구성하는 데 사용할 수 있는 기본 PowerShell 명령을 살펴보겠습니다.
Windows Server 빌드 및 PowerShell 버전에 대한 정보를 얻으려면:
Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
선택
$PSVersionTable
Server Core를 다시 시작하려면 다음 PowerShell 명령을 실행하십시오.
Restart-Computer
Server Core 콘솔에서 로그오프하려면 아래 명령을 사용하십시오.
logoff
PowerShell을 사용하여 Server Core에서 네트워크 설정 구성
이제 PowerShell을 사용하여 네트워크 설정을 구성해야 합니다(기본적으로 Windows는 DHCP에서 IP 주소를 받도록 구성되어 있음). 네트워크 어댑터 목록 표시:
Get-NetIPConfiguration
네트워크 어댑터 인터페이스의 색인을 지정하십시오(InterfaceIndex
) 새 IP 주소와 DNS 서버를 변경하고 설정하려는 경우:
New-NetIPaddress -InterfaceIndex 4 -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1
Set-DNSClientServerAddress –InterfaceIndex 4 -ServerAddresses 192.168.1.11,192.168.101.11
현재 네트워크 설정 확인:
Get-NetIPConfiguration
Set-DnsClientServerAddress –InterfaceIndex 4 –ResetServerAddresses
Set-NetIPInterface –InterfaceIndex 4 -Dhcp Enabled
네트워크 어댑터를 활성화/비활성화하려면:
Disable-NetAdapter -Name “Ethernet0”
Enable-NetAdapter -Name “Ethernet 0”
네트워크 어댑터에 대한 IPv6 지원 상태를 활성화, 비활성화 또는 확인하려면:
Disable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6
PowerShell 또는 시스템 연결을 위해 winhttp 프록시 서버를 구성하려면:
netsh Winhttp set proxy <servername>:<port number>
날짜/시간 설정은 어떻게 하나요?
그래픽 도구 intl.cpl
를 사용하여 날짜, 시간 또는 시간대를 설정할 수 있습니다. 또는 PowerShell:
Set-Date -Date "07/21/2021 09:00"
Set-TimeZone "Central Europe Standard Time”
컴퓨터 이름 설정, 도메인 가입 및 Server Core 활성화
컴퓨터 이름(호스트 이름)을 변경하려면:
Rename-Computer -NewName be-srv01 -PassThru
온프레미스 Active Directory 도메인에 서버를 추가하려면:
Add-Computer -DomainName "corp.woshub.com" -Restart
로컬 관리자 그룹에 사용자를 추가하려면 그룹 정책을 구성하거나 수동으로 추가할 수 있습니다.
Add-LocalGroupMember -Group "Administrators" -Member "corp\jsmith"
Windows Server를 활성화하려면 제품 키를 입력하십시오.
slmgr.vbs –ipk <productkey>
slmgr.vbs –ato
또는 KMS 서버에서 호스트를 활성화할 수 있습니다. 예를 들어 KMS 호스트에서 Windows Server Core 2019 Standard를 활성화하려면:
slmgr /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
slmgr /skms kms.corp.woshub.com:1688
slmgr /ato
Windows Server Core의 원격 관리 활성화
RDP를 통해 Server Core에 대한 원격 액세스를 허용하려면:
cscript C:\Windows\System32\Scregedit.wsf /ar 0
원격 관리를 허용하려면:
Configure-SMRemoting.exe –Enable
Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”
Configure-SMRemoting.exe -Get
PowerShell Remoting용 Win-RM을 허용하려면:
Enable-PSRemoting –force
Server Core에서 Windows 방화벽 구성
이 문서에서 PowerShell을 사용하여 Windows Defender 방화벽을 구성하는 방법에 대한 정보를 찾을 수 있습니다. 여기서는 몇 가지 기본 명령만 보여드리겠습니다.
모든 프로필에 대해 Windows Defender 방화벽을 활성화하려면:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
네트워크 유형을 공개에서 비공개로 변경하려면:
Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private
Windows 방화벽을 완전히 비활성화하려면(권장하지 않음):
Get-NetFirewallProfile | Set-NetFirewallProfile -enabled false
원격 관리 도구를 사용하여 연결을 허용하려면:
Enable-NetFireWallRule -DisplayName “Windows Management Instrumentation (DCOM-In)”
Enable-NetFireWallRule -DisplayGroup “Remote Event Log Management”
Enable-NetFireWallRule -DisplayGroup “Remote Service Management”
Enable-NetFireWallRule -DisplayGroup “Remote Volume Management”
Enable-NetFireWallRule -DisplayGroup “Remote Scheduled Tasks Management”
Enable-NetFireWallRule -DisplayGroup “Windows Firewall Remote Management”
Enable-NetFirewallRule -DisplayGroup "Remote Administration"
Windows Server Core에 업데이트를 설치하는 방법
업데이트 옵션을 관리하려면 Windows 업데이트 그룹 정책을 사용하는 것이 좋습니다. 그러나 업데이트 설정은 수동으로 설정할 수 있습니다.
자동 업데이트를 비활성화하려면:Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 1
사용 가능한 업데이트를 자동으로 다운로드하려면:Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 3
설치된 업데이트 목록을 얻으려면:Get-Hotfix
또는wmic qfe list
Windows 업데이트를 수동으로 설치하려면 wusa
를 사용할 수 있습니다. 도구:wusa kbnamexxxxx.msu /quiet
명령 프롬프트에서 업데이트를 설치하고 관리하려면 PowerShell용 PSWindowsUpdate 모듈을 사용하는 것이 편리합니다.
Windows 핵심 역할, 서비스 및 프로세스 관리
Windows Server Core에서 사용 가능한 모든 역할 목록을 보려면 다음 PowerShell 명령을 실행하십시오.
Get-WindowsFeature
Windows Server에 설치된 모든 역할 및 기능 목록을 얻으려면(따라서 서버의 용도를 빠르게 이해할 수 있음):
Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate
예를 들어 DNS 역할을 설치하려면 다음 명령을 실행하십시오.
Install-WindowsFeature DNS -IncludeManagementTools
Windows의 모든 서비스 목록을 얻으려면:
Get-Service
중지된 모든 서비스를 보려면:
Get-Service | Where-Object {$_.status -eq “stopped”}
서비스를 다시 시작하려면:
Restart-Service -Name spooler
프로세스를 관리하려면 작업 관리자(taskmgr.exe) 또는 PowerShell 프로세스 모듈을 사용할 수 있습니다.
Get-Process cmd, wuaucl* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft
유용한 Windows Server Core 명령
마지막으로 Server Core를 관리하는 데 자주 사용하는 몇 가지 유용한 PowerShell 명령과 스크립트를 보여 드리겠습니다.
물리적 디스크의 상태 및 상태에 대한 정보(기본 스토리지 디스크 관리 모듈이 사용됨):
Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType, SpindleSpeed, HealthStatus, OperationalStatus -AutoSize
여유 디스크 공간 정보:
Get-WmiObject -Class Win32_LogicalDisk |
Select-Object -Property DeviceID, VolumeName, @{Label='FreeSpace (Gb)'; expression={($_.FreeSpace/1GB).ToString('F2')}},
@{Label='Total (Gb)'; expression={($_.Size/1GB).ToString('F2')}},
@{label='FreePercent'; expression={[Math]::Round(($_.freespace / $_.size) * 100, 2)}}|ft
서버의 마지막 10회 재부팅에 대한 정보:
Get-EventLog system | where-object {$_.eventid -eq 6006} | select -last 10
설치된 프로그램 목록:
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
외부 웹사이트에서 ZIP 파일을 다운로드하고 추출하려면:
Invoke-WebRequest https://servername/file.zip -outfile file.zip
Expand-Archive -path '.\file.zip' -DestinationPath C:\Users\Administrator\Documents\
디렉터리의 모든 파일을 네트워크를 통해 원격 컴퓨터로 복사하려면 Copy-Item cmdlet을 사용할 수 있습니다.
$session = New-PSSession -ComputerName be-dc01
Copy-Item -Path "C:\Logs\*" -ToSession $session -Destination "C:\Logs\" -Recurse -Force
장치 드라이버를 설치하려면:
Pnputil –i –a c:\install\hpspp\hpdp.inf
Microsoft는 또한 Server Core App Compatibility Feature on Demand(FOD)라는 특별 패키지를 제공합니다. , Windows Core Server 2019(MMC, Eventvwr, Hyper-V Manager, PerfMon, Resmon, Explorer.exe, Device Manager, Powershell ISE)에 일부 그래픽 도구 및 스냅인을 설치할 수 있습니다. Microsoft 구독이 활성화된 경우 FOD를 ISO 파일로 다운로드할 수 있습니다. 다음과 같이 설치할 수 있습니다.
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
Server Core 앱 호환성 기능 온디맨드 설치는 Server Core에서 약 200MB의 추가 RAM을 사용합니다.
이 기사에서는 Windows Server Core를 관리하는 데 필요한 가장 유용한 명령을 수집하려고 했습니다. 일상 업무에 필요하다고 판단되면 수시로 기사를 업데이트하고 새로운 명령어를 추가하겠습니다.