소개
RackStack은 Windows Server 구성 및 자동화를 위한 PowerShell 기반 툴킷입니다. TheAbider에서 개발했으며, 사전 구성된 서버를 프로덕션 환경으로 전환하는 과정을 자동화합니다. 네트워킹, 스토리지, Hyper-V, 클러스터링, 보안, 자동화 등 다양한 서버 관리 기능을 제공하며, 관리자 권한으로 실행되어 배치 모드와 CLI를 통해 무인 자동화를 지원합니다.
상세정보
네트워킹 및 스토리지
정적 IP 구성과 롤백 기능, VLAN 태깅, Switch Embedded Teaming 자동 감지, 커스텀 SET vNIC 생성, iSCSI/SAN 자동 케이블 감지 및 MPIO 지원을 제공합니다. 스토리지 백엔드는 iSCSI, Fibre Channel, Storage Spaces Direct, SMB3, NVMe-oF, 로컬 스토리지 중 선택 가능하며, 시스템 상태에서 자동 감지하고 배치 모드 단계에 적응합니다.
Hyper-V 및 서버 역할
Hyper-V 역할 설치, 구성 가능한 VM 템플릿 (override 또는 신규 추가 지원), 배치 큐를 통한 VM 배포, VHD 관리, 오프라인 레지스트리 주입, Secure Boot Gen 2, 클러스터 CSV 지원을 제공합니다. 또한 페일오버 클러스터링, MPIO, BitLocker, 중복 제거, 스토리지 복제 등 14가지 디스크 작업과 서버 역할을 자동화합니다.
보안 및 자동화
RDP/NLA, 방화벽 템플릿, Windows Defender 제외 설정, 복잡성 적용 로컬 관리자 계정, Windows 라이선싱 (GVLK 2008-2025, AVMA 2012R2-2025)을 구성합니다. JSON 기반 배치 모드는 24단계 멱등 작업과 트랜잭션 롤백을 지원하며, 빠른 설정 마법사, 구성 내보내기/가져오기, HTML 보고서, JSON 감사 로그 로테이션을 제공합니다.
모니터링 및 클라우드 통합
201개 CLI 액션을 통한 JSON 출력으로 플릿 자동화를 지원하며, ServerScore (0-100 건강 점수), HealthDashboard, ClusterHealthScore, StorageHealthScore를 제공합니다. System Center (SCCM/SCOM/WAC) 및 Azure AD/Intune과 통합되며, Azure Arc 서버 온보딩과 Microsoft Defender for Endpoint 온보딩을 통해 클라우드 보안 기능을 포함합니다.
추가 운영 기능
네트워크 정책 서버 (RADIUS)로 802.1X/VPN 인증, Always-On VPN (RRAS 게이트웨이 + ProfileXML 생성), CIS Windows Server L1 준수 스캔 (읽기 전용, 점수 기반 보고서), SIEM 로그 포워딩 (WEF + Splunk/Winlogbeat), 그룹 정책 백업/복원/드리프트, JEA 제한 엔드포인트, Windows Admin Center 게이트웨이 설치 및 구성 (포트/TLS 인증 선택, 방화벽 설정)를 제공합니다. 또한 성능 스냅샷, 트렌드 보고서, ‘가용 용량까지 남은 일수’ 추정, 이벤트 로그 뷰어, 서비스 관리자, 네트워크 진단 (핑, 트레이스루트, 포트 테스트, 서브넷 스위프, DNS, ARP) 등을 포함합니다.
다운로드·설치 방법
RackStack은 주요 Windows 패키지 관리자를 통해 배포됩니다. winget, Scoop, Chocolatey, PowerShell Gallery 중 하나를 선택하여 설치할 수 있습니다. 예를 들어, winget을 사용하려면 winget install TheAbider.RackStack 명령을 실행합니다. Scoop의 경우 scoop bucket add rackstack https://github.com/TheAbider/scoop-bucket seguido de scoop install rackstack를 실행합니다. Chocolatey에서는 choco install rackstack를 사용하며, PowerShell Gallery에서는 Install-Module RackStack를 실행합니다. (참고: PowerShell Gallery는 cmdlet-wrapper 모듈을 설치하며, EXE는 아님)
패키지 관리자를 통한 설치는 모두 동일한 RackStack.exe를 가져오며, 업데이트는 각각의 패키지 관리자 업데이트 명령(winget upgrade, scoop update, choco upgrade)을 통해 이루어집니다. 현재 Chocolatey는 커뮤니티 모더레이션 검토 중이며, winget은 최초 제출 대기 중입니다.
직접 다운로드하려면 GitHub 릴리스 페이지에서 RackStack.exe를 받아 서버에 배치하고 관리자 권한으로 실행하면 됩니다. 모든 릴리스 아티팩트는 Sigstore cosign으로 서명되고 SLSA Level 3 빌드 출처를 가지며, SHA-256 해시와 검증 명령이 릴리스 페이지에 제공됩니다. EXE는 Authenticode 서명이 없어 첫 실행 시 Windows SmartScreen에서 ‘알 수 없는 게시자’ 경고가 나타날 수 있습니다.
기본 사용법/명령어
첫 실행 시 설정 마법사가 시작되어 도메인, DNS, 관리자 계정, iSCSI 서브넷 등을 구성합니다. 설정은 rackstack.config.json 파일에 저장되며, 이 파일이 없을 경우 레거시 defaults.json을 자동으로 읽습니다. 사전 구성을 원한다면 릴리스에서 rackstack.config.example.json을 다운로드하여 이름을 바꾸고 값을 채워 exe와 동일한 디렉터리에 놓으면 됩니다.
배치 모드를 사용하려면 batch_config.json 파일을 스크립트와 동일한 디렉터리에 두고 다음 형식으로 작성합니다:
{
"ConfigType": "VM",
"Hostname": "WEB-01",
"IPAddress": "10.0.1.100",
"SubnetCIDR": 24,
"Gateway": "10.0.1.1",
"DNS1": "10.0.1.10",
"DomainName": "corp.example.com",
"EnableRDP": true,
"SetPowerPlan": "High Performance",
"CreateLocalAdmin": true,
"InstallAgents": ["MyRMM", "ExampleRMM"],
"ValidateCluster": false,
"AutoReboot": true
}
이 파일을 배치하면 스크립트 실행 시 자동으로 적용됩니다. 단계를 건너뛰려면 해당 필드를 null로 설정하면 되며, 모든 단계는 멱등이므로 동일한 구성을 반복 실행해도 이미 완료된 작업은 안전하게 건너뜁니다.
CLI 헤드리스 모드에서는 다음 예시와 같이 사용할 수 있습니다:
- 빠른 건강 + 디스크 + 디블롯 평가:
RackStack.exe -Action QuickScan -Silent - 디스크 정리 (표준 프로파일):
RackStack.exe -Action Cleanup -Tier Standard -Silent - 시스템 디블롯 (적극적 프로파일):
RackStack.exe -Action Debloat -Tier Aggressive -Silent - 배치 구성 실행:
RackStack.exe -Action Batch -Config "C:\path\to\config.json" -Silent - 서버 인벤토리 (JSON 출력):
RackStack.exe -Action Inventory -OutputFormat JSON -Silent
원클릭 원격 배포를 위해 다음 PowerShell 한 줄 명령을 사용할 수 있습니다:
irm https://raw.githubusercontent.com/TheAbider/RackStack/master/Install-RackStack.ps1 | iex특정 액션을 지정하려면 다음과 같이 실행합니다:
powershell -NoProfile -ExecutionPolicy Bypass -Command "& { $s = irm https://raw.githubusercontent.com/TheAbider/RackStack/master/Install-RackStack.ps1; $s | Set-Content rs.ps1; .rs.ps1 -Action Cleanup -Tier Standard -Silent }"JSON 출력 모드를 활성화하려면 -OutputFormat JSON 플래그를 추가합니다. 예를 들어:
- JSON 건강 점검:
RackStack.exe -Action HealthCheck -OutputFormat JSON -Silent - PowerShell에서 파싱:
$report = (.RackStack.exe -Action HealthCheck -OutputFormat JSON -Silent | ConvertFrom-Json).Report
종료 코드는 성공 시 0, 오류 시 1을 반환하며, CI/CD 통합에 적합합니다. 티어는 Light (최소, 프로덕션 안전), Standard (권장), Aggressive (최대 정리/디블롯)로 구분됩니다.
이런 경우에 유용합니다
반복적으로 Windows 서버를 구축하는 MSP나 인프라 팀은 RackStack을 통해 수동 구성 단계를 자동화하고, 배치 모드로 표준화된 서버 이미지를 신속히 배포할 수 있습니다. Hyper-V 호스트를 대량으로 설정해야 하는 환경에서는 네트워크, 스토리지, 클러스터링 구성을 한 번에 자동화하고, 트랜잭션 롤백으로 실패 시 이전 상태로 복구할 수 있어 운영 안정성을 높일 수 있습니다. 보안이 중요한 환경에서는 방화벽, Defender 제외, BitLocker, 로컬 계정 정책 등을 일괄 적용하고, 감사 로그를 통해 변경 사항을 추적할 수 있습니다. 또한 클라우드 통합이 필요한 경우 Azure Arc나 Defender for Endpoint 온보딩을 스크립트화하여 하이브리드 환경의 서버를 중앙 관리에 연결할 수 있습니다.
지원 환경·시스템 요구사항
RackStack은 Windows Server 2008 R2 SP1부터 최신 버전까지 지원하며, 개발 및 테스트 목적으로 Windows 10 및 Windows 11에서도 실행할 수 있습니다. 필수 조건은 PowerShell 5.1 이상이며, 구버전 서버에서는 Install-Prerequisites.ps1 스크립트를 통해 WMF 5.1을 자동 설치할 수 있습니다. 관리자 권한이 필요하지만, 권한이 없을 경우 자동으로 상승을 시도하므로 일반적인 사용 환경에서는 별도 조치가 필요하지 않습니다. 선택적으로 PSScriptAnalyzer를 설치하여 코드 린팅을 사용할 수 있으며, ISO나 VHD 파일을 다운로드해야 하는 경우 파일 서버 설정이 필요합니다.
최신 버전·업데이트
현재 버전은 1.123.1이며, 업데이트 내역은 GitHub 저장소의 Changelog.md 파일에서 확인할 수 있습니다. 릴리스 시마다 GitHub에서 새로운 RackStack.exe가 배포되며, 패키지 관리자(winget, Scoop, Chocolatey)를 통해 자동 업데이트를 받을 수 있습니다. EXE 파일은 모든 릴리스에서 Sigstore로 서명되고 SLSA Level 3 출처를 가지므로, 보안 검증을 통해 정품 여부를 확인할 수 있습니다.
제한 사항·확인 사항
RackStack.exe는 Authenticode 서명이 없으므로, 첫 실행 시 Windows SmartScreen에서 ‘알 수 없는 게시자’ 경고가 표시될 수 있습니다. 이는 보안 위험이 아닌 서명 부재로 인한 정상적인 동작이며, Sigstore 및 SLSA Level 3 검증을 통해 정품임을 확인할 수 있습니다. 또한, Defender 제외 설정을 관리하는 과정에서 ML 기반 백신 엔진이 오탐을 일으킬 수 있는데, 이는 실행 파일이 unsigned이고 시스템 보안 설정을 수정하기 때문입니다. 이런 경우 릴리스에 제공된 docs/Antivirus-Detections.md 문서를 참조하거나, 동일한 기능을 가진 .ps1 스크립트를 사용해 오탐을 피할 수 있습니다.
시스템 요구사항
- PowerShell 5.1+
- Windows Server 2008 R2 SP1, 2012, 2012 R2, 2016, 2019, 2022, 또는 2025 (Windows 10/11에서도 개발/테스트 가능)
- Administrator 권한 (필요 시 자동 상승)
- 선택 사항: PSScriptAnalyzer, ISO/VHD 다운로드를 위한 파일 서버


