■ Write-Debug 명령에서 -Message 스위치를 사용하는 방법을 보여준다. ▶ test.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
[CmdletBinding()] Param ( [Parameter(Position = 0, Mandatory = $True)] [string]$ComputerName, [int]$EventID = 4634 ) Write-Debug -Message "`$ComputerName : $ComputerName" Write-Verbose -Message "로그명을 입력받습니다." $LogName = Read-Host "로그명을 입력해 주시기 바랍니다." Write-Debug -Message "`$LogName : $LogName" Write-Verbose -Message "'$ComputerName'에서 '$LogName' 로그 추출을 시작합니다." Get-EventLog -ComputerName $ComputerName -LogName $LogName | Where-Object -Property EventID -eq $EventID | Select-Object -First 10 |
▶ 실행 명령
|
.\test.ps1 -ComputerName kingdom -Debug |
■ Start-Sleep 명령에서 -Seconds 스위치를 사용해 지정 기간 동안 실행을 중단하는 방법을 보여준다. ▶ 실행 명령
■ Start-Process 명령에서 -FilePath/-PassThru 스위치를 사용해 메모장을 실행하는 방법을 보여준다. ▶ 실행 명령
|
$Process = Start-Process -FilePath notepad -PassThru |
■ New-Object 명령을 사용해 닷넷 제네릭 클래스의 객체를 생성하는 방법을 보여준다. ▶ 실행 명령
|
$List = New-Object System.Collections.Generic.List[string] |
■ 윈도우즈 메모장 3개를 실행시키고 1초 후 모두 종료시키는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
$PIDList = New-Object System.Collections.Generic.List[string] for($I = 0; $I -lt 3; $I++) { $Process = Start-Process -FilePath notepad -PassThru $PIDList.Add($Process.Id) } Start-Sleep -Seconds 1 for($I = 0; $I -lt 3; $I++) { Stop-Process -Id $PIDList[$I] -ErrorAction SilentlyContinue } $PIDList.Clear() |
■ 100MB 이상의 메모리를 사용하는 프로세스 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
$ProcessList = Get-Process foreach($Process in $ProcessList) { if(($Process.PM / 1MB) -le 100) { continue } Write-Output ($Process.Name + " 프로세스는 100MB 이상의 메모리를 사용합니다.") } |
■ do-while문을 사용하는 방법을 보여준다. ▶ 실행 명령
|
$I = 0 do { $I++ Start-Process -FilePath notepad } while($I -lt 2) |
■ do-until문을 사용하는 방법을 보여준다. ▶ 실행 명령
|
$I = 0 do { $I++ Start-Process -FilePath notepad } until($I -gt 2) |
■ Get-Date 명령을 사용해 현재 날짜/시간을 구하는 방법을 보여준다. ▶ 실행 명령
■ Start-Process 명령에서 -FilePath 스위치를 사용해 메모장을 실행하는 방법을 보여준다. ▶ 실행 명령
|
Start-Process -FilePath notepad |
■ while문을 사용하는 방법을 보여준다. ▶ 실행 명령
■ for문을 사용하는 방법을 보여준다. ▶ 실행 명령
|
$FruitArray = @("사과", "오렌지", "수박", "배", "포도", "딸기", "바나나") $I = 0 while($I -lt $FruitArray.Length) { $FruitArray[$I] $I++ } |
■ foreach문을 사용하는 방법을 보여준다. ▶ 실행 명령
|
foreach($Service in Get-Service) { Write-Host $Service.Name } |
■ for문을 사용하는 방법을 보여준다. ▶ 실행 명령
|
for($I = 0; $I -lt 10; $I++) { $I } |
■ Get-Content 명령에서 -Encoding 스위치를 사용해 파일을 읽는 방법을 보여준다. ▶ 실행 명령
|
Get-Content 'd:\test.txt' -Encoding UTF8 |
■ foreach문을 사용하는 방법을 보여준다. ▶ 실행 명령
|
$Content = Get-Content 'd:\test.txt' -Encoding UTF8 foreach($Line in $Content) { Write-Host $Line } |
■ Get-Help 명령을 사용해 switch문 도움말을 조회하는 방법을 보여준다. ▶ 실행 명령
|
Get-Help about_switch -ShowWindow |
■ switch문에서 -Wildcard 스위치를 사용하는 방법을 보여준다. ▶ 실행 명령
|
$ComputerName = Get-Content Env:\COMPUTERNAME switch -Wildcard ($ComputerName) { "C*" { Write-Host "C로 시작합니다 : $ComputerName" } "K*" { Write-Host "K로 시작합니다 : $ComputerName" } Default { Write-Host "일치하는 것이 없습니다." } } |
■ Get-Content 명령을 사용해 컴퓨터명을 구하는 방법을 보여준다. ▶ 실행 명령
|
Get-Content Env:\COMPUTERNAME |
■ switch문을 사용해 윈도우즈 서비스 상태 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
switch(Get-Service) { {$PSItem.Status -eq "Running"}{ "RUNNING SERVIEC : " + $PSItem.Name } {$PSItem.Status -eq "Stopped"}{ "STOPPED SERVICE : " + $PSItem.Name } } |
■ switch문을 사용해 C 드라이브 타입을 구하는 방법을 보여준다. ▶ 실행 명령
|
$Drive = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DeviceID='C:'" switch($Drive.DriveType) { 3 { Write '로컬 고정 디스크' } 5 { Write '광학 디스크 장치' } default { Write '기타 장치' } } |
■ Get-CimInstance 명령에서 -ClassName/-Filter 스위치를 사용해 C 드라이브 정보를 구하는 방법을 보여준다. ▶ 실행 명령
|
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DeviceID='C:'" |
■ Stop-Service 명령에서 -Name 스위치를 사용해 IIS Admin Service를 중단하는 방법을 보여준다. ▶ 실행 명령
|
Stop-Service -Name IISADMIN |
■ Start-Service 명령에서 -Name 스위치를 사용해 IIS Admin Service를 실행하는 방법을 보여준다. ▶ 실행 명령
|
Start-Service -Name IISADMIN |
■ Enable-WindowsOptionalFeature 명령에서 -Online/-FeatureName/-All 스위치를 사용해 Hyper-V 서비스를 설치/실행하는 방법을 보여준다. ▶ 실행 명령
|
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All |