전체 (306)
PowerShell 변수 사용

파워쉘에서 변수를 사용 할 수 있습니다. 변수라는 것은 특정한 값을 특정 공간에 넣어 두었다가 필요할 때 꺼내 쓴다는 개념인데 PowerShell에서 스크립트를 사용하기 위해서 반드시 알아야 할 내용입니다.

 

변수 정의는 아래와 같이 '$' 를 통해 이뤄집니다.

$a

$b

$c

 

해당 변수에 값을 넣고 싶을때는 아래와 같이 수행할 수 있겠습니다.

$a = 100

$b = "안녕하세요"

$c = 200

 

Powershell 변수 사용

 

 

변수에 저장되어 있는 값을 확인하려면 아래와 같이 할 수 있습니다. 

Powershell 변수 출력

 

 

 

변수끼리의 연산또한 가능하며, 변수에 해당 결과를 넣는것도 당연히 가능합니다.

$a * $c 

변수 연산

 

 

이것 외에도 변수에 명령어의 결과를 넣을 수도 있겠습니다.

$Proc = Get-Process 

out-host

 

$Proc 변수에 저장되어 있는 값을 확인해 보면 상기와 같이 출력되어 지는데,

첫번째 줄이 '0' 부터 시작되어 '1'씩 증가되어지면 번호가 메겨집니다.

그래서 특정한 순서(번호)에 있는 값들만 출력하는 것도 가능합니다. 

Powershell

 

$Proc[0].ProcessName 을 입력하게 되면 0번째 줄의 ProcessName만 출력되는 것을 확인 할 수 있습니다.

지금처럼 몇번째의 특정 부분만 따로 출력할 수 있기 때문에 유용하게 쓸수 있겠습니다.  

파워쉘 변수

 

 

만약 특정 순서에 있는 값 두개 이상을 출력하고자 한다면 아래와 같이 수행할 수 있습니다.

"$($Proc[0].ProcessName) $($Proc[0].CPU)" 

Powershell 변수

 

 

변수에 있는 특정 Property만 출력

$Proc.ProcessName

 

변수에 있는 특정 순서의 값에대한 모든 Property를 확인

$Porc[0] | select *

 

 

 

'PowerShell' 카테고리의 다른 글

원격 Powershell 실행  (0) 2016.03.02
PowerShell 조건문 IF  (0) 2016.02.29
PowerShell 변수 사용  (0) 2016.02.29
PowerShell 리디렉션 출력  (0) 2016.02.26
PowerShell 필터링 기능  (0) 2016.02.26
PowerShell 비교 연산자  (0) 2016.02.25
  Comments
댓글 쓰기
PowerShell 리디렉션 출력

파워쉘에서 입력한 명령줄의결과물을 화면으로 출력 또는 파일로 출력, 프린터 출력이 가능합니다. 물론 Powershell 명령줄의 기본 출력은 모니터 즉, 화면입니다.

 

Out-Host : 화면으로 출력

Out-File : 파일로 출력

Out-Printer : 프린터로 출력

Out-GridView : 창으로 출력

 

Out-Host

 

'-Paging' 옵션은 CMD에서의 'More'와 비슷한 효과를 내줍니다.  

 

 

 

 

Out-File

 

인코딩을 지정해줄 수 있습니다. 출력 결과에 한글이 포함되어 있다면 utf8로 지정해주어야 한글이 제대로 표현되어 집니다.

 

 

 

 

Out-Printer

 

하기의 예제와 같이 출력할 프린터를 지정할 수 있습니다. 만약 상기 예제와 같이 지정하지 않는다면 컴퓨터에 설정된 '기본 프린터' 로 출력되어집니다.

 

 

 

 

Out-GridView 

 

상기 명령을 입력하면 아래와 같이 창으로 표현되어집니다.

 

'PowerShell' 카테고리의 다른 글

PowerShell 조건문 IF  (0) 2016.02.29
PowerShell 변수 사용  (0) 2016.02.29
PowerShell 리디렉션 출력  (0) 2016.02.26
PowerShell 필터링 기능  (0) 2016.02.26
PowerShell 비교 연산자  (0) 2016.02.25
PowerShell 명령어 실행결과확인 또는 실행승인  (0) 2016.02.25
  Comments
댓글 쓰기
PowerShell 필터링 기능

파워쉘 명령어를 통해 결과물을 출력할때 원하는 결과만 필터링 해서 봐야할 때가 있습니다. 그럴때는 'Where-Object' 를 사용해서 필터링 할 수 있겠습니다.

'Where-Object' 또는 Alias 되어진 'Where' 또 다른 Alias인 '?' 를 사용할 수 있습니다.

또한 '-Property'는 '$PSitem.' 또는 '$_.' 으로 쓸수 있습니다.

  

 

Get-Service 를 입력하면 아래와 같이 출력되어집니다. 

powershell get-service

 

 

