홈으로 돌아가기

AD 기술 지원을 위한 PowerShell GUI

이 기사는 AD 도메인에서 기술 지원 작업 자동화를 위한 PowerShell GUI 개발을 설명합니다. 이 도구는 호스트 이름을 추출하고 PC를 진단하며 원격 작업을 수행합니다. 15명 전문가 팀이 3년간 사용했습니다.

PowerShell GUI: AD에서의 기술 지원 자동화
Advertisement 728x90

PowerShell GUI를 활용한 IT 지원 자동화: 사내 개발 경험

4,000–5,000개의 Windows 7–10 워크스테이션을 관리하는 Active Directory 도메인 환경에서 지원 티켓이 IP 주소나 호스트명 없이 도착했습니다. 사용자 PC 정보를 확인하려면 ADUC에서 수동으로 검색해야 했죠: 티켓에서 사용자 이름을 복사하고 콘솔을 탐색한 뒤 계정의 Description 필드에서 호스트명을 추출하는 식입니다. 이 과정이 처리 속도를 늦추었고, 특히 하드웨어 구성을 확인하거나 원격 액세스 없이 일상적인 작업을 할 때 더 큰 문제였습니다.

해결책은 GUI 인터페이스를 갖춘 맞춤형 PowerShell 스크립트였습니다. 사용자 이름을 입력하면 도구가 AD에서 호스트명을 가져오고 계정 및 PC 세부 정보를 수집하며 작업 버튼을 제공합니다. 결과는 하나의 창에 모두 표시됩니다: 상단 패널에 정보, 중간에 기능 버튼, 하단에 출력.

이 스크립트는 오픈소스 LazyWinAdmin GUI(2011)를 분석해 기반으로 처음부터 개발되었으며, 기업 환경에 맞게 조정했습니다. 이를 통해 보안성을 확보하고 특정 작업에 최적화했으며, 중급 개발자 수준의 PowerShell 실무 경험을 쌓았습니다.

Google AdInline article slot

도구의 주요 기능

이 도구는 일상적인 IT 지원 시나리오를 포괄합니다. 모든 도메인 PC에서 관리자 권한과 네트워크 액세스(WinRM, SMB, ICMP)가 필요합니다.

핵심 기능은 다음과 같습니다:

  • AD 검색 및 데이터: 사용자 이름으로 호스트명, 마지막 로그인 시간, 비밀번호 만료, 호스트명 ping, 전체 이름, 전화번호, 사원 ID, 그룹 멤버십.
  • 원격 액세스: MSRA, Dameware, RDP—원하는 대로 선택.
  • 하드웨어 진단: PC 구성(Get-WmiObject Win32_ComputerSystem, Win32_Processor 등), HDD S.M.A.R.T. 상태.
  • 관리 작업: elevated rights로 mmc 'Computer Management' 실행, PS Remoting, cmd 관리자 권한, 재부팅/셧다운.
  • 유지보수: 임시 파일 정리(GPO 불필요), 로컬/로밍 프로필 공간 계산, 소프트웨어 설치 프로그램 복사.
  • 소프트웨어 및 할당량: 설치된 소프트웨어 목록(Get-WmiObject Win32_Product), Exchange 메일박스 크기.
  • 특수 기능: Windows 방화벽 규칙 재구성, 주변기기 레지스트리 조정, PC로 메시지 전송, 티켓 해결 참조.
  • 대량 작업: AD 내보내기(그룹 멤버, 직급별 직원), 그룹 추가.

구현은 ActiveDirectory, WMI/CIM, WinRM 모듈을 사용했습니다. GUI는 Windows Forms(Add-Type -AssemblyName System.Windows.Forms)를 기반으로 하며, TextBox로 사용자 이름 입력, DataGridView로 출력, Buttons로 작업을 처리합니다.

Google AdInline article slot

개발 및 개선 과정

처음에는 호스트명 조회 기능부터 시작했습니다. 일상 작업이 드러날 때마다 진단부터 소프트웨어 설치 자동화까지 기능을 점차 추가했습니다. 기본 원칙은 GUI 내 로깅과 원클릭 작업이었습니다.

호스트명 로직 예시:

$username = $textboxLogin.Text
$user = Get-ADUser -Identity $username -Properties Description
$hostname = $user.Description

하드웨어 인벤토리 예시:

Google AdInline article slot
Invoke-Command -ComputerName $hostname -ScriptBlock { Get-WmiObject Win32_Processor | Select Name, NumberOfCores }

이 도구는 15명 전문가 팀이 3년간 사용하며 티켓 해결 속도를 크게 높였습니다. 한계: 관리자 권한 의존성, 배포 당시 국내 소프트웨어 대안 없음.

주요 교훈

  • 데이터 조회 시간을 분 단위에서 초 단위로 단축해 ADUC 수동 작업을 최소화.
  • PC 연결 없이 레벨-2 일상 작업 80%를 커버.
  • 전체 도메인 관리자 권한 필요; 제한된 환경에서는 기능이 제약됨.
  • PowerShell 5.1+와 AD 모듈, WinRM 활성화 기반.
  • 역할별 프로필(다른 버튼 세트)로 확장 가능.

— Editorial Team

Advertisement 728x90

다음 읽기