스크립트 중에 MS에서 강력하게 추진하고 있는 스크립트인 "Powershell". 저 역시 아직은 실무에서 사용하면서 조금씩 배우는 단계인지라, 많이 알지는 못하지만 확실한건 기존 bat나 vbe 파일 대비 문법 구조가 이해하기 쉬운 점이 큰 장점이라고 생각한다.
파워쉘 구문은 정말 방대해서 모든 것을 언급하기는 힘들고 그 중에서 쓸모있고 필요한 것부터 정리를 하면서 궁극적으로는 고급 구문도 공부를 하면서 소개드릴 예정이다.
우선 파워쉘에 대해서는 모니모니해도 MS가 공식적으로 운영하고 있는 사이트(https://msdn.microsoft.com/en-us/powershell)가 있지만 솔직히 친절하지 않다.. 마치 개념원리 수준이고 실 사용을 하기에는 예시가 필요한데.. 다들 전문가인지 예시를 그닥 공유하지 않는다. ㅎㅎㅎ 여기서는 모든 기준은 ActiveDirectory 기준으로 소개할 예정이다.
기본적으로 파워셀은 "Verb(동사)-Object(목적어)"로 구성이 되어 있어서 누구나 처음을 봐도 무슨 커맨드인지 이해하기 쉽고 응용할 수 있다.
1. Powershell Module 불러오기
기본적으로 최근 서버에는 Active Directory 모듈이 올라가있지만, 안 올라가 있는 경우에는 관련 모듈을 가져와야 한다. 예를 들어, ActiveDirectory 경우에는 아래와 같이 관련 모듈을 가져올 수 있다.
PS C:\> Import-Module ModuleName
PS C:\> Import-Module ActiveDirectory
2. Module에 대한 command 살펴보기
모듈에 대한 모든 커맨드를 알기는 쉽지 않다. 그럴 경우, 아래와 같이 'Get-Command' 명령어를 이용하면 모듈에 대한 다양한 커맨드를 알 수 있다.
PS C:\>Get-Command -Module ModuleName
PS C:\>Get-Command -Module ActiveDirectory
3. Command에 대한 상세 설정 알아보기
Command에 대해 상세 설정 역시 cmd(명령프롬프트)에서 /? 와 유사하게 쉽게 정보를 얻을 수 있다.
PS C:\>Get-Help Cmdlet
PS C:\>Get-Help Get-ADUser
4. 기본 문법 with 예시
문법은 워낙 다양하기 때문에 예시를 통해 그 구조를 살펴보도록 하자.
PS C:\> Get-Content C:\Users\100panda\Desktop\profilepath.txt | % { Get-ADUser $_ -Properties * | ft name,ProfilePath }
여기서 하니씩 나눠서 살펴보면,
Get-Content(gc)+filepath : file에 있는 컨텐츠를 불러옴. 약어로 GC로도 표현하기도 한다.
| : (GC로 파일을 불러온 다음) 그리고~ or 그래서~
% { } : 불러온 파일이 복수일 경우, 각각에 적용을 시키겠다는 의미.(ForEach-Object의 Alias)
$_ : 앞에서 수행한 정보 그자체.
$_. : 앞에서 수행한 정보의 속성을 불러올때 사용한다.
5. 기타 기본 문법
| Format-Table + 속성값 -Wrap : 표형식으로 칼럼값 지정 츨력
| Out-File +경로 : 파일출력
#powershell #activedirectory #파워쉘
Translate
■Notice■
Categories
- ActiveDirectory (48)
- CertificationAuthority (7)
- DHCP (7)
- DNS (2)
- ETC (2)
- EventViewer (13)
- IELTS (6)
- IIS (1)
- NPS(RADIUS) (2)
- SCCM (35)
- SQL (1)
- Windows (34)
- WSUS (17)
Popular Posts
-
금번 포스팅에서는 Active Directory의 핵심이자 정수인 그룹정책(Group Policy)와 관련된 포스팅이다. 특히 이부분은 그룹정책이 제대로 적용이 되었는지 확인하는 것은 물론, 로컬 수정이 필요할 때 반드시 알고 있어야 하는 부분이다. ...
-
nslookup 할 경우 Default Server가 Unknown로 CMD에서 보이는 경우가 있습니다. 왜 DNS 서버를 바라보지 않고 이렇게 보일지 궁금하였었는데 그 방법을 공유드립니다. 우선 DNS 서버에 접속하셔서 DNS 콘솔을 실...
-
폴더 내 파일 삭제시키는 bat 명령어 [Explanation] 서버 혹은 PC를 관리하다보면 특정 로그 파일 등으로 인해 용량이 부족해질 때가 있다. 이럴 때마다 일일이 그 폴더를 찾아가서 삭제해야 하는 번거러움을 해결할 수 있...
0 comments:
Post a Comment