서비스의 상태 즉, Status 가 Running 인 서비스만 출력하고 싶다면 아래와 같이 입력할 수 있습니다.

 powershell where

 

상기 명령줄을아래와 같이 실행 할 수도 있습니다.

 gsv

 

status

 

 

get-service

 

 

그런데 상태가 실행중이면서 서비스명이 'WIN' 포함되는 것을 찾고 싶다면. 즉, 두가지 이상의 조건으로 필터링 하고 싶다면 아래와 같이 입력할 수 있습니다.  

where-object

 

$_.

 

 

만약 Status가 Running 이거나 서비스의 이름에 'WIN' 이 포함되는 것을 찾고 싶다면 or 연산을 해야 합니다.

하기의 결과를 보면 상태(Status)가 'Stopped' 이지만 or 연산에 따라 출력되었다는 것을 알 수 있습니다. 

$psitem

 

 

'PowerShell' 카테고리의 다른 글

PowerShell 변수 사용  (0) 2016.02.29
PowerShell 리디렉션 출력  (0) 2016.02.26
PowerShell 필터링 기능  (0) 2016.02.26
PowerShell 비교 연산자  (0) 2016.02.25
PowerShell 명령어 실행결과확인 또는 실행승인  (0) 2016.02.25
PowerShell 폴더와 파일 생성  (0) 2016.02.25
  Comments
댓글 쓰기
PowerShell 비교 연산자

파워쉘의 비교 연산자는 일반적으로 '==' '!=' 와 같은것을 사용하지 않습니다. Powershell의 비교연산자는 '-eq', '-ne' 와 같은것을 사용하므로 알아두어야겠습니다.

 

Equality : 같음

-eq


Inequality : 같지않음

-ne

 

Greater than : 보다 큰

-gt


Less than : 보다 작은

-lt

 

Greater than or equal to : 보다 크거나 같은

-ge

 

Less than or equal to : 보다 작거나 같은

-le

 

Wildcard equality : 텍스트의 와일드카드 비교

비슷함

-like

 

비슷하지 않음

-notlike

 

포함됨

-contains

 

포함되지않음

-notcontains

'PowerShell' 카테고리의 다른 글

PowerShell 리디렉션 출력  (0) 2016.02.26
PowerShell 필터링 기능  (0) 2016.02.26
PowerShell 비교 연산자  (0) 2016.02.25
PowerShell 명령어 실행결과확인 또는 실행승인  (0) 2016.02.25
PowerShell 폴더와 파일 생성  (0) 2016.02.25
PowerShell Alias  (0) 2016.02.24
  Comments
댓글 쓰기
PowerShell 명령어 실행결과확인 또는 실행승인

파워쉘에서 명령어를 입력하여 실행할때 지금 입력한 명령어가 실행되면 어떤 결과물이 발생될지 확인 해볼 수 있으며, 원한다면 명령어에 대한 결과물을 예측하고 사용자가 '승인' 을해야 명령이 실제로 동작하게 할 수 있겠습니다.

 

이 두개의 옵션은 '-WhatIf' 와 '–Confirm' 입니다.

 

각 사용법은 예제를 통해 알아 봅시다.

 

Whatif

PS C:\> Stop-Process -Name MicrosoftEdge -WhatIf
WhatIf: 대상 "MicrosoftEdge (3760)"에서 "Stop-Process" 작업을 수행합니다.

 

PS C:\> Stop-Service -Name Dnscache -WhatIf
WhatIf: 대상 "DNS Client (Dnscache)"에서 "Stop-Service" 작업을 수행합니다.

 

PS C:\> New-Item -Path C:\ -Name dirtest -ItemType Directory -WhatIf
WhatIf: 대상 "대상: C:\dirtest"에서 "디렉터리 만들기" 작업을 수행합니다.

 

상기 내용처럼,

프로세스 또는 서비스가 실제로 종료 되지 않고 명령어가 수행되었을때 어떤 결과가 발생될 수 있는지 확인 할 수 있습니다.

 

 

Confirm

PS C:\> Stop-Process -Name MicrosoftEdge -Confirm

확인
이 작업을 수행하시겠습니까?
대상 "MicrosoftEdge (5080)"에서 "Stop-Process" 작업을 수행합니다.
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "Y"):

 

PS C:\> New-Item -Path C:\ -Name d -ItemType Directory -Confirm

확인
이 작업을 수행하시겠습니까?
대상 "대상: C:\d"에서 "디렉터리 만들기" 작업을 수행합니다.
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "Y"):

 

PS C:\> Stop-Process -Name notepad -Confirm

확인
이 작업을 수행하시겠습니까?
대상 "notepad (6872)"에서 "Stop-Process" 작업을 수행합니다.
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "Y"):

 

상기 내용과 같이 실제 명령어 실행 결과에 대한 '예측' 과 함께 '승인' 을 해야 명령어가 실제 수행되는 형태입니다.

 

 

