8.3 KiB
8.3 KiB
Enterprise Admin Studio - 변경 이력 (CHANGELOG.md)
[v1.6.0] - 2026-10-21
Added
- MS SQL Server AD 도메인 계정 기반 Windows 통합 인증 위장(Impersonation) 엔진 탑재:
Modules/SqlService.ps1: Win32advapi32.dll의LogonUserAPI(Type 9LOGON32_LOGON_NEW_CREDENTIALS,/netonly)와WindowsIdentity.RunImpersonated를 결합하여, 사용자가 입력한 AD 도메인 ID/PW를 Windows 보안 토큰으로 위장한 뒤 SQL Server에Integrated Security=True로 인증하는 엔진 구현Test-SqlConnection: SQL Server가 실제로 누구로 인증했는지SELECT SUSER_SNAME()을 질의하여 반환 메시지에 실시간 출력Get-SqlDatabases,Invoke-SqlBackupAction,Invoke-SqlQuerySnippet: 모든 SQL 작업이 설정된 인증 컨텍스트(Invoke-WithSqlAuthContext) 하에서 안전하게 실행되도록 통합
- 환경설정 UI (
Views/SettingsView.xaml) 및 SQL 관리 화면 (Views/SqlDatabaseView.xaml) 연동:- 인증 방식 선택 옵션 3종 확장:
- 현재 PC Windows 통합 인증 (Current Session)
- AD 도메인 계정 위장 Windows 인증 (AD LogonUser /netonly)
- SQL Server 자체 계정 인증 (User ID / Password)
SettingsView.xaml:TxtSqlDomain(AD 도메인 입력칸),LblSqlDomain, 동적 설명 힌트(TxtSqlAuthHint) 및 선택 변경에 따른 입력 필드 실시간 활성화/비활성화 처리 연동config.json:MsSql.Domain필드 추가 및 영속적 저장 지원
- 인증 방식 선택 옵션 3종 확장:
[v1.5.0] - 2026-10-20
Added
- 다중 도메인 컨트롤러(6대 DC) 환경 NetApp 활성 DC 감지 및 복제 지연(Replication Lag) 방지 전략 탑재:
Get-NetAppActiveDc(Modules/NetAppService.ps1): ONTAP REST API (/api/protocols/cifs/domains?fields=discovered_servers)를 질의하여 NetApp SVM이 현재 바인딩 중인 Active DC(예:dc04.corp.local)를 실시간 식별New-ADSecurityGroupOnTargetDc(Modules/ADService.ps1): NetApp이 바라보는 활성 DC(LDAP://<ActiveDC>/<OU>)에 보안그룹 및 멤버십을 직접 생성하여 도메인 간 복제 대기 시간 0초 달성 (User or group does not exist에러 원천 차단)Sync-ADObjectToTargetDc(Modules/ADService.ps1): 특정 DC 생성 시Sync-ADObject또는repadmin /replicate를 통해 나머지 5대 DC로 즉시 단방향 복제 큐잉Set-NetAppShareAcl(Modules/NetAppService.ps1): 지수 백오프(Exponential Backoff)를 지원하는 스마트 재시도(Smart Retry, 최대 3회) 회랑 내장
- 무중단 비동기(
Task.Run) 백그라운드 트랜잭션 엔진:Start-App.ps1: UI 스레드와 분리된 전용 백그라운드 Runspace에서 복합 작업(Active DC 감지 -> AD 그룹 생성 -> CIFS ACL 바인딩 -> Quota 변경 -> SQL 감사)을 비동기로 실행- WPF
DispatcherTimer기반 실시간 로그 스트리밍 콘솔 및 UI 멈춤(Freeze) 현상 완전 제거
- 기술 아키텍처 및 운영 가이드 문서 추가:
MULTI_DC_SYNC_GUIDE.md: 6대 DC 복제 지연 원인 분석, NetApp 세션 고정 원리, 3중 해결 전략 및 트러블슈팅 명령어 완비
[v1.4.0] - 2026-10-20
Added
- 다중 사용자 대량 입력 및 동명이인(Ambiguity) 자동 감지 엔진 (
Modules/UserResolverService.ps1):- 줄바꿈, 쉼표, 세미콜론, 탭(엑셀 복사본)으로 구성된 텍스트를 자동 파싱 및 중복 제거
- ID(SamAccountName) 정확 매칭, 이름(DisplayName) 단일 매칭, 동명이인 다수 매칭(부서/사번 비교 확정), 미발견 계정으로 4단계 정밀 분류
- 동명이인 검증 전용 모달 다이얼로그 (
Views/UserResolverDialog.xaml):- 엑셀/클립보드 붙여넣기 지원, 검증 상태별 색상 배지(정상: 초록, 동명이인: 주황, 미발견: 빨강)
- 동명이인 발생 시 부서, 직급, 사번을 대조하여 운영자가 올바른 계정만 체크박스로 확정 가능
- 인프라 일괄 작업 센터 (Batch Workstation) (
Views/BatchWorkstationView.xaml):- 사용자 다중 입력칸: 텍스트 직접 입력 및 동명이인 검증기 연동
- Share 권한 및 AD 보안그룹 설정: 대상 Share 선택, 추가/해제 라디오, 동명 AD 보안그룹 자동 동기화 토글
- NetApp Qtree & Quota 용량 조정: Quota 조정 활성화 토글, 대상 Qtree 경로, Soft/Hard Limit(GB) 입력
- 감사 및 결재 정보: 처리 사유(Reason) 필수 입력, ITSM 결재 티켓 번호, 권한 만료일자 관리
- 영향도 사전 시뮬레이션 (Dry-Run Preview): 실제 반영 전 단계별 변경 사항 및 충돌 여부 사전 검증 표 제공
- 최종 일괄 실행 (Apply): 단일 트랜잭션 단위 실행 및 실시간 콘솔 로그 기록
[v1.3.0] - 2026-10-20
Added
- 공유 권한 및 AD 보안그룹 1:1 연계 관리 (Share Permission & AD Group Sync) 워크플로우 틀 구축:
- 신규 뷰 (
Views/ShareAccessManagerView.xaml):- 상단 Share 목록 드롭다운 및 DB/AD 새로고침
- 좌측: DB 조회 사용자 목록 (다중 선택 체크박스, SamAccountName, 이름, 부서, 상태)
- 중앙:
[그룹 추가]/[그룹 해제]대화형 액션 트리거 버튼 - 우측: Share와 동일한 이름의 AD 보안그룹 소속 멤버 실시간 조회 그리드
- 하단: 동기화 단계별 상세 실행 로그 및 결과 추적 콘솔
- 신규 서비스 스켈레톤 (
Modules/ShareSyncService.ps1):Get-DbShareList: DB에서 관리 대상 Share 목록 조회 쿼리 공간Get-DbUsersForShare: 특정 Share의 권한 대상자 DB 조회 쿼리 공간Get-ADGroupMembersByShareName: Share 이름과 동명의 AD 보안그룹 멤버십 실시간 조회Add-UsersToShareAndGroup: 사용자(sAMAccountName)를 Share 동명 AD 그룹에 추가 + DB UPDATE 처리 골격Remove-UsersFromShareAndGroup: 사용자(sAMAccountName)를 Share 동명 AD 그룹에서 제거 + DB UPDATE 처리 골격
- 사용자가 본인 DB 스키마 및 쿼리, 실제 AD 그룹 규칙을 손쉽게 채워 넣을 수 있도록 명확한 TODO 주석 및 구조 제공
- 신규 뷰 (
[v1.2.0] - 2026-10-20
Added (신규 기능 추가)
- 실제 엔터프라이즈 인프라 연결 엔진 구현:
- Active Directory: .NET 내장
System.DirectoryServices를 활용한 실제 LDAP/LDAPS 연결,DirectorySearcher기반 실시간 사용자 검색, 계정 잠금 해제(lockoutTime = 0), 임시 비밀번호 초기화 및 강제 변경(pwdLastSet = 0), 계정 활성/비활성 제어 구현 - NetApp ONTAP 스토리지: ONTAP 9.6+ 표준 REST API(
https://<cluster>/api/...) 호출 엔진 구현. Qtree 목록/생성, Quota 한도/모니터링 조회, CIFS/NFS 공유 생성 및 목록 조회, 자체 서명 SSL 인증서 우회(IgnoreSslErrors) 옵션 탑재 - MS SQL Server:
System.Data.SqlClient를 활용한 실제 인스턴스 접속,sys.databases카탈로그 뷰 조인 실시간 DB 용량/복구모델/최근백업 집계,BACKUP DATABASE실시간 백업 파일 생성, T-SQL 간이 쿼리 파서 및 실행기 구현
- Active Directory: .NET 내장
- 동작 모드 토글 (Live vs Mock) 시스템:
- 상단 헤더에 현재 모드(Live 초록색 배지 vs Mock 보라색 배지) 실시간 시각화
- 실제 대상 서버가 없거나 네트워크가 단절된 경우에도 안전하게 목업 데이터로 자동 폴백되는 안전장치 구축
- 영속적 설정 관리 (
config.json&ConfigService.ps1):- AD, NetApp, MS SQL의 모든 접속 엔드포인트 및 자격증명을 JSON 기반으로 저장/로드
- 환경설정 화면에서 원클릭 "전체 인프라 일괄 진단" 기능 추가
- 문서화 강화:
- 시스템 구조도 및 C# 마이그레이션 청사진을 담은
ARCHITECTURE.md작성 - 실제 운영 및 메뉴얼 가이드
USAGE.md작성
- 시스템 구조도 및 C# 마이그레이션 청사진을 담은
[v1.0.0] - 2026-10-20
Added
- 프로젝트 초기 구축 (Initial Release):
- PowerShell + WPF (XAML) 기반 아키텍처 스캐폴딩
- Windows 11 Fluent Dark 모던 테마(
Styles/Theme.xaml) 및Segoe MDL2 Assets글리프 아이콘 적용 - 사이드바 내비게이션 및
ViewCache기반의 부드러운 페이지 전환 라우팅 구현 - 메뉴별 독립 View 5종 분리 (
DashboardView,ActiveDirectoryView,NetAppView,SqlDatabaseView,SettingsView) - 원클릭 백그라운드 실행을 위한
Run.bat제공