Powershell: ์›ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๋Š” Test-Connection cmdlet์ž…๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 04์›” 28์ผ  ยท  64์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PowerShell/PowerShell

์žฌํ˜„ ๋‹จ๊ณ„

The Test-Connection cmdlet is displaying unwanted data as part of the result.

Code:

Test-Connection www.microsoft.com -Count 1 -Quiet

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

It should display just the word: True

์‹ค์ œ ํ–‰๋™

Pinging www.microsoft.com [23.204.153.19] with 32 bytes of data:
Reply from 23.204.153.19: bytes=32 time=17ms TTL=58
Ping complete.
True

ํ™˜๊ฒฝ ๋ฐ์ดํ„ฐ

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.1.0-preview.2
PSEdition                      Core
GitCommitId                    v6.1.0-preview.2
OS                             Microsoft Windows 10.0.16299
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Area-Cmdlets-Management Committee-Reviewed Issue-Bug Resolution-Fixed

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@GeeLaw :

์ž˜ ์ฐพ์•˜์ง€๋งŒ์ด ๊ฒฝ์šฐ ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ์€ -InformationAction Ignore ์ž…๋‹ˆ๋‹ค.

$InformationActionPreference ์—ฌ์ „ํžˆ ๊ธฐ๋ณธ๊ฐ’์ด SilentlyContinue ์ด๋ฉฐ ๋ณ€๊ฒฝํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๋ฒ„๊ทธ๋Š” WriteInformation() ์—์„œ PSHOST ํƒœ๊ทธ๋ฅผ ์‹ค์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ๋งํฌ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ $InformationActionPreference ๊ฐ’๊ณผ -InformationAction SilentlyContinue (ํ•˜์ง€๋งŒ ๋ช…์‹œ๋œ๋Œ€๋กœ , -InformationAction Ignore _is_ ์ถœ๋ ฅ ์–ต์ œ์— ํšจ๊ณผ์ ).

WriteInformation() ํ˜ธ์ถœ์ดํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ƒ Write-Host ๊ฐ€ ์ถœ๋ ฅ์„ (์„ค๊ณ„ ์ƒ) _ ๋ฌด์กฐ๊ฑด _ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ดํ•˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค.

@iSazonov : ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์ด์žˆ๋Š” ๋‹ค๋ฅธ cmdlet์˜ ๋™์ž‘์„ ์‹ค์ œ๋กœ ์‚ดํŽด -Quiet ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€ํ™” ํ˜•์œผ๋กœ ํ˜ธ์ถœ ํ•  ๋•Œ๋„ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์„ ๊ธฐ๋Œ€ํ•˜์ง€ _ ์•Š์Šต๋‹ˆ๋‹ค

๋ชจ๋“  64 ๋Œ“๊ธ€

5.1์—์„œ๋Š” ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ 6์—์„œ๋Š” ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฌธ์ œ๋ฅผ ๋ฒ„๊ทธ๋กœ ๋‹ค์‹œ ๋ถ„๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ์ด์œ ๋Š” ํ˜„์žฌ ์ฝ”๋“œ๊ฐ€ WriteInformation (๋งน๋ชฉ์ ์œผ๋กœ?)๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

TestConnectionCommand.cs์˜ 751 ํ–‰, 775 ํ–‰ ๋ฐ 783 ํ–‰์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ •๋ณด๊ฐ€ ํ˜ธ์ŠคํŠธ์— ํ‘œ์‹œ๋˜์ง€ ์•Š๋„๋กํ•˜๋Š” ์ž„์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ InformationAction ๊ณตํ†ต ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ:

Test-Connection www.microsoft.com -Count 1 -Quiet -InformationAction Continue

์Šคํฌ๋ฆฝํŠธ์˜ ๊ด€์ ์—์„œ ํ…์ŠคํŠธ ์ •๋ณด๊ฐ€ ํŒŒ์ดํ”„ ๋ผ์ธ์— ๊ธฐ๋ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค,์ด๋Š” ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ๊ฒƒ์ด๋ฉฐ, ์•„๋‹ˆ, ํ…์ŠคํŠธ ์ถœ๋ ฅ์€ ํŒŒ์ดํ”„ ๋ผ์ธ์— ๋ณด๋‚ธ ๊ฒƒ๋“ค๋กœ ์ •์˜ ๋œ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋˜ํ•œ Quiet ์Šค์œ„์น˜๋Š” ๋” ๊ฐ„๋‹จํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ •์˜๋ฉ๋‹ˆ๋‹ค (๋ ˆ์ฝ”๋“œ ๊ฐœ์ฒด ๋Œ€์‹  int ๋˜๋Š” bool ). ๋‚˜๋Š” Quiet InformationRecord ๋ฅผ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Œ์„ ์ธ์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ์ด์œ ๋ฅผ ์•Œ๋ฉด InformationAction ์™€ Quiet ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

PowerShell 5.1์—์„œ Test-Connection ๋Š” WriteInformation ๋ฅผ ์ „ํ˜€ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ PowerShell 5.1 ๋ฐ PowerShell Core 6.0.2์—์„œ $InformationPreference ์˜ ๊ธฐ๋ณธ๊ฐ’์€ SilentlyContinue ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ์˜ ์ €์ž๋Š” ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ๋•Œ ๋‹ค๋ฅธ ์œ ํšจ ๊ฐ€์น˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์•„๋งˆ๋„ PS 6.1 Core๊ฐ€ $InformationPreference ์˜ ๊ธฐ๋ณธ๊ฐ’์„ ๋ณ€๊ฒฝ ํ–ˆ์Šต๋‹ˆ๊นŒ? ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.)

PS 6.1 Core์˜ $InformationPreference ๊ธฐ๋ณธ๊ฐ’์ด SilentlyContinue ์ธ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…์‹œ ์ ์œผ๋กœ ์š”์ฒญํ•˜์ง€ ์•Š๋Š” ํ•œ ํ…์ŠคํŠธ ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ํ”ผ๋“œ๋ฐฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
๋ฌธ์ œ๋Š” ์Šคํฌ๋ฆฝํŠธ ๋ชจ๋“œ์™€ ๋Œ€ํ™” ํ˜• ๋ชจ๋“œ์—์„œ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ™” ํ˜• ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉ์ž๋Š” ping.exe ๋ช…๋ น์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ง„ํ–‰๋ฅ  (๋ง‰๋Œ€)์„ ๋ณด๋Š” ๊ฒƒ์„ ์„ ํ˜ธ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ๋งค๊ฐœ ๋ณ€์ˆ˜์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

@ mklement0 ์‹œ๊ฐ„์ด ์žˆ์œผ๋ฉด ๋„์›€์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@GeeLaw :

์ž˜ ์ฐพ์•˜์ง€๋งŒ์ด ๊ฒฝ์šฐ ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ์€ -InformationAction Ignore ์ž…๋‹ˆ๋‹ค.

$InformationActionPreference ์—ฌ์ „ํžˆ ๊ธฐ๋ณธ๊ฐ’์ด SilentlyContinue ์ด๋ฉฐ ๋ณ€๊ฒฝํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๋ฒ„๊ทธ๋Š” WriteInformation() ์—์„œ PSHOST ํƒœ๊ทธ๋ฅผ ์‹ค์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ๋งํฌ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ $InformationActionPreference ๊ฐ’๊ณผ -InformationAction SilentlyContinue (ํ•˜์ง€๋งŒ ๋ช…์‹œ๋œ๋Œ€๋กœ , -InformationAction Ignore _is_ ์ถœ๋ ฅ ์–ต์ œ์— ํšจ๊ณผ์ ).

WriteInformation() ํ˜ธ์ถœ์ดํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ƒ Write-Host ๊ฐ€ ์ถœ๋ ฅ์„ (์„ค๊ณ„ ์ƒ) _ ๋ฌด์กฐ๊ฑด _ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ดํ•˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค.

@iSazonov : ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์ด์žˆ๋Š” ๋‹ค๋ฅธ cmdlet์˜ ๋™์ž‘์„ ์‹ค์ œ๋กœ ์‚ดํŽด -Quiet ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€ํ™” ํ˜•์œผ๋กœ ํ˜ธ์ถœ ํ•  ๋•Œ๋„ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์„ ๊ธฐ๋Œ€ํ•˜์ง€ _ ์•Š์Šต๋‹ˆ๋‹ค

@ mklement0 PSHostTag ์— ๋Œ€ํ•œ ๋‹ต์žฅ๊ณผ ์ˆ˜์ •์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. InformationPreference ( InformationAction )์ด (๊ฐ€) Ignore ์ˆ˜๋ฝํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ 5.1๊ณผ 6.0.2์—์„œ ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ 6.1์—์„œ๋Š” ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (์‚ฌ InformationActionPreference ๋ฅผ์œ„ํ•œ ์ƒˆ๋กœ์šด ๋ณ„๋ช… InformationPreference ?)

๋˜ํ•œ ๋‚ด ์ฒซ ๋ฒˆ์งธ ์˜๊ฒฌ์€ InformationAction ์„ Continue ์„ค์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์ŠคํŠธ๋ฆผ 6 (์ •๋ณด ์ŠคํŠธ๋ฆผ)์„ $null ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜์—ฌ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰,

Test-Connection www.microsoft.com -Count 1 -Quiet 6> $null

๋‹ค์Œ์„ ํ†ตํ•ด ์ •ํ™•์„ฑ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

Write-Host 'Hello, world' 6> $null

ํ˜ธ์ŠคํŠธ์— ์•„๋ฌด๊ฒƒ๋„ ์“ฐ์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

@GeeLaw :

InformationPreference (InformationAction)๊ฐ€ Ignore๋ฅผ ์ˆ˜๋ฝํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์˜ˆ, _preference ๋ณ€์ˆ˜ _๋Š” Ignore ํ—ˆ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ _common parameter_๋Š” ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์ฃผ์–ด์ง„ ํ˜ธ์ถœ์— ๋Œ€ํ•ด ์ •๋ณด ์ŠคํŠธ๋ฆผ (๋ฒˆํ˜ธ 6 ) _์„ ์–ต์ œ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ _ ์ „์ฒด ๋ฒ”์œ„์— ๋Œ€ํ•ด์„œ๋Š” _ ๋ฒ”์ฃผ ์ ์œผ๋กœ _ ์„ค๊ณ„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค์Œ ๋‘ ๋ฌธ์€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

Test-Connection www.microsoft.com -Count 1 -Quiet 6> $null
Test-Connection www.microsoft.com -Count 1 -Quiet -InformationAction Ignore

์ฆ‰, 6> $null ๋ฐ -InformationAction Ignore ๋ชจ๋‘ ํšจ๊ณผ์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๊ฐ€ InformationActionPreference ์— ๋Œ€ํ•œ ์ƒˆ ๋ณ„๋ช… InformationPreference ?

์•„๋‹ˆ์š”, ์ด๋ฆ„์€ $VerbosePreference , $WarningPreference ๋ฐ $DebugPreference ํŒจํ„ด์— ๋”ฐ๋ผ ํ•ญ์ƒ $InformationPreference $DebugPreference ์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์•Œ ์ˆ˜์žˆ๋Š” ๋ฐ”๋Š” -ErrorAction / $ErrorActionPreference ์Œ ๋ฟ์ด๋ฉฐ ํ™˜๊ฒฝ ์„ค์ • ๋ณ€์ˆ˜ ์ด๋ฆ„์€ Action ๋ถ€๋ถ„์„ โ€‹โ€‹์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.