'Whatif' 와 'Confirm' 을 적절하게 잘 활용해서 '실수' 하는 일을 줄이도록 해야겠습니다.

'PowerShell' 카테고리의 다른 글

PowerShell 필터링 기능  (0) 2016.02.26
PowerShell 비교 연산자  (0) 2016.02.25
PowerShell 명령어 실행결과확인 또는 실행승인  (0) 2016.02.25
PowerShell 폴더와 파일 생성  (0) 2016.02.25
PowerShell Alias  (0) 2016.02.24
PowerShell 도움말 업데이트  (0) 2016.02.24
  Comments
댓글 쓰기
PowerShell 폴더와 파일 생성

파워쉘에서 폴더와 파일을 만들기 위해서는 아래의 통합된 명령을 사용할 수 있습니다.

 New-Item -Path <생성될 개체이름을 포함한 전체 경로> <ItemType <"directory | file"> [-value <"파일일 경우, 파일에 기록할 내용">]


C드라이브에 test.txt 파일 생성 예제

New-Item -Path c:\test.txt -ItemType file


C드라이브에 test1파일과 test2 파일 생성하기

New-Item -path c:\test1, c:\test2 -ItemType file


C드라이브에 test3.txt 파일 생성하며 내부에 "Test File" 기록

New-Item -Path c:\test3.txt -ItemType file -Value "Test File"


C드라이브에 test4 폴더 생성

New-Item -Path c:\test4 -ItemType directory


C드라이브에 test5, test6 폴더 생성하기

New-Item -Path c:\test5, c:\test6 -ItemType directory


C드라이브에 test8 폴더를 생성하고 test8폴더 내부에 test9, test9 폴더 내부에 test10 폴더 연속으로 생성

New-Item -Path c:\test8\9\10 -ItemType directory

'PowerShell' 카테고리의 다른 글

PowerShell 비교 연산자  (0) 2016.02.25
PowerShell 명령어 실행결과확인 또는 실행승인  (0) 2016.02.25
PowerShell 폴더와 파일 생성  (0) 2016.02.25
PowerShell Alias  (0) 2016.02.24
PowerShell 도움말 업데이트  (0) 2016.02.24
PowerShell 버전 확인  (0) 2016.02.24
  Comments
댓글 쓰기
PowerShell Alias

파워쉘에서 별칭(Alias)을 사용할 수 있습니다.

명령어가 길어서 입력하기 귀찮을때 Alias를 이용하여 축약된 명령을 내릴수있겠습니다.


PowerShell에서 정의된 Alias를 확인하는 방법은 아래와 같습니다.

Get-Alias -Definition "<전체 명령어>"


만약 Get-Process 명령을 정의된 Alias인 gps로 처리한다면 다음과 같습니다.



시스템에 정의 된 모든 Alias를 확인하고자 한다면 아래의 명령을 통해 확인 가능합니다.


'PowerShell' 카테고리의 다른 글

PowerShell 비교 연산자  (0) 2016.02.25
PowerShell 명령어 실행결과확인 또는 실행승인  (0) 2016.02.25
PowerShell 폴더와 파일 생성  (0) 2016.02.25
PowerShell Alias  (0) 2016.02.24
PowerShell 도움말 업데이트  (0) 2016.02.24
PowerShell 버전 확인  (0) 2016.02.24
  Comments
댓글 쓰기
PowerShell 도움말 업데이트

파워쉘 도움말 업데이트를 하기위해 인터넷에 연결되어 있거나  도움말 업데이트 파일을 통해 수동으로 업데이트를 하는 방법이 있습니다.

업데이트가 되지 않은 컴퓨터에서 파워쉘 도움말을 보게 되면 출력되는 도움말의 양이 적습니다.

 

 

먼저 인터넷을 통해 업데이트 하기 위해서 아래의 명령을 입력하면 되겠습니다. 

update-help

 

 

 

업데이트 파일을 컴퓨터에 저장한뒤, 인터넷이 불가능한 컴퓨터에 설치하기 원한다면 아래의 명령을 통해 도움말 파일을 저장할 수 있습니다. 

save-help

 

 

 

인터넷에 연결 할 수 없는 컴퓨터가 있다면 내부 네트워크의 위치 또는 USB와 같은 위치에서 업데이트 파일을 설치 할 수 있겠습니다.

 

파워쉘 업데이트

 

Powershell update

 

 

 

'PowerShell' 카테고리의 다른 글

PowerShell 비교 연산자  (0) 2016.02.25
PowerShell 명령어 실행결과확인 또는 실행승인  (0) 2016.02.25
PowerShell 폴더와 파일 생성  (0) 2016.02.25
PowerShell Alias  (0) 2016.02.24
PowerShell 도움말 업데이트  (0) 2016.02.24
PowerShell 버전 확인  (0) 2016.02.24
  Comments
댓글 쓰기