Files
ModernAdminStudio/CHANGELOG.md
T

8.3 KiB

Enterprise Admin Studio - 변경 이력 (CHANGELOG.md)

[v1.6.0] - 2026-10-21

Added

  • MS SQL Server AD 도메인 계정 기반 Windows 통합 인증 위장(Impersonation) 엔진 탑재:
    • Modules/SqlService.ps1: Win32 advapi32.dll의 LogonUser API(Type 9 LOGON32_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종 확장:
      1. 현재 PC Windows 통합 인증 (Current Session)
      2. AD 도메인 계정 위장 Windows 인증 (AD LogonUser /netonly)
      3. SQL Server 자체 계정 인증 (User ID / Password)
    • SettingsView.xaml: TxtSqlDomain (AD 도메인 입력칸), LblSqlDomain, 동적 설명 힌트(TxtSqlAuthHint) 및 선택 변경에 따른 입력 필드 실시간 활성화/비활성화 처리 연동
    • config.json: MsSql.Domain 필드 추가 및 영속적 저장 지원

[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 간이 쿼리 파서 및 실행기 구현
  • 동작 모드 토글 (Live vs Mock) 시스템:
    • 상단 헤더에 현재 모드(Live 초록색 배지 vs Mock 보라색 배지) 실시간 시각화
    • 실제 대상 서버가 없거나 네트워크가 단절된 경우에도 안전하게 목업 데이터로 자동 폴백되는 안전장치 구축
  • 영속적 설정 관리 (config.json & ConfigService.ps1):
    • AD, NetApp, MS SQL의 모든 접속 엔드포인트 및 자격증명을 JSON 기반으로 저장/로드
    • 환경설정 화면에서 원클릭 "전체 인프라 일괄 진단" 기능 추가
  • 문서화 강화:
    • 시스템 구조도 및 C# 마이그레이션 청사진을 담은 ARCHITECTURE.md 작성
    • 실제 운영 및 메뉴얼 가이드 USAGE.md 작성

[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 제공