ํ–‰๋™ _preference variables_์˜ ๊ฐ’์œผ๋กœ Ignore ์˜ ๊ธˆ์ง€์™€ ๊ด€๋ จํ•˜์—ฌ ์ถ”๊ฐ€๋กœ :

  • ์ด ์ œํ•œ์—๋Š” ๊ทผ๋ณธ์ ์ธ ์„ค๊ณ„ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋™์œผ๋กœ ์ •์˜ ๋œ ๋กœ์ปฌ ๊ธฐ๋ณธ ์„ค์ • ๋ณ€์ˆ˜๊ฐ€ ๊ณ ๊ธ‰ ํ•จ์ˆ˜ ๋‚ด์—์„œ ๊ณตํ†ต ๋งค๊ฐœ ๋ณ€์ˆ˜ ๊ฐ’์„ ์ „ํŒŒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. # 1759 ์ฐธ์กฐ

  • ์ œํ•œ์€ _ ํ• ๋‹น ์‹œ๊ฐ„ _์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋‹ค์Œ์— ํ™˜๊ฒฝ ์„ค์ •์ด (์•”์‹œ ์ ์œผ๋กœ) ์ ์šฉ๋  ๋•Œ๊นŒ์ง€ ๋ฌธ์ œ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. # 4348 ์ฐธ์กฐ

    • ๋ณด๋‹ค ์ผ๋ฐ˜์ ์œผ๋กœ ์ „์—ญ ๋ฒ”์œ„๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฒ”์œ„์—์„œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ์ „ํ˜€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. $ErrorActionPreference = 'bogus' ์™€ & { $ErrorActionPreference = 'bogus' } -์ฐธ์กฐ

      3483.

@ mklement0 InformationActionPreference ๋กœ ์–ธ๊ธ‰ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„์นญ์— ๋Œ€ํ•ด ์งˆ๋ฌธํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์•„๋Š” ํ•œ -XxxAction (๋ฐ -Verbose ๋ฐ -Debug )๋Š” ๋‹จ์ˆœํžˆ ํ˜ธ์ถœ ๋œ cmdlet ๋‚ด์—์„œ ํ•ด๋‹น ๊ธฐ๋ณธ ์„ค์ • ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. about_ ๋„์›€๋ง ํ•ญ๋ชฉ์— ์„ค๋ช… ๋œ๋Œ€๋กœ ๊ตฌ์ฒด์ ์œผ๋กœ ๋‹ค์Œ ํ•ญ๋ชฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

The value of the -InformationAction parameter, if used, overrides the current value of the $InformationPreference variable.

Within the command or script in which it is used, the InformationAction common parameter overrides the value of the $InformationPreference preference variable, which by default is set to SilentlyContinue.

๋‹ค์Œ ๋ฐ๋ชจ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋“ฏ์ด ์ด๊ฒƒ์„ ๋กœ์ปฌ ๊ธฐ๋ณธ ์„ค์ • ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.

function test-func { [cmdletbinding()]param() process { $InformationPreference } }
test-func # gives SilentlyContinue
test-func -InformationAction Continue # gives Continue
test-func -InformationAction Ignore # gives Ignore

5.1 ๋ฐ 6.0.2์—์„œ InformationAction ๋Š” ๋‹ค์Œ ์Šค ๋‹ˆํŽซ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋“ฏ์ด Ignore ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค .

function test-func { [cmdletbinding()]param() process { write-information 'writing' } }
test-func -InformationAction Ignore

์ƒ์‚ฐํ•˜๋‹ค

Write-Information : The value Ignore is not supported for an ActionPreference variable. The provided value should be used only as a value for a preference
parameter, and has been replaced by the default value. For more information, see the Help topic, "about_Preference_Variables."
At line:1 char:57
+ ...  { [cmdletbinding()]param() process { Write-Information 'writing' } }
+                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Information], NotSupportedException
    + FullyQualifiedErrorId : System.NotSupportedException,Microsoft.PowerShell.Commands.WriteInformationCommand

6.1์—์„œ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.


๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. $VerbosePreference ๋ฐ $DebugPreference ์‹ค์ œ๋กœ ํ•ด๋‹นํ•˜๋Š” ๊ณตํ†ต ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ์„ค์ •ํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋„“์€ ๋ฒ”์œ„๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ช…์‹œ ์  ํ• ๋‹น์œผ๋กœ $VerbosePreference ๋ฅผ Inquire ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ -Verbose ์Šค์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์Šค์œ„์น˜์ด๊ณ  $True ๋งคํ•‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. $False ~ Continue / SilentlyContinue .

๋‚ด๊ฐ€ ์•„๋Š” ํ•œ์ด ๋‘ ์Šค์œ„์น˜๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ธฐ๋ณธ ์„ค์ • ๊ด€๋ จ ๊ณตํ†ต ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ๋กœ์ปฌ ๋ฒ”์œ„์˜ ํ•ด๋‹น ๊ธฐ๋ณธ ์„ค์ • ๋ณ€์ˆ˜์— ์ •ํ™•ํžˆ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ž‘์—…์€ ๋‹ค์Œ ์ฝ”๋“œ๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

Write-Information 'writing' -InformationAction Ignore

์šฐ๋ฆฌ๊ฐ€ ๋ณดํ˜ธํ•ด์•ผํ•˜์ง€๋งŒ ์ฆ‰, ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์„ฑ๊ฐ€์‹  ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค Write-Information ๋กœ ํ™•์ธ $InformationAction -eq 'Ignore' , ๊ทธ๋ฆฌ๊ณ  ํ”ผํ•  ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒ˜์Œ์— ์ „ํ™”,

Function Test-Inf1
{
    [CmdletBinding()] Param ( )
    Process { Write-Information 'Hello, world!' }
}
Function Test-Inf2
{
    [CmdletBinding()] Param ( )
    Process { If ($InformationPreference -ne 'Ignore') { Write-Information 'Hello, world!' } }
}
Test-Inf1 -InformationAction Ignore # writes an error
Test-Inf2 -InformationAction Ignore # okay

C #์œผ๋กœ cmdlet์„ ์ž‘์„ฑํ•˜๋Š” ์ž‘์„ฑ์ž์—๊ฒŒ๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ—‰

๋‚˜๋Š” ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ InformationActionPreference๋กœ ์–ธ๊ธ‰ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„์นญ์— ๋Œ€ํ•ด ๋ฌป๊ณ  ์žˆ์—ˆ๋‹ค.

์ด๋Ÿฐ! ๋ฏธ์•ˆํ•ฉ๋‹ˆ๋‹ค-๋‚ด ์˜คํƒ€๋ฅผ ์•Œ์•„ ์ฐจ๋ฆฌ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ˜ธ์ถœ ๋œ cmdlet ๋‚ด์— ํ•ด๋‹น ๊ธฐ๋ณธ ์„ค์ • ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๊ธฐ ๋งŒํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.

์˜ˆ, ๋‹น์‹ ์ด ๋ณด์—ฌ์ฃผ๋Š” ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ์•ž์„œ ์–ธ๊ธ‰ ํ•œ # 1759์˜ ์ฃผ์ œ์ž…๋‹ˆ๋‹ค.

์š”์ปจ๋Œ€ : ๋””์ž์ธ ๊ฒฐํ•จ์€ Ignore ๋ฅผ ๊ธฐ๋ณธ ์„ค์ • ๋ณ€์ˆ˜ ๊ฐ’์œผ๋กœ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๊ณตํ†ต ๋งค๊ฐœ ๋ณ€์ˆ˜ ๊ฐ’์„ ์ „ํŒŒํ•˜๊ธฐ ์œ„ํ•ด ์ž๋™์œผ๋กœ ์„ค์ •๋œ ๋กœ์ปฌ ๊ธฐ๋ณธ ์„ค์ • ๋ณ€์ˆ˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ์ถฉ๋Œํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋” ๊ตฌ์ฒด์ ์œผ๋กœ:

5.1 ๋ฐ 6.0.2์—์„œ InformationAction์€ ๋‹ค์Œ ์Šค ๋‹ˆํŽซ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๋ฌด์‹œ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ ํ•ด๊ฒฐ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ค‘์š”ํ•˜๋ฏ€๋กœ -InformationAction _does_ accept Ignore ์ง€์ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ๋””์ž์ธ ๊ฒฐํ•จ์€ _if ๋ฐ ํ™˜๊ฒฝ ์„ค์ •์ด ์ ์šฉ๋  ๋•Œ _ ์ปจํ…์ŠคํŠธ์—์„œ ๊ท€ํ•˜์˜ ๊ฒฝ์šฐ Write-Information call _inside_ the function _advanced functions_์˜.
์ด ๋ฌธ์ œ๋Š” PowerShell Core v6.1.0-preview.2๋ถ€ํ„ฐ ์ง€์†๋ฉ๋‹ˆ๋‹ค.

๋Œ€์กฐ์ ์œผ๋กœ _Compiled cmdlets_์—๋Š”์ด ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Write-Host foo -InformationAction Ignore ๊ฐ€ ์˜๋„ ํ•œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝํ•˜๋ฉด, ์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์„œ ๋‘ ๊ฐ€์ง€ ๊ด€๋ จ๋˜์ง€ ์•Š์€ ๋ฌธ์ œ๋ฅผ ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์•ก์…˜ ์„ ํ˜ธ ๋ณ€์ˆ˜ ๊ฐ’์œผ๋กœ Ignore ๋Œ€ํ•œ ๋””์ž์ธ ๊ฒฐํ•จ์€ ์ด๋ฏธ # 1759์—์„œ ์ถ”์ ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด ๋ฌธ์ œ์˜ ์›๋ž˜ ์ฃผ์ œ์˜ ์˜ค์ž‘๋™ Test-Connection ์ž˜๋ชป ์‚ฌ์šฉ cmdlet์„, PSHOST ์—์˜ ํ˜ธ์ถœ์— ํƒœ๊ทธ๋ฅผ .WriteInformation .

ํ›„์ž์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์€ ๋‹ค์Œ ์˜ˆ์ œ์—์„œ ๋ณด์—ฌ ์ฃผ๋“ฏ์ด ํƒœ๊ทธ๋ฅผ ๊ฐ„๋‹จํžˆ _omit_ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

# With $InformationAction at its default, 'SilentlyContinue', this invocation is silent.
# If you set it to 'Continue', 'foo' prints.
& { [CmdletBinding()]param() $PSCmdlet.WriteInformation('foo', [string[]] @()) } 

