Tag: Powershell

마지막 사용자 암호 잘못 입력(badPasswordTime) 시간 계산 방법

AD (Active Directory) 환경에서 GUI 보다는 Powershell을 이용한 CLI 방법이 더 쉽고 보다 자세한 정보를 확인 할 수 있습니다. 하지만 몇몇 정보는 비인식 데이터로 표기 되기 때문에 GUI를 선호하는 경우도 있습니다. 대표적인게 아래와 같이 특정 계정에 대한 마지막 잘못된 암호 인증 시도 정보를 Powershell CLI로 확인 해보면 비인식 데이터로 표기되어 이를 다시 확인하는 방법을 몰라 다시 GUI로 확인하는 분들도 많은걸로...

[Powershell] Get-ADUser 명령어

기본적으로 Script 언어를 배울 때, 변경 명령어는 나중에 배우고, 보통 정보를 읽어오는 행위 먼저 배우게 됩니다. 그 이유는 변경 명령어로 예기치 않는 장애가 발생할 수 있으니까요. Powershell 도 동일하게 보통 Get-ADUser 명령어를 먼저 배우게 됩니다. 다만 Powershell 구분은 Like 구분에 대해 굉장히 인색하게 적용되어 일반적인 Script 언어에 비해 접근이 좀 어려운게 사실 입니다. 구체적인 내용은 아래를 내용들을 참고 해주시기 바랍니다....

Windows Edition 변경 방법 (Win 2012 버전부터)

들어가면서 Windows Edition 변경은 안되는걸로 알고 있었습니다. field engineer 시절에 내 사수에게 이 질문을 했다가 OS 재설치 이외에는 방법이 없다라는 말과 함께 심하게 야단 맞았던 기억이 있네요. 최근 Windows 2016 버전을 설치하면서 Standard -> DataCenter 버전으로 Edition 변경을 해야하는 문제가 발생해서 OS 재설치를 준비하다가 혹시나 해서 구글링을 통해 방법이 있는걸 확인하고 테스트 해봤더니 깔끔하게 적용이 되네요. 목적 상위 Edition으로 변경...

User Password Expired 점검 및 Password reset Powershell code

목적 OnPremise 환경에서 Powershell을 이용한 CLI 기반의 빠른 조회 대상 LastLogonData Passwordexpired passwordlastset Passwordneverexpires Passwordnotrequired 계정 조회 문법 Get-ADUser 사용자 이름 -Server “조회 AD 서버” -Properties * | Select-Object -Property LastLogonDate, passwordexpired, passwordlastset, passwordneverexpires, passwordnotrequired Example LastLogonDate : 2018. 2. 6. 오후 3:49:50 passwordexpired : False passwordlastset : 2018. 2. 13. 오전 9:35:10 passwordneverexpires : False passwordnotrequired : False 계정...

Powershell을 이용한 AD 복제 토폴로지 관리 방안

전제 조건 -. Windows Server 2012 도메인 컨트롤러 -. Windows Server 2012 AD DS 및 AD LDS에 대한 원격 서버 관리 도구가 설치되어야 한다. -. Windows AD DS 및 AD LDS 설치에 대한 원격 서버 관리 도구가 설치되어야 한다. 목표 모든 도메인 컨트롤러 및 해당 AD 사이트의 목록을 확인한다. 복제 토폴로지 관리 복제 상태 보기 및 정보 현재 운영 중인...

동적 메일 그룹의 구성원 보기 (Get-DynamicDistributionGroup)

기본 조건 Office365 시스템에 Remote Powershell 환경이 구축되어야 함. automatic module download로 별도 설치 불필요 On-Premise 시스템에도 적용 가능 함. Powershell ver 2.0 이상 필요 기본 명령어 Command., Get-DynamicDistributionGrup “검색하고자 하는 그룹 명칭” Example., 기본 명령어를 입력하게되면, 달랑 해당 그룹 명칭과 담당자 계정명만 나오게 됩니다. (보안상 blur 처리 했습니다.) 그럼 기본 명령어에 ” fl 이라는 옵션을 추가 해보면 다음과 같이...

조회 AD 서버와 사용자 account를 입력 받아 password expired를 조회하는 구문

<# .SYNOPSIS CDNetworks 임직원의 암호 만료 상황 점검 Script .PARAMETER Name ddddd .EXAMPLE ddddd #> $name = Read-Host “Enter Employee Name” $server = Read-Host “AD Server Name” Get-ADUser $name -Server $server -Properties * | Select-Object -Property LastLogonDate, passwordexpired, passwordlastset, passwordneverexpires, passwordnotrequired 위와 같이 코드를 작성하고 임의의 파일명으로 저장하시고, 해당 폴더로 Powershell 경로로 옮긴다음 아래 그림과 같이 실행하면 됩니다.

MFA (Multi-Facter-Auth) 인증 설정 계정의 Exchange Online Remote Powershell 접속 방법

최근 보안이 강화되면서, Office365에서도 MFA(Multi-Facter-Auth) 기능 활성화를 강력히 권장하고 있다. 최근 전문적으로 Office365 계정 탈취를 목적으로 Fishing eMail을 보내기도 합니다. 하지만, MFA(Multi-Facter-Auth) 적용하는 순간, 갑자기 기존에 잘되던 Exchange Online으로 Remote Powershell 접근이 안되고 아래와 같은 에러 메세지가 발생하는걸 확인할 수 있습니다. New-PSSession : [outlook.office365.com] 다음 오류 때문에 원격 서버 outlook.office365.com에 연결하지 못했습니다. [ClientAccessServer=HK2PR02CA0220,BackEndServer=sixpr06mb0699.apcprd06.prod.outlook.com,Requ estId=5f462d35-b19a-4927-bd9e-a3e2cea16b40,TimeStamp=11/14/2017 6:47:52 AM] Access Denied 자세한 내용은 about_Remote_Troubleshooting...

AD 환경에서 꼼수 Dynamic Security Group 만들기

  순수 AD 환경에서는 Dynamic Security Group 생성이 안됩니다. 물론 Exchange 제품이 설치되어 있다면 생성해서 사용이 가능 하지만, AD 환경에서는 생성할 수 없습니다. 하지만 Dynamic Group의 편리성을 생각해본다면 AD 환경에서도 지원을 해줄것도 같지만 아직까지는 지원하지 않고 있습니다. (현재 Windows 2012R1 버전까지도 지원하지 않습니다.) 그래서 Powershell을 이용해서 짜가(?) Dynamic Security Group을 만들어볼까 합니다. 동작 원리는 다음과 같으며 아래와 같이 몇가지 조건이...

MS Powershell source code 모음 사이트

MS에서는 MVP나 공식 Powershell 개발자들을 통해 생산되는 Powershell code를 아래 MS 사이트에 모아두고 있어 여러 사이트에 산재되어 있는 정보보다 조금 더 신뢰할 수 있는 정보를 보유 하고 있습니다. 물론 해당 사이트에 업로드 된 Powershell code 라고 해도, 강제성이 없기 때문에 언제든지 Expired 될수 있다는 걸 꼭 명심해야 합니다. 저도 해당 사이트에 Script Brower 라는 add-on을 잘 사용했지만, 언제부터인가 업데이트가 안되다가...