IT 4

Powershell로 Active Directory 퇴사자 계정 처리하기

신규입사자 계정 객체 생성 스크립트는 여러모로 보안이 신경쓰여 블로그에 포스팅을 못하고 있지만 퇴사자 처리는 괜찮을 것 같다.  역시나 민감한 부분은 Classified 처리. 퇴사자 계정처리는 계정생성보다 훨씬 간단하다. 부서별, 직무별 달라지는 property들이나 네이밍 규칙 등으로부터 자유롭기 때문.$allUsers = Get-ADUser -Filter * -Properties samAccountName, Manager$anotherLeaverFlag = $truewhile($anotherLeaverFlag){     $accName = Read-Host "퇴사자의 사번을 입력하세요"    $leaveUser = Get-ADUser -Filter {SamAccountName -eq $accName..

At actual field 2024.05.18

Powershell로 실행 로그 저장하기

그동안 파워쉘로 Active Directory 상 User Object를 생성하는 스크립트를 계속 업데이트 해오다보니 단 한줄이었던 스크립트가 어느덧 300줄 정도로 늘어났다.  스크립트가 길어지다보니 기능별로 모듈화된 함수를가진 별도의 파일들로 나눌까도 생각해봤지만 어차피 수정하는 사람은 나뿐이고 실행하는 사람도 나포함 둘뿐이라 굳이 그런 큰 작업을 할 것 같지는 않다.  블로그에 포스팅하고 싶은 기능들도 있었지만 혹여 회사 서버 아키텍트나 하다못해 네이밍 규칙이라도 어떤 실마리라도 보일까 싶어 포스팅하지 않고 있었는데 이번 기능은 별 상관 없을 것 같다. OU 경로와 공유폴더 경로는 classified 처리했다.아래의 스크립트는 AD 계정을 생성하고나서 생성된 계정들의 정보와 추가작성한 메모를 담은 ..

At actual field 2024.05.18

Powershell로 로컬 프로필 삭제하기

우리회사에는 공용PC들을 쓰는 부서가 있다. 공용PC다보니 부서원들이 그날그날 출근해서 매번 다른 PC를 사용하고, 그렇게 하다보니 PC마다 로컬 유저 프로필들이 잔뜩 생성되어 하드 용량을 꽉 채워버리기 부지기수. 하드 증설 예정이나 그 전까지는 용량이 다찼다고하면 IT인원이 하나씩 지우는 수밖에 없다. 위의 캡처와 같이 관리자 계정으로 로그인하여 system advanced properties에서 프로필을 하나씩 삭제해도 되지만 시간이 오래걸리고 번거로우니 파워쉘을 이용한 자동삭제 스크립트를 작성했다. try{    Set-ExecutionPolicy remotesigned}catch{    }$profiles = Get-WmiObject Win32_UserProfile | Where-Object { ..

At actual field 2024.05.02

Powershell을 통한 Active Directory의 객체 정보 수정

Active Directory의 유저 계정 CRUD 업무를 인계 받았다. 신규입사자들을 위한 계정을 한방에 생성하기 위한 파워쉘 명령어와 전체 계정의 유저 네임을 텍스트로 export하는 명령어도 전달 받았는데, 파워쉘 명령어는 낯설긴 하지만 두가지를 보니 약간은 SQL과 자바스크립트와 유사하다는 인상을 받았다. 여기에 자세하게는 작성할 수 없지만, 마침 특정 유형의 사용자들이 매번 로그인하기에 암호가 너무 번거롭다며 그들 계정의 암호를 간단하게 일괄변경해줄 수 없냐는 문의를 받았고.. 당연히 내가 내 맘대로 그렇게합죠 할 수는 없는 법. 보안상 리스크가 크기에 승인될리는 없을 듯 하지만 이 기회에 AD상 다수의 객체에 대한 property를 일괄 수정하는 테스트를 돌려보았다. $ouPath = "OU=..

At actual field 2024.01.11