๊ทธ๋ž˜์„œ ๋‚˜๋Š” -Quiet์ด ์กด์ค‘๋˜์ง€ ์•Š๋Š” ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒฝํ—˜ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ฝ”๋“œ๋ฅผ ์‚ดํŽด ๋ณด์•˜๊ณ  ๋”ฐ๋ผ ๊ฐ€๊ธฐ๊ฐ€ ์กฐ๊ธˆ ์–ด๋ ต๊ณ  ๊ทธ๊ฒƒ์ดํ•˜๋Š” ์ผ์— ๋Œ€ํ•ด ๋งค์šฐ ๋ณต์žกํ–ˆ์ง€๋งŒ ์‹ค์ œ๋กœ ์ถœ๋ ฅ์„ ์–ต์ œํ•˜๋Š” ๋ฌธ์ œ๋กœ ์ด๊ฒƒ์„ ์ฐพ๊ณ ์žˆ๋Š” ๊ณณ์„ ๋ณด์ง€ ๋ชปํ–ˆ๊ณ  ์–ด๋””์—์„œ ์ „ํ™˜ํ•˜๋Š”์ง€ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. -Quiet ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์ „๋‹ฌ ๋  ๋•Œ ์ถœ๋ ฅ๋˜์–ด์•ผํ•˜๋Š” ๋ถ€์šธ๋กœ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ž‘๋…„์— ์ฝ”๋“œ์— Test-Connection์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด PR (# 2537)์„ ์ œ์ถœํ–ˆ๋Š”๋ฐ, "@ PowerShell / powershell-committee๊ฐ€ ํ–ฅํ›„ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ์ด PR์„ ์ˆ˜๋ฝํ•˜์ง€ ์•Š์„ ๊ฒƒ"์ด๋ฏ€๋กœ ๋‹น์‹œ ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ง€๊ธˆ์€์ด cmdlet์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ ์›๋ž˜ PR์˜ ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ์˜ˆ์ƒ๋˜๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฅผ๋ณด๊ณ  ๋†€๋ž์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ ‘ํ•œ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ "if (Test-Connection 8.8.8.8 -Quiet)"์™€ ๊ฐ™์€ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋กœ์ง์œผ๋กœ ๋ถ„๊ธฐํ•˜์ง€๋งŒ -Quiet ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์กด์ค‘๋˜์ง€ ์•Š์œผ๋ฉด ๋ถ„๊ธฐ๊ฐ€ ํ•ญ์ƒ True๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. False ๋˜๋Š” Null์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ์ด ๋ช…๋ น์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋‚˜์—๊ฒŒ ์™„์ „ํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“ค๊ณ  PowerShell์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค์— ํฌํ•จ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๋งค์šฐ ๊ฐ„ํŽธํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์ฒ˜์Œ๋ณด๊ณ  ๋œ ํ›„ ๋ช‡ ๋‹ฌ์ด ์ง€๋‚œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฏ€๋กœ์ด ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•˜์„ธ์š”. ๊ธฐ๋Šฅ์ด ๋ฐ˜ํ™˜๋˜๋Š” ํ•œ ๊ทธ ์ค‘ ํ•˜๋‚˜ ๋˜๋Š” ์›๋ž˜ PR์„ ๋ณต์›ํ•˜๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž‘๋…„์— ์ฝ”๋“œ์— Test-Connection์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด PR์„ ์ œ์ถœํ–ˆ๋Š”๋ฐ ๋ ˆ๊ฑฐ์‹œ cmdlet์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ์›ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹น์‹œ ๊ฑฐ๋ถ€๋˜์—ˆ์œผ๋ฏ€๋กœ ์ง€๊ธˆ์€์ด cmdlet์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ ์ฝ”๋“œ์—๋Š” ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ฒƒ์„๋ณด๊ณ  ๋†€๋ž์Šต๋‹ˆ๋‹ค. ์™„์ „ํ•˜๊ณ  "๋ ˆ๊ฑฐ์‹œ"๋ฒ„์ „๊ณผ ๋˜‘๊ฐ™์€ ๊ธฐ๋Šฅ์„ํ•˜๋Š” ์›๋ž˜ PR์˜.

5.1๊ณผ 6.x์— Test-Connection์ด ์žˆ์œผ๋ฉด ๋™์ผํ•œ ์ถœ๋ ฅ์„ ๊ฐ€์งˆ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ตฌํ˜„์ด ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์‚ฌ์šฉ์ž๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค. 6.1์˜ ํ˜„์žฌ Test-Connection์€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•˜์—ฌ 5.1์—์„œ์™€ ๋‹ค๋ฅธ ์ถœ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ -Quiet ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ์‚ฌ์‹ค์ƒ ์“ธ๋ชจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ (PSVersion = 6.2.0) ํ˜„์žฌ (PSVersion = 6.2.0) cmdlet์€ QUIET์ด ์žˆ์–ด๋„ ๊ณ„์†ํ•ด์„œ "ping"์ •๋ณด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค ( "-InformationAction Ignore"๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํŠธ๋ฆญ์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ๋ชจ๋“ˆ / ์Šคํฌ๋ฆฝํŠธ๊ฐ€ Test-Connection cmdlet์„ ์—…๋ฐ์ดํŠธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

7.0์—์„œ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ •๋ง ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ธฐ์—ฌํ•˜๊ฒŒ๋˜์–ด ๊ธฐ์˜์ง€๋งŒ,์ด๋ฅผ ๊ฐœ์„ ํ•˜๋ ค๋Š” ์ดˆ๊ธฐ ์‹œ๋„์— ๋Œ€ํ•œ ๋™์˜๊ฐ€ ๊ฑฐ์˜ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋ผ์•ผ ํ•  ๊ตฌํ˜„ ์‚ฌ์–‘์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

cc @ SteveL-MSFT @iSazonov

๋‚˜๋Š” ๋•Œ๋•Œ๋กœ ์ด๊ฒƒ์œผ๋กœ ๋Œ์•„์˜จ๋‹ค. ์ด์ œ -Intercative ์Šค์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€ํ™” ํ˜• ๋ฐ ๋น„๋Œ€ํ™” ํ˜• ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋ช…์‹œ ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์นœํ™”์  ์ธ ํ’๋ถ€ํ•œ ์ฝ˜์†” ์ถœ๋ ฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€์ด ๋งค๊ฐœ ๋ณ€์ˆ˜ ( "-i"๋กœ)๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ๋ถˆํŽธํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์Šค์œ„์น˜๊ฐ€ ์—†์œผ๋ฉด ์Šคํฌ๋ฆฝํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ํ•ฉํ•œ ์ž์„ธํ•œ ์ฝ˜์†” ์ถœ๋ ฅ์—†์ด ๊ฐ•๋ ฅํ•œ ํ˜•์‹์˜ ์ถœ๋ ฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ cmdlet์—์„œ ์ด๋Ÿฌํ•œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•  ๋•Œ ์ด๋Ÿฌํ•œ ์ด์ค‘์„ฑ์„ ๊ฐ–๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. cmdlet์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ผ๊ด€๋˜๊ฒŒ ์ž‘๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™” ํ˜• ๋™์ž‘์€ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋ถ„๋ฆฌ๋˜์–ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Get-ChildItem์„ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. ๋Œ€ํ™”์‹์œผ๋กœ๋Š” ๊ธฐ๋ณธ ํฌ๋งทํ„ฐ ๋””์Šคํ”Œ๋ ˆ์ด ๋•๋ถ„์— ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž๋™ํ™” ๋ชฉ์ ์œผ๋กœ๋„ ์œ ์šฉํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€ํ™”์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋™์ผํ•œ ๋ช…๋ น์ด ์Šคํฌ๋ฆฝํŠธ์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ๋ถˆํ•„์š”ํ•œ ๋ณต์žก์„ฑ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋Œ€ํ™” ํ˜• ์ถœ๋ ฅ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  Quiet ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ํ–ฅ์ƒ์‹œ์ผœ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ถœ๋ ฅ์„ ์–ต์ œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ ... ๋‚˜๋Š” ์Šคํฌ๋ฆฝํŠธ์™€ ๋Œ€ํ™”์‹์œผ๋กœ ๋‹ค๋ฅธ ์ถœ๋ ฅ์„ ๊ฐ€์งˆ ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

cmdlet์ด ๋‹จ์ˆœํžˆ ๋‹ค๋ฅธ cmdlet์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๊ณ  ์™„์ „ํžˆ ๊ณ ์œ ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์บก์ฒ˜ํ•˜๊ฑฐ๋‚˜ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ธฐ ์–ด๋ ค์šด ํ…์ŠคํŠธ ์ŠคํŠธ๋ฆผ (Bash๊ฐ€ ์•„๋‹Œ _PowerShell_)์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค. .

-Quiet๋Š” Windows PowerShell์˜ ์›๋ž˜ cmdlet์—์„œ ๊ฐœ์ฒด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ์ˆœ์ˆ˜ํ•œ True / False ์‘๋‹ต์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์Šค์œ„์น˜์ž…๋‹ˆ๋‹ค. ๊ทธ ๊ด€์Šต์„ ๊นจ๋Š” ๊ฒƒ์€ ์ œ ์ƒ๊ฐ์— ๋‚˜์œ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

์ด cmdlet์€ ๊ธฐ์กด cmdlet๊ณผ ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๋™์ž‘์„ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฐ˜๋ณต์—์„œ๋Š” ๋‹ค๋ฅธ PowerShell cmdlet์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋งค์šฐ ๋‹ค๋ฅธ Unix ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ž‘๋™ ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋” ๋งŽ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ ... ๋‚˜๋Š” ์Šคํฌ๋ฆฝํŠธ์™€ ๋Œ€ํ™”์‹์œผ๋กœ ๋‹ค๋ฅธ ์ถœ๋ ฅ์„ ๊ฐ€์งˆ ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” ๋ชจ๋“  ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์›ํ•˜๋Š” ์ถœ๋ ฅ์„ ๋ฐ๋ชจ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? cmdlet์ด ์ถœ๋ ฅํ•˜๋Š” ๋ฉ”ํƒ€ ์ •๋ณด๋Š” ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ ์ŠคํŠธ๋ฆผ์„ ์บก์ฒ˜ํ•˜๊ฑฐ๋‚˜ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ธฐ ์–ด๋ ค์šด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅ

cmdlet์€ ๊ฐ•๋ ฅํ•œ ํ˜•์‹์˜ ๊ฐœ์ฒด ์ถœ๋ ฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. (๋ฌธ์ œ๋Š” "๋ฉ”ํƒ€"์ •๋ณด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ๋™์‹œ์— ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.)

-Quiet๋Š” Windows PowerShell์˜ ์›๋ž˜ cmdlet์—์„œ ๊ฐœ์ฒด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ์ˆœ์ˆ˜ํ•œ True / False ์‘๋‹ต์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์Šค์œ„์น˜์ž…๋‹ˆ๋‹ค. ๊ทธ ๊ด€์Šต์„ ๊นจ๋Š” ๊ฒƒ์€ ์ œ ์ƒ๊ฐ์— ๋‚˜์œ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

ํ•ด๋‹น Windows PowerShell cmdlet์€ ์—ฐ๊ฒฐ ๊ฐœ๋…์ด์—†๋Š” ping ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ฒ˜์Œ์—๋Š” ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€์žˆ๋Š” ๋””์ž์ธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅธ ์ด๋ฆ„์€ Test-Ping ot Test-ICMP ์ž…๋‹ˆ๋‹ค.
ํ˜„์žฌ cmdlet์€ ip "์—ฐ๊ฒฐ"์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. "Test-Connectivity"์™€ ๊ฐ™์€ ๊ฒƒ์„ ์„ ํ˜ธํ•˜์ง€๋งŒ.

ํ˜„์žฌ ๋ฐ˜๋ณต์—์„œ๋Š” ๋‹ค๋ฅธ PowerShell cmdlet์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋งค์šฐ ๋‹ค๋ฅธ Unix ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ž‘๋™ ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋” ๋งŽ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์•„๋‹ˆ์š”, cmdlet์€ ๊ฐ•๋ ฅํ•œ ํ˜•์‹์˜ ๊ฐœ์ฒด ์ถœ๋ ฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฝ˜์†” ์ถœ๋ ฅ์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ์ฒ˜๋Ÿผ ๋ณด์ด๋„๋ก ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ์‹ค์ œ๋กœ ๋” ํ’๋ถ€ํ•˜๊ณ  ์œ ์šฉํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๋Š” ํฌ๋งทํŒ… ์„œ๋ธŒ ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ์ด ์ถœ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์—†์œผ๋ฉฐ ์ฝ˜์†”์— ์ง์ ‘ ์ถœ๋ ฅํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. (์ด๊ฒƒ์€ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์˜ ์ถœ๋ ฅ ๊ฐ์ฒด์™€ ํ˜ผ๋™๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

๋ฐ์ดํ„ฐ ๊ฐœ์ฒด๋ฅผ๋ณด๋‹ค ๊ฐ•๋ ฅํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์กฐํ™”ํ•˜๋ฉด ํ˜•์‹ํ™” ์‹œ์Šคํ…œ์œผ๋กœ ์ถœ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ํ”„๋กœํ†  ํƒ€์ž…์œผ๋กœ PR์„ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ฐœ์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๋Œ€๋กœ ๋ฐ˜์˜ํ•˜์ง€ ์•Š๋Š” ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๋Š” cmdlet (์˜ˆ : ๊ฐœ์ฒด ํด๋ž˜์Šค๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š” ๋Œ€์‹  ํ•˜์œ„ ์†์„ฑ์˜ ๋ฐ์ดํ„ฐ ํ‘œ์‹œ)์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ์œผ๋ฉฐ ๊ฐ€๋Šฅํ•œ ํ•œ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ๋” ์กฐ์‚ฌํ•˜๊ณ  ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๋” ์™„์ „ํ•œ ์˜ˆ๋ฅผ ๋ชจ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Windows PowerShell์˜ Test-Connection์€ ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€์žˆ๋Š” ๋””์ž์ธ ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋งค์šฐ ๋ถˆ์™„์ „ํ•œ ๊ฒฝ์šฐ๋ผ๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ€๋Š” ๋‹จ๊ณ„๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@iSazonov ์ฒ˜์Œ ์ฝ์€ ํ›„ ๋™์˜ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ ํ›„ ๊ท€ํ•˜์˜ ๊ด€์ ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

$a=Test-Connection www.microsoft.com 
$b=Test-Connection www.microsoft.com -Quiet

$ a ๋ฐ $ b ๊ฐ’์€ ๋‚ด๊ฐ€ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฐ’์ด์ง€๋งŒ ์ถ”๊ฐ€ ์ถœ๋ ฅ์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Select-String ์—๋Š” ๋˜ํ•œ Quiet ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉฐ "๋Œ€ํ™” ํ˜•"๋™์ž‘๊ณผ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ด ๋ช…๋ น์—๋Š” ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค (์กฐ์šฉ ์—ฌ๋ถ€).

๋‚˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งค๊ฐœ ๋ณ€์ˆ˜ 'Interactive'๋ฅผ ์„ ํ˜ธํ•˜์ง€๋งŒ, ์•„๋งˆ๋„ ์Šค์œ„์น˜ ๋งค๊ฐœ ๋ณ€์ˆ˜ "NoInteractive"๋Š” ๋Œ€ํ™”์‹ ์‚ฌ์šฉ์— ์šฐ์„  ์ˆœ์œ„๋ฅผ๋‘๊ธฐ ์œ„ํ•ด ๋” ๋‚˜์€ ์กฐ์ •์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ข‹์•„, ์—ฌ๊ธฐ์— ์ข€ ๋” ์œ ์šฉํ•œ ๊ตฌํ˜„์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ํฌ์ธํŠธ

  1. ๋ชจ๋“  ํ˜„์žฌ ํ˜ธ์ŠคํŠธ / ์ •๋ณด ์ถœ๋ ฅ์€ -Verbose ์ŠคํŠธ๋ฆผ์œผ๋กœ ๊ฐ•๋“ฑ๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ์ „ํ˜€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ์™„๋ฒฝํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.
  2. -ShowProgress ์Šค์œ„์น˜๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์ด ์—†์Šต๋‹ˆ๋‹ค.
  3. -Ping ์Šค์œ„์น˜๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค (๊ธฐ๋ณธ ๋™์ž‘).

1 ์ฐจ ์ถœ๋ ฅ

Test-Connection www.google.com

  • ์ถœ๋ ฅ ๊ฐœ์ฒด์˜ Replies ์†์„ฑ ์ •๋ณด๋Š” ๊ธฐ๋ณธ ์ถœ๋ ฅ ๊ฐœ์ฒด์— ํฌํ•จ๋˜์–ด์•ผํ•˜๋ฉฐ ๊ธฐ๋ณธ ์ถœ๋ ฅ ๋ชจ๋“œ๋Š” ๊ฐ๊ฐ ๋‹จ์ผ ํ•‘ ์‹œ๋„ / ์‘๋‹ต ๊ฐœ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” _multiple_ ๊ฐœ์ฒด ์—ฌ์•ผํ•ฉ๋‹ˆ๋‹ค.
  • _data_ ๋ฒ„ํผ๋Š” ์ง€์ •ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ด€๋ จ์ด ์—†์œผ๋ฉฐ BufferSize ์†์„ฑ ๋งŒ ๋…ธ์ถœ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. Replies.Buffer ์†์„ฑ์€ private ์œ ์ง€๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • Replies.Options ์†์„ฑ์€ ๊ธฐ๋ณธ ์„œ์‹์—์„œ ์ˆจ๊ฒจ์ ธ ์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ณผ๋Š” ๋Œ€์ƒ ์ฃผ์†Œ๋ณ„๋กœ ๊ทธ๋ฃนํ™” ๋œ ํ…Œ์ด๋ธ”๋กœ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค (์—ฌ๋Ÿฌ ๋Œ€์ƒ์ด ์ง€์ •๋œ ๊ฒฝ์šฐ).

์‹œ๊ฐ์  ๋ชจํ˜• ์ถœ๋ ฅ

์‚ฌ์šฉ ๋œ ๋ช…๋ น :

$Result = Test-Connection www.google.com
$Data = foreach ($Reply in $Result.Replies) {
    [PSCustomObject]@{
        Source = $Result.Source
        Destination = $Result.Destination
        Address = $Reply.Address
        RoundtripTime = $Reply.RoundtripTime
        BufferSize = $Reply.Buffer.Length
        Options = $Reply.Options
    }
}
$Data | Format-Table -GroupBy Destination -Property Source, Address, RoundtripTime, BufferSize

๊ฒฐ๊ณผ ์ถœ๋ ฅ :

   Destination: www.google.com
Source  Address       RoundtripTime BufferSize
------  -------       ------------- ----------
WS-JOEL 172.217.2.132            36         32
WS-JOEL 172.217.2.132            21         32
WS-JOEL 172.217.2.132            25         32
WS-JOEL 172.217.2.132            25         32

Test-Connection www.google.com -TraceRoute

  • ๊ฐ ํ™‰์€ ๋ณ„๋„์˜ ๊ฐœ์ฒด๋กœ ์ถœ๋ ฅ๋˜์–ด์•ผํ•˜๋ฉฐ, ๊ฐ๊ฐ์€ ํ˜•์‹ํ™”์—์„œ ์ˆจ๊น€์œผ๋กœ ์•ก์„ธ์Šค ํ•  ์ˆ˜์žˆ๋Š” ์†์„ฑ์œผ๋กœ PingReply ๊ฐœ์ฒด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ TraceRouteResult ๊ฐœ์ฒด๋Š” 4 ๊ฐœ์˜ PingReplies์—์„œ ์š”์•ฝ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ETS ๋˜๋Š” ํด๋ž˜์Šค ์†์„ฑ์„ ํฌํ•จํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ์ฐธ๊ณ  : ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ์ด ๊ฐœ์ฒด ์œ ํ˜•์€ ๋ฒ„๊ทธ ๊ฐ€ ์žˆ์œผ๋ฉฐ ๋ชจ๋“  PingReply ๊ฐœ์ฒด๋Š” TtlExpired ์ƒํƒœ๋ฅผ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. .NET Core 3์— ๋Œ€ํ•œ ์ˆ˜์ • ์ง„ํ–‰ ์ƒํ™ฉ์„ ์กฐ์‚ฌํ•˜๊ฑฐ๋‚˜ TraceRoute ์ง€์›์„์œ„ํ•œ ์‚ฌ์šฉ์ž ์ง€์ • ์†”๋ฃจ์…˜์„ ์„ค๊ณ„ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • DestinationHost ๋ณ„๋กœ ๊ทธ๋ฃนํ™” ๋œ ํ…Œ์ด๋ธ”๋กœ ์ถœ๋ ฅ (์ด ์†์„ฑ ์ด๋ฆ„์ด ํ‘œ์ค€ ping์— ์‚ฌ์šฉ๋˜๋Š” ๋‹ค๋ฅธ ๊ฐœ์ฒด ์œ ํ˜•์˜ ์ด๋ฆ„๊ณผ ๋‹ค๋ฅธ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?)

์‹œ๊ฐ์  ๋ชจํ˜• ์ถœ๋ ฅ

์‚ฌ์šฉ ๋œ ๋ช…๋ น :

$Result = Test-Connection www.google.com -TraceRoute
$Data = foreach ($Reply in $a.Replies) {
    [PSCustomObject]@{
        Hop = $Reply.Hop
        Source = $a.Source
        Destination = $a.DestinationHost
        DestinationAddress = $a.DestinationAddress
        Replies = $Reply.PingReplies
        RoundtripTimes = $Reply.PingReplies.RoundtripTime
        HopAddress = $Reply.PingReplies[0].Address
        BufferSize = $Reply.PingReplies.ForEach{$_.Buffer.Length}
        Options = $Reply.PingReplies[0].Options
    }
}

$Data | Format-Table -GroupBy Destination -Property Hop, RoundtripTimes, DestinationAddress, HopAddress, BufferSize

๊ฒฐ๊ณผ ์ถœ๋ ฅ :

   Destination: www.google.com
Hop RoundtripTimes DestinationAddress HopAddress     BufferSize
--- -------------- ------------------ ----------     ----------
  1 {0, 0, 0}      172.217.2.132      192.168.22.254
  2 {0, 0, 0}      172.217.2.132      75.144.219.238
  3 {0, 0, 0}      172.217.2.132      96.120.37.17
  4 {0, 0, 0}      172.217.2.132      96.110.136.65
  5 {0, 0, 0}      172.217.2.132      69.139.180.170
  6 {0, 0, 0}      172.217.2.132      68.85.127.121
  7 {0, 0, 0}      172.217.2.132      68.86.165.161
  8 {0, 0, 0}      172.217.2.132      68.86.90.205
  9 {0, 0, 0}      172.217.2.132      68.86.82.154
 10 {0, 0, 0}      172.217.2.132      66.208.233.242
 11 {0, 0, 0}      172.217.2.132      0.0.0.0
 12 {0, 0, 0}      172.217.2.132      216.239.59.124
 13 {0, 0, 0}      172.217.2.132      216.239.59.61
 14 {32, 28, 20}   172.217.2.132      172.217.2.132

์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•œ ํ‘œ๋ฉด ๊ตฌ์กฐ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์‰ฝ๊ฒŒ ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ์†์„ฑ์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ์ถœ๋ ฅ ๊ฐœ์ฒด์˜ ์†์„ฑ์— 1 ~ 2 ์ˆ˜์ค€ ๊นŠ์ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌป ์œผ๋ฉด ํ˜ผ๋ž€, ๋ฒ„๊ทธ๋ณด๊ณ , ์ขŒ์ ˆ๊ฐ ๋ฐ ์ „๋ฐ˜์ ์ธ ์‚ฌ์šฉ ํŽธ์˜์„ฑ์ด ํฌ๊ฒŒ ์ €ํ•˜ ๋ ๋ฟ์ž…๋‹ˆ๋‹ค.

์˜ค, @ vexx32 ๋„ค๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ์ง„๋‹จ ํ•œ ์ ์ด Test-Connection www.google.com -TraceRoute ๋ช…๋ น์„ ์‹คํ–‰ ํ•œ ํ›„ ์˜ค๋žซ๋™์•ˆ ๋นˆ โ€‹โ€‹ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ์‘๋‹ต์— ๋Œ€ํ•œ ์ถœ๋ ฅ (๋ฌธ์ž์—ด ๋˜๋Š” ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„)์„ ํ‘œ์‹œํ•˜๋„๋ก ๊ตฌํ˜„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ์˜ ๋ชจ๋“  ํ˜ธ์ŠคํŠธ / ์ •๋ณด ์ถœ๋ ฅ์€ -Verbose ์ŠคํŠธ๋ฆผ์œผ๋กœ ๊ฐ•๋“ฑ๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ์ „ํ˜€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ์™„๋ฒฝํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

์œ„์˜ ์ œ์•ˆ์€ ๋Œ€ํ™” ํ˜• ๋ฐ ์Šคํฌ๋ฆฝํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋ถ„ํ• ํ•˜๊ธฐ ์œ„ํ•ด Interactive ์Šค์œ„์น˜๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Verbose ์Šค์œ„์น˜๋กœ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ›จ์”ฌ ๋” ๋ถ€ ์ž์—ฐ์Šค๋Ÿฌ์šด ์—ฐ์Šต์ž…๋‹ˆ๋‹ค.

-ShowProgress ์Šค์œ„์น˜๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์ด ์—†์Šต๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด ์ถœ๋ ฅ ๋ฐ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์€ ๋‘ ๊ฐ€์ง€ ๋Œ€์•ˆ์œผ๋กœ ํ˜„์žฌ ๊ตฌํ˜„ ์ค‘์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์€ Windows PowerShell cmdlet์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‚ด ์„ ํ˜ธ๋Š” ๋Œ€ํ™”์‹ ์„ธ์…˜์˜ ๋ฌธ์ž์—ด ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค. ํ›จ์”ฌ ๋” ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์Šค์œ„์น˜๋กœ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์„ ์–ต์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ์œ„ํ•œ $ ProgressPreference๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ cmdlet์€ ํƒ€์ด๋จธ์— ์˜ํ•œ ๊ธด ์ž‘์—…์— ๋Œ€ํ•ด์„œ๋งŒ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

-Ping ์Šค์œ„์น˜๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค (๊ธฐ๋ณธ ๋™์ž‘).

๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ช…์‹œ ์  ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋” ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ping ๋งŒ ๊ตฌํ˜„ ๋œ Windows PowerShell cmdlet์—์„œ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด cmdlet์€ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉฐ ๋ชจ๋“  ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ๋ช…์‹œ ์  ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์ œ์•ˆ์€ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ ์ €์— ์˜ํ•ด ๊ตฌํ˜„๋˜์—ˆ์œผ๋ฉฐ ๋Œ€ํ™” ํ˜• ์„ธ์…˜์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ ํ•ฉํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Test-Connection www.google.com -TraceRoute ๋ช…๋ น์„ ์‹คํ–‰ ํ•œ ํ›„ ์˜ค๋žซ๋™์•ˆ ๋นˆ โ€‹โ€‹ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ์‘๋‹ต์— ๋Œ€ํ•œ ์ถœ๋ ฅ (๋ฌธ์ž์—ด ๋˜๋Š” ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ ์ค„)์„ ํ‘œ์‹œํ•˜๋„๋ก ๊ตฌํ˜„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ๊ฐœ์ฒด๊ฐ€ ์ถœ๋ ฅ์— ์ œ์ถœ ๋  ๋•Œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋งค์šฐ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ถ„ํ•  ๊ฐœ์ฒด ํ˜•์‹์—์„œ๋Š” ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•„์š”ํ•œ ์œ ์ผํ•œ ์ด์œ ๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  PowerShell cmdlet์ด ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒ€์ƒ‰ ๋  ๋•Œ ํŒŒ์ดํ”„ ๋ผ์ธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. PingReply ๋งˆ๋‹ค ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ -TraceRoute ๋Œ€ํ•œ ์ถ”์  ํ™‰์„ ์ถœ๋ ฅํ•˜๋ฉด ์ถœ๋ ฅ ๋””์Šคํ”Œ๋ ˆ์ด์— ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ๊ฐ€ _have_๋ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์ œ์•ˆ์€ ๋Œ€ํ™” ํ˜• ๋ฐ ์Šคํฌ๋ฆฝํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋ถ„ํ• ํ•˜๋Š” ๋Œ€ํ™” ํ˜• ์Šค์œ„์น˜๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ›จ์”ฌ ๋” ๋ถ€ ์ž์—ฐ์Šค๋Ÿฌ์šด ์—ฐ์Šต ์ธ Verbose ์Šค์œ„์น˜๋กœ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

-Verbose ๋Š” ์ผ๋ฐ˜์ ์ธ ๋งค๊ฐœ ๋ณ€์ˆ˜์ด๋ฏ€๋กœ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์Šค์œ„์น˜๋ณด๋‹ค ํ›จ์”ฌ ์ž์—ฐ์Šค๋Ÿฌ์šด cmdlet ์„ ํƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฐ”ํ€ด๋ฅผ ์žฌ๋ฐœ ๋ช… ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ช…์‹œ ์  ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋” ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ping ๋งŒ ๊ตฌํ˜„ ๋œ Windows PowerShell cmdlet์—์„œ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด cmdlet์€ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉฐ ๋ชจ๋“  ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ๋ช…์‹œ ์  ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์—ฌ๊ธฐ๋„ ๊ฑฐ๊ธฐ์— ์žˆ์ง€ ์•Š์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ cmdlet์˜ ๊ธฐ๋ณธ ๋™์ž‘์—๋Š” ์Šค์œ„์น˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด -Quiet ์˜ ๋ฐ˜๋Œ€ ์ธ -Loud ์Šค์œ„์น˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ ๊ฐœ์ฒด๊ฐ€ ์ถœ๋ ฅ์— ์ œ์ถœ ๋  ๋•Œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋งค์šฐ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ถ„ํ•  ๊ฐœ์ฒด ํ˜•์‹์—์„œ๋Š” ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์œ„์˜ ์ œ์•ˆ์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” "meta"๊ฐ์ฒด์—์„œ "ping"๊ฐ์ฒด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  "ping"๊ฐ์ฒด๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ดํ”„ ๋ผ์ธ์—์„œ "meta"๊ฐ์ฒด ๋งŒ ์ถœ๋ ฅ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ํ•ญ์ƒ ๋นˆ ํ™”๋ฉด์„ ๋ณด๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

-Verbose๋Š” ์ผ๋ฐ˜์ ์ธ ๋งค๊ฐœ ๋ณ€์ˆ˜์ด๋ฏ€๋กœ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์Šค์œ„์น˜๋ณด๋‹ค ํ›จ์”ฌ ์ž์—ฐ์Šค๋Ÿฌ์šด cmdlet ์„ ํƒ์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ์ •๋ณด ์ŠคํŠธ๋ฆผ์— ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” cmdlet์„ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. cmdlet ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ญ์ƒ์ด ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์ง„๋‹จ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ cmdlet์˜ ๊ธฐ๋ณธ ๋™์ž‘์—๋Š” ์Šค์œ„์น˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋‹จ์ผ ๋งค๊ฐœ ๋ณ€์ˆ˜ ์„ธํŠธ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋งŽ์€ ๋งค๊ฐœ ๋ณ€์ˆ˜ ์„ธํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ ๊ฐ๊ฐ์„ ๋ช…์‹œ ์ ์œผ๋กœ ์ง€์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์ œ์•ˆ์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” "meta"๊ฐ์ฒด์—์„œ "ping"๊ฐ์ฒด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  "ping"๊ฐ์ฒด๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ดํ”„ ๋ผ์ธ์—์„œ "meta"๊ฐ์ฒด ๋งŒ ์ถœ๋ ฅ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ํ•ญ์ƒ ๋นˆ ํ™”๋ฉด์„ ๋ณด๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

๋ฉ”ํƒ€ ๊ฐœ์ฒด๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์ œ์•ˆ์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด _each_ PingReply ๋˜๋Š” ์ถ”์  ํ™‰์— ๋Œ€ํ•œ ๊ฐœ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ๋ชจ์˜ ์—…, ์•„์ด๋””์–ด๋ฅผ ์„ค๋ช…ํ•˜๋Š” ํ˜•์‹์„ ๋ณต์ œํ•˜๋Š” ๋‹จ์ง€ ์‰ฝ๊ฒŒ ์ตœ์ข… ์ฝ”๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ•ญ๋ชฉ์€ ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ์ œ์•ˆ์„ ์ฝ์œผ์‹ญ์‹œ์˜ค.

์ž์„ธํ•œ ์ •๋ณด ์ŠคํŠธ๋ฆผ์— ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” cmdlet์„ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. cmdlet ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ญ์ƒ์ด ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์ง„๋‹จ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ •๊ธฐ์ ์œผ๋กœ ์ •๋ณด / ํ˜ธ์ŠคํŠธ์— "์ค‘์š”ํ•œ"์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๋‹ค๋ฅธ ๊ฐœ์ฒด์— ์—ฌ๋Ÿฌ ์ˆ˜์ค€ ๊นŠ์ด ๋ฌปํ˜€์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š” _any_ cmdlet์„ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ผ ๋งค๊ฐœ ๋ณ€์ˆ˜ ์„ธํŠธ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋งŽ์€ ๋งค๊ฐœ ๋ณ€์ˆ˜ ์„ธํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ ๊ฐ๊ฐ์„ ๋ช…์‹œ ์ ์œผ๋กœ ์ง€์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒํ•˜๋Š” ๊ฒƒ์ด๋ณ„๋กœ ์œ ์šฉํ•˜์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ์— ์ƒ๋‹นํ•œ ํ”ผํ•ด๋ฅผ ์ž…ํžˆ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹จ์ˆœํžˆ ์‹œ๊ฐ„ ๋‚ญ๋น„๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ธฐ๋ณธ ๋™์ž‘์— ๋Œ€ํ•œ ์Šค์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐ ๋งŽ์€ ์‚ฌ์šฉ์„ ๋ณด๊ฒŒ ๋  ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฉ”ํƒ€ ๊ฐœ์ฒด๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

_ ์ค‘์š”ํ•˜๊ฒŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค ._
์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ cmdlet์„ ์“ธ๋ชจ ์—†๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ์— ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น cmdlet์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง„๋‹จ์„ ์‹คํ–‰ ํ•ด๋ณด์‹ญ์‹œ์˜ค. ๋„ˆ๋Š” ์ด๊ฒƒ์„ ๋ชปํ•ด. ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ๋˜์ง€๊ณ  ping ๋ฐ traceroute ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ ์ฝ˜์†”๊ณผ ์˜ˆ๋ฅผ ๋“ค์–ด ์Šคํฌ๋ฆฝํŠธ๊ฐ€์žˆ๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์—์„œ ์ƒˆ cmdlet์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ์ง„๋‹จ์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •๊ธฐ์  ์ธ ๋„คํŠธ์›Œํฌ ์ง„๋‹จ์„ํ•˜์ง€ ์•Š์œผ๋ฉด ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ ์œ ํ‹ธ๋ฆฌํ‹ฐ, ํŠนํžˆ Unix ๋ฒ„์ „์—์„œ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋“ค ๋ชจ๋‘๋Š” ์ง„๋‹จ์— ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ง„๋‹จ์˜ ๊ธฐ์ˆ ์€ ๊ทธ๋“ค์˜ ์กฐํ•ฉ๊ณผ ๋งˆ๋ฒ•์˜ ์˜๋ฏธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ƒˆ cmdlet์— ์ถ”๊ฐ€ํ•˜๋ ค๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ƒฅ ์‹œ๊ฐ„ ๋‚ญ๋น„๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค

์œ„์น˜ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋„์›€์ด๋ฉ๋‹ˆ๋‹ค. :-)

PowerShell Committee์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์š”์•ฝ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ cmdlet์€ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ง€์›๋˜๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ด์‹ ๊ฐ€๋Šฅํ•œ cmdlet์„ ์–ป์œผ๋ ค๋ฉด ์‹ค์ œ๋กœ .Net Core์— ์—ฌ์ „ํžˆ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด Unix ๊ณ„ํš ์–‘์‹์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.
  • ping, traceroute, pathping, Portqry.exe ๋“ฑ๊ณผ ๊ฐ™์€ ์ธ๊ธฐ์žˆ๋Š” ๋„๊ตฌ์˜ ๊ธฐ๋Šฅ์„ ์–ป์œผ๋ ค๋ฉด
  • ๋‹จ์ˆœํ•˜๊ณ  ์‹ฌ์ธต์  ์ธ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ์„ฑ ๋ถ„์„์— ์ ํ•ฉํ•œ __scripts__์—์„œ ์œ ์šฉํ•œ ์ถœ๋ ฅ ๊ฐ์ฒด๋ฅผ ์–ป์œผ๋ ค๋ฉด
  • _header_ ๋ฐ _footer_๋กœ ์œ ์šฉํ•œ ์ฝ˜์†” ์ถœ๋ ฅ์„ ์–ป์œผ๋ ค๋ฉด. cmdlet์€ ์ผ๋ถ€ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๊ธฐ๋ณธ prototope ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ณด๋‹ค ํ›จ์”ฌ ๋” ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ์›๊ฒฉ ํ…Œ์ŠคํŠธ "Test-Connection -Source ... -Destination ..."๊ณผ ๊ฐ™์€ ํ–ฅํ›„ ๊ฐœ์„  ์‚ฌํ•ญ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๋ฌธ์ œ๋Š” ๋Œ€ํ™” ํ˜• ์ฝ˜์†” ์ถœ๋ ฅ (๋Œ€ํ™” ํ˜• ์‹œ๋‚˜๋ฆฌ์˜ค)๊ณผ ํŒŒ์ดํ”„ ๋ผ์ธ์˜ ๊ฐœ์ฒด ์ถœ๋ ฅ (์Šคํฌ๋ฆฝํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค)์„ ๊ฒฐํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋‚ด ํ˜„์žฌ ์ œ์•ˆ์€ ๋งค๊ฐœ ๋ณ€์ˆ˜ (-Interactive) ๋˜๋Š” ์ƒˆ cmdlet (๋Œ€ํ™” ํ˜• ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๊ฒฝ์šฐ Show-Connectivity ๋ฐ ์Šคํฌ๋ฆฝํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๊ฒฝ์šฐ Test-Connectivity)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋˜ํ•œ cmdlet์˜ ์ด๋ฆ„์„ ๋” ์ •ํ™•ํ•œ Test -__ Connectivity__๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋ฆ„ ์ถฉ๋Œ์—†์ด ํ”„๋ก์‹œ (WCM)๋ฅผ ํ†ตํ•ด ์ด์ „ Windows cmdlet์„ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@iSazonov ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ˆจ๊ธฐ๋Š” ๋ฉ”ํƒ€ ๊ฐœ์ฒด๊ฐ€ ์žˆ์–ด์•ผํ•˜๋Š” ์ง„๋‹จ์˜ ์˜ˆ๋ฅผ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚ด ์ œ์•ˆ์€ ๋ฉ”ํƒ€ ๊ฐœ์ฒด์˜ ์ •๋ณด๋ฅผ ๊ฐ PingReply ๊ฐœ์ฒด๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด cmdlet์˜ ์œ ์šฉ์„ฑ์ด ์–ด๋–ป๊ฒŒ ๊ฐ์†Œํ•˜๋Š”์ง€๋Š” ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ƒ์„ฑ ์งํ›„ ๊ฐœ์ฒด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ”๋‹ฅ ๊ธ€์˜ ํ†ต๊ณ„๋ฅผ ์ฒซ ๋ฒˆ์งธ "ping"๊ฐœ์ฒด์— ์–ด๋–ป๊ฒŒ ๋„ฃ์Šต๋‹ˆ๊นŒ?

๋ฐ”๋‹ฅ ๊ธ€ ์ •๋ณด๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํ•‘์˜ ์œ ์ผํ•œ ๋ฐ”๋‹ฅ ๊ธ€ ์ •๋ณด๋Š” Ping complete.

ํ˜„์žฌ ๋ฉ”ํƒ€ ๊ฐœ์ฒด์—๋Š” ์–ด๋””์—์„œ๋‚˜ ๋ณผ ์ˆ˜์žˆ๋Š” ํ†ต๊ณ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ •๋ณด ์ŠคํŠธ๋ฆผ์—์„œ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋กœ ๋ Œ๋”๋ง๋˜๋Š” ๋™์ผํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  ๊ฐœ์ฒด๋ฅผ ๋œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ˜•์‹์œผ๋กœ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์š”์ ์€ cmdlet (์ด ๊ฒฝ์šฐ Test-Connection)์„ ๋‘ ๋ฒ„์ „ (WinPS ๋ฐ Pwsh)์—์„œ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.์ด ๊ฒฝ์šฐ cmdlet์— ์Šค์œ„์น˜๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ์ด ๊ฒฝ์šฐ ์ถœ๋ ฅ์ด ์ž˜๋ชป ๋  ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด cmdlet์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ / ๋ชจ๋“ˆ์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•˜๊ธฐ ์ „์— ์†”๋ฃจ์…˜์€ ๋‘ ๋ฒ„์ „์—์„œ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

@ NJ-Dude Windows cmdlet์€ WMI๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋ฉฐ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์œผ๋กœ ํฌํŒ… ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ 5.1์ด ๋™๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ์ถ”๊ฐ€ ํ•  ์‚ฌํ•ญ์ด ์—†์Šต๋‹ˆ๋‹ค.

@ NJ-Dude Windows cmdlet์€ WMI๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋ฉฐ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์œผ๋กœ ํฌํŒ… ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ 5.1์ด ๋™๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ์ถ”๊ฐ€ ํ•  ์‚ฌํ•ญ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ €๋Š” SYNTAX์™€ ๊ธฐ๋Šฅ์ด ๋™์ผํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๊ณ  ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, QUIET๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ถœ๋ ฅ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ์ค‘์ธ PS์˜ ์ข…๋ฅ˜์— ๊ด€๊ณ„์—†์ด ์ถœ๋ ฅ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹จ์ง€ SYNTAX์™€ ๊ธฐ๋Šฅ์ด ๋™์ผํ•ด์•ผํ•œ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. Windows ํ˜ธํ™˜์„ฑ ๋ชจ๋“ˆ์€ ์ด์ „ ๊ธฐ๋Šฅ์„ ์–ป๋Š” ๋‹จ์ผ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

cmdlet์˜ ์ถœ๋ ฅ์€ ๊ธฐ๋ณธ ์ถœ๋ ฅ๊ณผ ๋ถ„๋ฆฌ ๋œ ์ฝ˜์†”์— ๋Œ€ํ•œ ์›์น˜ ์•Š๋Š” ํ‘œ์‹œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์–ต์ œํ•˜์ง€ ์•Š๊ณ ๋„ ์ €์žฅ ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š” _ ๋‹ค๋ฅธ cmdlet์€ ์—†์Šต๋‹ˆ๋‹ค _. ๊ฐ€์žฅ ์œ ์šฉํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ •๋ณด ์ŠคํŠธ๋ฆผ์˜ ๋ฌธ์ž์—ด ํ˜•์‹์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ํ–‰๋™ ํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ period ์— ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๋Š” ํ•„์š”์— ๋”ฐ๋ผ ์ƒ์„ธ ๋˜๋Š” ๋””๋ฒ„๊ทธ ์ŠคํŠธ๋ฆผ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ •๋ณด ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ PowerShell ์ž์ฒด์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” cmdlet์˜ ๊ฒฝ์šฐ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์ „๋ก€์—†๋Š” ์ผ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ๋ฐ”๋‹ฅ ๊ธ€์— ๊ตฌ์ฒด์ ์œผ๋กœ ํฌํ•จ๋˜์–ด์•ผํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๋˜๋Š” ๊ฐ ์‘๋‹ต์ด ์ฒ˜๋ฆฌ ๋  ๋•Œ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์›ํšŒ ํ† ๋ก ์„ ์œ„ํ•ด ๋Œ€๊ธฐ

Soooo ๋‚˜๋Š” ์žก์ดˆ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์—ฌ๊ธฐ์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ์•ฝ๊ฐ„ ์žƒ์–ด ๋ฒ„๋ ธ์ง€ ๋งŒ ๊ตฌํ˜„์— ๊ด€๊ณ„์—†์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ทจํ•˜๋Š” ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋Š” ๋ผ์ธ ๋‹จ์œ„๋กœ ์ถœ๋ ฅ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. Test-Connection s์™€ ping.exe et al ๋ชจ๋‘ ํ˜„์žฌ์˜ ๊ฒฝ์šฐ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋Š” ๊ตฌ์กฐํ™” ๋œ ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ˜•์‹์€์ด ์‚ฌ์‹ค์„ ๋ฌด์‹œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. (์ด๊ฒƒ์ด ๋”์ฐํ•˜์ง€๋งŒ, ๋‚ด๋ถ€์ ์œผ๋กœ PSObject๋ผ๋Š” ์‚ฌ์‹ค์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ฝ˜์†”์— JSON ๋ฌธ์ž์—ด์„ ๋‚ด๋ณด๋‚ด๋Š” ํฌ๋งทํ„ฐ๋ฅผ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ œ ์š”์ ์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.) ํฌ๋งทํŒ…๋„ ์šฐ๋ฆฌ๊ฐ€ํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊นจ์ง€ ์•Š๊ณ  ์›ํ•˜๋Š”๋Œ€๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋˜ํ•œ ์†์„ฑ ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์—ด ๋จธ๋ฆฌ๊ธ€์— ๋Œ€ํ•ด์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค๋Š” @ vexx32์˜ ์˜๊ฒฌ๋„ ๊ฐ•๋ ฅํžˆ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋„ ์žˆ์ง€๋งŒ ์ด๋Š” ์ €๋ฅผ ๋ฏธ์น˜๊ฒŒํ•ฉ๋‹ˆ๋‹ค.)
  • -Quiet ๋Š” Windows PowerShell๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ True / False๋ฅผ ๋ถ€์šธ๋กœ ์ œ์™ธํ•˜๊ณ  ์•„๋ฌด๊ฒƒ๋„ ๋‚ด ๋ณด๋‚ด์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ ์ผ€์ด์Šค (์ตœ์†Œ ๋ถ€์šธ -Quiet ์ผ€์ด์Šค๋ณด๋‹ค ๋” ๋งŽ์•„์•ผ ํ•จ)๋ณด๋‹ค ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋‚ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ -Verbose ํ•ฉ๋ฆฌ์ ์œผ๋กœ ๋“ค๋ฆฌ์ง€๋งŒ ์ถฉ๋ถ„ํžˆ ์ƒ๊ฐํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. (์ด๊ฒƒ์€ ๋˜ํ•œ ๋‚ด๊ฐ€ ์Šค๋ ˆ๋“œ๋ฅผ ์žƒ๋Š” ๊ณณ์ด๋ฉฐ ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์›ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค).
  • .NET Core, WMI ๋“ฑ์œผ๋กœ ์ธํ•ด Windows PowerShell๊ณผ ๋™์ผํ•œ ์†์„ฑ์„ ๊ฐ€์ง„ ๋˜‘๊ฐ™์€ ๊ฐœ์ฒด ( cimv2\Win32_PingStatus )๋ฅผ ๋ชจ๋ฐฉํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ€๊น๊ฒŒ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. ๋‚ด ๋†’์€ ์ˆ˜์ค€์˜ ๊ฒฌํ•ด๋Š” ์ง„ํ–‰์ด ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— (์ตœ์ ํ™”์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ ) ์—ฌ์ „ํžˆ ๋ชจ๋“  ์‚ฌ๋žŒ์„ ๋ฏธ์น˜๊ฒŒ ๋งŒ๋“ค์ง€ ๋งŒ, ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์–ด์จŒ๋“  $ProgressPreference ์„ค์ •ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„๋Œ€ํ™” ํ˜•์—์„œ๋Š” ๊ทธ๋‹ค์ง€ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ ์ข‹์€ ์†Œ๋ฆฌ!

์ง„ํ–‰์€ ์ฃผ๋กœ ๋ช…๋ น ํ˜ธ์ถœ์—์„œ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ โ€‹โ€‹์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜๋ฅผ ์งœ์ฆ๋‚˜๊ฒŒํ•ฉ๋‹ˆ๋‹ค. $ ProgressPreference๋ฅผ ์„ค์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๊ณตํ†ต๋œ ๋งค๊ฐœ ๋ณ€์ˆ˜ ์˜€์œผ๋ฉด ์ข‹๊ฒ ๋‹ค .... ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ์„œ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ์ง€ ๋ง์ž! :๋ฏธ์†Œ:

@ PowerShell / powershell-committee๊ฐ€ ์ด๊ฒƒ์„ ๊ฒ€ํ† ํ–ˆ์Šต๋‹ˆ๋‹ค. Test-Connection ๋Š” Windows PowerShell 5.1์—์„œ์™€ ๊ฐ™์ด ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ€๊น๊ฒŒ ( -Quiet ) ๋™์ž‘์„ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•ด์•ผํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ PingStatus ์ถœ๋ ฅ ๊ฐ์ฒด ( win32_ )๊ฐ€ ๊ธฐ๋ณธ ํ˜•์‹์˜ ์†์„ฑ๊ณผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ถ”๊ฐ€ ํ•ญ๋ชฉ์„ ๊ฐ–๋Š” ๊ฐ ์‘๋‹ต์— ๋Œ€ํ•ด ๋‚ด ๋ณด๋‚ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ง„ํ–‰๋ฅ ์„ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๊ฒ€ํ† ๋ฅผ ์œ„ํ•ด ์ œ์•ˆ ๋œ ์ถœ๋ ฅ ํ˜•์‹๊ณผ ํ•จ๊ป˜ cmdlet ๊ตฌ๋ฌธ์„ ๋ณด์—ฌ์ฃผ๋Š” ์งง์€ RFC๋ฅผ ์ž‘์„ฑํ•  ์˜ํ–ฅ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@ stevel-msft ๋‚˜๋Š” ๊ธฐ๋ปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. :)

