Search

Operator

[- Disclaimer -] 아래 내용은 정보보안 공부 목적으로 작성된 것이나, 이를 토대로 허가되지 않은 대상에 실습을 진행할 경우 해킹 시도로 간주하여 법적 처벌을 받을 수 있음을 알려 드립니다.
산술 연산자
✦ +, -, /, %, =, +=, -=, *=
비교 연산자
✦ eq, -ne, -gt, match, -like, -contents (Get-Help about_comparison_operators)
논리 연산자
✦ and, -or, -xor, !
기타 연산자
✦ split, -join
조건문
if { (...) } else { (...) }
Plain Text
복사
switch(1) { 1 {"one"} 2 {"Two"}}
Plain Text
복사
반복문
while() { (...) }
Plain Text
복사
do { (...) } while()
Plain Text
복사
do { (...) } until()
Plain Text
복사
for( ; ;) { (...) }
Plain Text
복사
foreach($com in $coms) { (...) }
Plain Text
복사
foreach-object
✦ %로 별칭 되어 있음
Get-Process | foreach-object {$_.Name -matcvh "txt"}
Plain Text
복사
1, 2, 3 | foreach-object {$_*10}
Plain Text
복사
Alias 관련 명령어 검색
PS C:\> Get-Help *alias* Name Category Module Synopsis ---- -------- ------ -------- Export-Alias Cmdlet Microsoft.PowerShell.U... ... Get-Alias Cmdlet Microsoft.PowerShell.U... ... Import-Alias Cmdlet Microsoft.PowerShell.U... ... New-Alias Cmdlet Microsoft.PowerShell.U... ... Set-Alias Cmdlet Microsoft.PowerShell.U... ... PS C:\>
Plain Text
복사
PS C:\> Get-Alias CommandType Name Version Source ----------- ---- ------- ------ Alias % -> ForEach-Object Alias ? -> Where-Object Alias ac -> Add-Content Alias asnp -> Add-PSSnapin Alias cat -> Get-Content Alias cd -> Set-Location Alias CFS -> ConvertFrom-String 3.1.0.0 Microsoft.PowerShell.Utility Alias chdir -> Set-Location Alias clc -> Clear-Content (...)
Plain Text
복사
Ex)
PS C:\> $str = "Hello World!" PS C:\> $str Hello World! PS C:\> $str.length 12 PS C:\>
Plain Text
복사
PS C:\> if($str.length -gt 10) { "too long" } else { "too short" } too long PS C:\>
Plain Text
복사
PS C:\> if($str -match "Hello") { $str } Hello World! PS C:\>
Plain Text
복사
PS C:\> $str -match "Hello" True PS C:\> $str -match "Helloa" False PS C:\>
Plain Text
복사
PS C:\> $str.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object PS C:\> $string1 = Get-Help Get-Process PS C:\> $string1 이름 Get-Process 구문 Get-Process [[-Name] <string[]>] [<CommonParameters>] Get-Process [[-Name] <string[]>] [<CommonParameters>] Get-Process [<CommonParameters>] Get-Process [<CommonParameters>] Get-Process [<CommonParameters>] Get-Process [<CommonParameters>] 별칭 gps ps 설명 Get-Help가 이 컴퓨터에서 이 cmdlet에 대한 도움말 파일을 찾을 수 없습니다. 일부 도움말만 표시합니다. -- 이 cmdlet을 포함하는 모듈에 대한 도움말 파일을 다운로드하여 설치하려면 Update-Help를 사용하십시오. -- 이 cmdlet에 대한 도움말 항목을 온라인으로 보려면 "Get-Help Get-Process -Online"을 입력하거나 https://go.microsoft.com/fwlink/?LinkID=113324(으)로 이동하십시오. PS C:\> $string1 -match "remote" False PS C:\> $string1.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True False PSCustomObject System.Object PS C:\> $string1.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True False PSCustomObject System.Object PS C:\> Get-Help Out-String 이름 Out-String 구문 Out-String [<CommonParameters>] 별칭 없음 설명 Get-Help가 이 컴퓨터에서 이 cmdlet에 대한 도움말 파일을 찾을 수 없습니다. 일부 도움말만 표시합니다. -- 이 cmdlet을 포함하는 모듈에 대한 도움말 파일을 다운로드하여 설치하려면 Update-Help를 사용하십시오. -- 이 cmdlet에 대한 도움말 항목을 온라인으로 보려면 "Get-Help Out-String -Online"을 입력하거나 https://go.microsoft.com/fwlink/?LinkID=113368(으)로 이동하십시오. PS C:\> $string2 = $string1 | Out-String -Stream PS C:\> $string2.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Object[] System.Array PS C:\> $string2 -match "remote" // 왜 결과 안 나와 PS C:\>
Plain Text
복사
Ex)
PS C:\> $a = 1,2,3,4,5 PS C:\> $a 1 2 3 4 5 PS C:\>
Plain Text
복사
PS C:\> $a * 2 1 2 3 4 5 1 2 3 4 5 PS C:\>
Plain Text
복사
PS C:\> foreach($idx in $a) { // ?? >> $idx = $idx = 2 >> } PS C:\> $a 1 2 3 4 5 PS C:\> foreach($idx in $a) { $idx * 2 } // ㅇㅇ 2 4 6 8 10 PS C:\>
Plain Text
복사
PS C:\> $a | foreach-object { $_ } 1 2 3 4 5 PS C:\> $a 1 2 3 4 5 PS C:\>
Plain Text
복사
PS C:\> $a | foreach-object { $_ * 2 } 2 4 6 8 10 PS C:\>
Plain Text
복사