๋‚˜๋Š” ๊ทธ ์†Œ๋ฆฌ๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค.
๊ฐ์‚ฌ

PR 3125๊ฐ€์ด ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค๋ฃจ์—ˆ์ง€๋งŒ Test-Connection์˜ ์‚ฌ์šฉ์ด ๊ฑฐ๋ถ€๋˜์—ˆ๋‹ค๋Š” ์ ์ด ํฅ๋ฏธ ๋กญ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ ์šฐ๋ฆฌ๋Š” ์™„์ „ํ•œ ์›์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. 3125๋ฅผ ๋˜๋Œ์•„ ๋ณด๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณด๋ฉด Windows ๋ช…๋ น์„ ์—๋ฎฌ๋ ˆ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ Test-Connection์„ Unix ํ”Œ๋žซํผ์—์„œ ๋‹ค๋ฅด๊ฒŒ ๊ตฌํ˜„ ๋œ ๋ช…๋ น์œผ๋กœ ๋Œ€์ฒด ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ฝ๋Š” ๊ฒŒ ๋งž์•„?

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์šฐ๋ฆฌ์—๊ฒŒ ๊ฐ€๋Šฅํ•œ ์ตœ์„ ์˜ ์„ ํƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ „์ฒด์ ์œผ๋กœ ๋ช…๋ น์„ ๊ตฌํ˜„ํ•  ๋•Œ ๋‘ ํ”Œ๋žซํผ ๊ฐ„์˜ ์ผ๊ด€์„ฑ์ด ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ™œ์šฉํ•  ์ˆ˜์žˆ๋Š” ํฅ๋ฏธ๋กœ์šด ์•„์ด๋””์–ด๊ฐ€์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RFC ์ž‘์„ฑ์ด ๋๋‚˜๋ฉด RFC ์ดˆ์•ˆ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ž์œ ๋กญ๊ฒŒ ์˜๊ฒฌ์„ ๋งํ•˜๊ณ  ์กฐ์ •ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ๊ฒฌํ•ด๋ฅผ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚

ํŽธ์ง‘ : https://github.com/PowerShell/PowerShell-RFC/pull/172

์ด ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” Linux์—์„œ PowerShell Core๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์š•๊ตฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ–ˆ์ง€๋งŒ ๊ตฌํ˜„์€ Windows์™€ Linux ๋ชจ๋‘์—์„œ ์™„์ „ํžˆ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๋ฝ ๋œ ๋ช…๋ น ์ „์ฒด๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์–ธ์ œ ์ด๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? 6.2.2์—์„œ? ์–ธ์ œ ๊ทธ๋Ÿด ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ?
(์ด ์Šค๋ ˆ๋“œ๊ฐ€ 2018 ๋…„ 4 ์›”๋ถ€ํ„ฐ ์ง€๊ธˆ๊นŒ์ง€ _-quiet_ ์‹œ๋„๋Ÿฌ์›Œ์ง€๋Š” ๊ฒƒ์„ ๋ณด๋Š” ๊ฒƒ์€ ์žฌ๋ฏธ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•  ํ•„์š”๊ฐ€์—†๋Š” ๋ธŒ๋ ˆ์ดํ‚น ์ฒด์ธ์ง€ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค)

์ด ์ฝ”๋“œ๋ฅผ ๊ฝค ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. RFC๊ฐ€ ์Šน์ธ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ผ์ด ์ผ์–ด๋‚˜๋Š” ์ฆ‰์‹œ ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋๋‚ด๊ณ  ์ด๊ฒƒ์— ๋Œ€ํ•œ PR์„ ์ œ์ถœํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. :๋ฏธ์†Œ:

์˜ค, ์ƒํƒœ๊ฐ€ ์Šน์ธ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค (์ •ํ™•ํžˆ ์–ด๋–ค ์ƒํƒœ๊ฐ€ ์žˆ๋Š”์ง€ ๋˜๋Š” ์ „์ฒด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์ง€ ๋ชปํ•จ). ํ•˜์ง€๋งŒ ์—…๋ฐ์ดํŠธ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์กฐ์šฉํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ 12 ๊ฐœ์›”์ด ๋„˜๊ฒŒ ๊ฑธ๋ฆฐ๋‹ค๋Š” ์‚ฌ์‹ค์ด ์—ฌ์ „ํžˆ ์•„์‰ฝ์Šต๋‹ˆ๋‹ค. :)

์กฐ์šฉํžˆํ•˜๊ธฐ ์œ„ํ•ด 12 ๊ฐœ์›” ์ด์ƒ

๋” ๋งŽ์€ ํ”ผ๋“œ๋ฐฑ์„ ๊ธฐ๋Œ€ํ–ˆ์Šต๋‹ˆ๋‹ค

@ vexx32 ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ•˜๊ณ  ํ˜„์žฌ ์ œ์•ˆ์„ ๋ณ€๊ฒฝํ•˜๋Š” ํ”ผ๋“œ๋ฐฑ์ด ๋“ค์–ด ์˜ค๋ฉด ์‹คํ—˜ ํ”Œ๋ž˜๊ทธ ๋’ค์— ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ SteveL-MSFT ์ด๋ฏธ ๋Œ€๋ถ€๋ถ„ ์ž‘๋™ํ•˜๋Š” ๊ตฌํ˜„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ์— ๋Œ€ํ•ด ์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ด์•ผ๊ธฐ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ช‡ ๊ฐ€์ง€ ์‹คํ—˜์  ํ”Œ๋ž˜๊ทธ๊ฐ€ ํฌํ•จ ๋œ PR์„ ๊ณง ์ œ์ถœํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ๐Ÿ’–

์ง€๋‚œ ๋ฉฐ์น  ๋™์•ˆ ์›ํ•˜๋Š” ๋™์ž‘์— ๋Œ€ํ•ด ์ƒ๊ฐํ•œ ํ›„์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ตœ์†Œํ•œ์˜ ๋งค๊ฐœ ๋ณ€์ˆ˜ (๋น ๋ฅธ ์ž…๋ ฅ ๋ฐ ์‚ฌ์šฉ์ž ์นœํ™”์  ์ธ ๋””์Šคํ”Œ๋ ˆ์ด)๋กœ ๋Œ€ํ™” ํ˜• ๋™์ž‘์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋Œ€ํ™” ํ˜• ์„ธ์…˜์—์„œ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ ์Šคํƒ€์ผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค (์ด๋Š” ์ถœ๋ ฅ์—์„œ โ€‹โ€‹๋‹ค๋ฅธ ์œ ํ˜•์„ ์˜๋ฏธ ํ•จ).

@isazonov๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”์ง€ ์ข€ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@ vexx32 ๊ตฌํ˜„ ๋˜๋Š” UX ๋””์ž์ธ์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•˜์‹ญ๋‹ˆ๊นŒ?

์ฃผ๋กœ UX๊ฐ€ ๊ทธ๋Ÿด ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. :)

์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์„ธ์…˜์—์„œ ์ตœ๊ณ ์˜ UX๋Š”
1. ์ตœ์†Œํ•œ์˜ ํƒ€์ดํ•‘
๊ทธ ๋œป์€:
-ping์ด ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.
-ํ•˜๋‚˜์˜ ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ๋‹ค๋ฅธ ๋ชจ๋“œ (traceroute ๋“ฑ)๋กœ ์ „ํ™˜
2. ์‚ฌ์šฉ์ž ์นœํ™”์  ์ธ ์ถœ๋ ฅ
๊ทธ ๋œป์€:
-ping.exe (tracert.exe ๋ฐ ๊ธฐํƒ€) ์ถœ๋ ฅ _ ์ฝ˜์†” ํ˜ธ์ŠคํŠธ์—์„œ _ ๋‚ด๊ฐ€ ๋ฐ๋ชจ ์ฝ”๋“œ์—์„œ ์‹œ๋„ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ํ—ค๋”, ๋ฐ”๋‹ฅ ๊ธ€ ๋ฐ ์ •๋ณด ํ–‰์ด ์ž˜ ํ˜•์‹ํ™”๋˜์–ด ์—๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ ์œ ํ˜•์— ๋Œ€ํ•ด ์ƒ๊ฐํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ํ‘œ์‹œ ๋งŒ๋ฉ๋‹ˆ๋‹ค.
-์Šคํฌ๋ฆฝํŠธ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๊ธฐ์œ„ํ•œ ๋งค๊ฐœ ๋ณ€์ˆ˜ ์ถ”๊ฐ€-์ฆ‰, ์ฝ˜์†” ํ˜ธ์ŠคํŠธ์—์„œ ์‚ฌ์šฉ์ž ์นœํ™”์  ์ธ ํ…์ŠคํŠธ์˜ ์ถœ๋ ฅ์„ ์–ต์ œํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ์œ ํ˜•์˜ ๊ฐœ์ฒด๋ฅผ ๋ฐฉ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด ์ถœ๋ ฅ์„ ํ˜•์‹ํ™” ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. True / False๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” Quiet์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์ง€๋งŒ ๋‹ค๋ฅธ ์›์‹œ ๊ฐ•๋ ฅํ•œ ์œ ํ˜• ๊ฐ์ฒด (์˜ˆ : -RawOutput)๋ฅผ ๋‚ด๋ณด๋‚ด๋ ค๋ฉด ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ถ”๊ฐ€ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ—ˆ์šฉ๋˜๋Š” UX์ž…๋‹ˆ๋‹ค.

๊ณ ๋งˆ์›Œ์š”, ๋‹น์‹ ์ด ์ง€๊ธˆ ์กฐ๊ธˆ ๋” ๋‚˜์•„์ง€๊ณ ์žˆ๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„์š”.

๊ทธ๋ž˜๋„ ์ด์™€ ๊ฐ™์€ ๋“€์–ผ ๋ชจ๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? PowerShell์˜ ๋‹ค๋ฅธ cmdlet์—๋Š” ๋Œ€ํ™” ํ˜• ๋งค๊ฐœ ๋ณ€์ˆ˜์™€ "์Šคํฌ๋ฆฝํŠธ ๋ชจ๋“œ"๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ„์— ์ด๋Ÿฌํ•œ ๋ถ„ํ• ์ด ์—†์Šต๋‹ˆ๋‹ค.

ping / tracert์˜ ์ •ํ™•ํ•œ ์ถœ๋ ฅ์„ ์›ํ•œ๋‹ค๋ฉด ์™œ ์ด๋Ÿฌํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๊นŒ?

PowerShell์€ ๊ธฐ์กด ๋ช…๋ น์„ ์™„์ „ํžˆ ๋ชจ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์€ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์ธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. Get-ChildItem์ด ์•„๋งˆ๋„ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ๊ฑฐ์˜ ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ping / tracert ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ์ฒ ์ €ํžˆ ์—๋ฎฌ๋ ˆ์ดํŠธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ๋Œ€์‹  ๋ณ„๋„์˜ cmdlet ๋˜๋Š” ํ•จ์ˆ˜ (์˜ˆ : Show-Connection )๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. PowerShell ๋‚ด์—์„œ ์„ ๋ก€ ๋˜๋Š” ํ•„์š”.

๊ทธ๋ž˜๋„ ์ด์™€ ๊ฐ™์€ ๋“€์–ผ ๋ชจ๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? PowerShell์˜ ๋‹ค๋ฅธ cmdlet์—๋Š” ๋Œ€ํ™” ํ˜• ๋งค๊ฐœ ๋ณ€์ˆ˜์™€ "์Šคํฌ๋ฆฝํŠธ ๋ชจ๋“œ"๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ„์— ์ด๋Ÿฌํ•œ ๋ถ„ํ• ์ด ์—†์Šต๋‹ˆ๋‹ค.

ํฌ๋งท ์‹œ์Šคํ…œ์— ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋จธ๋ฆฌ๊ธ€ / ๋ฐ”๋‹ฅ ๊ธ€ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์š”์ฒญํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŽธ๋ฆฌํ•œ ๋‹ค๋ฅธ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ping / tracert์˜ ์ •ํ™•ํ•œ ์ถœ๋ ฅ์„ ์›ํ•œ๋‹ค๋ฉด ์™œ ์ด๋Ÿฌํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š”ํ•œ๋‹ค :-). ์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ €์ˆ˜์ค€์ด์ง€๋งŒ ๊ณ ์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๋“ค์ดํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค _smarter_ ์ผ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹จ์ง€ ping์„ํ•˜๊ธฐ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ์ด cmdlet์˜ ์™ธ๊ด€์˜ ๋ณธ์งˆ์ž…๋‹ˆ๋‹ค. cmdlet์˜ ์ฃผ์†Œ์™€ ์ด๋ฆ„์ด ์–ด๋–ป๊ฒŒ ํ˜•์„ฑ๋˜๊ณ  ์–ด๋–ป๊ฒŒ ํ˜•์„ฑ๋˜๋Š”์ง€ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด ์ถœ๋ ฅ๋˜๋ฉด ๋„ค์ดํ‹ฐ๋ธŒ ํ•‘๋ณด๋‹ค ํ›จ์”ฌ ๋” ์œ ์šฉํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†์ž„์ˆ˜์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์ •๋ง ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์šฐ๋ฆฌ๋Š” ํฌ๋งทํŒ… ์‹œ์Šคํ…œ์— ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€๋‹ต์€ _ ๋งค๋ฒˆ _ ์‚ฌ์šฉ์ž ์ง€์ • ์†”๋ฃจ์…˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋” ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•˜๊ณ  ์ „์ฒด์ ์œผ๋กœ ๋” ํšจ๊ณผ์ ์œผ๋กœ ํฌ๋งทํŒ… ์‹œ์Šคํ…œ์„ ๊ฐœ์„ ํ•˜๊ฑฐ๋‚˜ ์žฌ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋”์šฑ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๊ทธ๋ž˜, ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ํ›Œ๋ฅญํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค! ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ถœ๋ ฅ ๋ชจ๋“œ๋Š” ๋Œ€ํ™” ํ˜• ์‚ฌ์šฉ์—๋Š” ์œ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ ๋‹จ๊ณ„๋ฅผ ๊ฐ„๋‹จํžˆ ์ œ๊ฑฐํ•˜๊ณ  Show-Connection ๋ผ๊ณ  ๋ถ€๋ฅธ ๋‹ค์Œ RFC์—์„œ ์„ค๋ช…ํ•˜๋Š”๋Œ€๋กœ Test-Connection ์ž์ฒด์— ๋Œ€ํ•ด๋ณด๋‹ค PowerShell ์ค‘์‹ฌ ์†”๋ฃจ์…˜์—์„œ ์ž‘์„ฑํ•œ ๋‚ด์šฉ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ vexx32 ๋ฐฉ๊ธˆ PR์„ ์‹œ๋„ํ–ˆ๋Š”๋ฐ ์ƒ๋‹นํžˆ ๊ฐœ์„ ๋˜์—ˆ์ง€๋งŒ Windows PowerShell์—์„œ PingReply๋ฅผ ํŒŒ์ดํ”„ ๋ผ์ธ์— ๊ฐœ๋ณ„์ ์œผ๋กœ ๋‚ด๋ณด๋‚ด๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PS C:\Users\slee> Test-Connection localhost

Source        Destination     IPV4Address      IPV6Address                              Bytes    Time(ms)
------        -----------     -----------      -----------                              -----    --------
SLEE-DESKTOP  localhost       127.0.0.1        ::1                                      32       0
SLEE-DESKTOP  localhost       127.0.0.1        ::1                                      32       0
SLEE-DESKTOP  localhost       127.0.0.1        ::1                                      32       0
SLEE-DESKTOP  localhost       127.0.0.1        ::1                                      32       0

๊ทธ๋Ÿฌ๋‚˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ๋ชจ๋“  ํ•‘ ์‘๋‹ต์€ ๋‹จ์ผ ๊ฐœ์ฒด์˜ ๊ตฌ์„ฑ์›์ž…๋‹ˆ๋‹ค.

PS> Test-Connection localhost

Source       Destination Replies
------       ----------- -------
slee-desktop localhost   {System.Net.NetworkInformation.PingReply, System.Net.NetworkInformation.PingReply, System.Net.NetworkInformation.PingReply, System.Net.Nโ€ฆ

Windows PowerShell ๋™์ž‘์„ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?

@ SteveL-MSFT ํ•ด๋‹น ๊ฐœ์ฒด ์ถœ๋ ฅ์€ PS Core์˜ ์ดˆ๊ธฐ ๊ตฌํ˜„์—์„œ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์„ฑ๊ณต ์ถœ๋ ฅ์—๋Š” ํ•ญ์ƒ ๋‹จ์ผ ๊ฐ์ฒด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚

PR์˜ ๋งˆ์ง€๋ง‰ ์ฃผ์„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด๋Š” ๊ฒ€ํ† ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜๋Š” RFC์˜ ์ผ๋ถ€ ๊ตฌํ˜„ ์ผ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ณง ํ›„์† PR์„ ์ œ์ถœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ค‘๋ณต ๋œ ์ปค๋ฐ‹์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ํ•ด๋‹น ๋ถ„๊ธฐ๋ฅผ ๋ฆฌ๋ฒ ์ด์Šคํ•˜๊ณ  ๋‚˜๋จธ์ง€๋ฅผ ์ œ์ถœํ•˜์—ฌ Windows PowerShell ๊ตฌํ˜„๊ณผ์˜ ์ง„์ •ํ•œ ํŒจ๋ฆฌํ‹ฐ์— ํ›จ์”ฌ ๊ฐ€๊นŒ์›Œ์ง€๋ฉด๋ฉ๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ๋‹ค์†Œ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ (๋ช‡ ์ฃผ ์ „์— ๊ฒ€ํ†  ํ•œ RFC์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด) ํ›จ์”ฌ ๋” ๋‹ค์–‘ํ•ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜Š

@ SteveL-MSFT๋Š”์ด ๋ชจํ—˜์˜ ๋‹ค์Œ ์žฅ์„ ์œ„ํ•ด # 10697์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค! ๐Ÿ˜Š

: tada :์ด ๋ฌธ์ œ๋Š” # 10478์—์„œ ํ•ด๊ฒฐ๋˜์—ˆ์œผ๋ฉฐ ์ด์ œ v7.0.0-preview.5 . : tada :

ํŽธ๋ฆฌํ•œ ๋งํฌ :

๋ฆด๋ฆฌ์Šค 7.0.0์—์„œ Test-Connection -Quiet์€ ์—ฌ์ „ํžˆ
Test-Connection : 'scrubbed'์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ ์‹คํŒจ : ๋Œ€์ƒ ์ด๋ฆ„์„ ํ™•์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๋Œ€์‹ ์—
๊ทธ๋ฆ‡๋œ

@chvol ๊ฐ€๋Šฅํ•œ ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์œผ๋กœ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌ! ๐Ÿ™‚

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