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
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' }
-์ฐธ์กฐ@ 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"๋ ๋ํ์ ์ฌ์ฉ์ ์ฐ์ ์์๋ฅผ๋๊ธฐ ์ํด ๋ ๋์ ์กฐ์ ์ผ ๊ฒ์ ๋๋ค.
์ข์, ์ฌ๊ธฐ์ ์ข ๋ ์ ์ฉํ ๊ตฌํ์ด๋ผ๊ณ ์๊ฐํ๋ ๊ฒ์ด ์์ต๋๋ค.
-Verbose
์คํธ๋ฆผ์ผ๋ก ๊ฐ๋ฑ๋ฉ๋๋ค. ํ์ฌ๋ ์ ํ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ์๋ฒฝํ ์ฌ์ฉ ์ฌ๋ก์
๋๋ค.-ShowProgress
์ค์์น๋ก ์ง์ ํ์ง ์์ผ๋ฉด ์งํ๋ฅ ํ์ ์ค์ด ์์ต๋๋ค.-Ping
์ค์์น๋ฅผ ์ ๊ฑฐํฉ๋๋ค (๊ธฐ๋ณธ ๋์).Test-Connection www.google.com
Replies
์์ฑ ์ ๋ณด๋ ๊ธฐ๋ณธ ์ถ๋ ฅ ๊ฐ์ฒด์ ํฌํจ๋์ด์ผํ๋ฉฐ ๊ธฐ๋ณธ ์ถ๋ ฅ ๋ชจ๋๋ ๊ฐ๊ฐ ๋จ์ผ ํ ์๋ / ์๋ต ๊ฐ์ฒด๋ฅผ ๋ํ๋ด๋ _multiple_ ๊ฐ์ฒด ์ฌ์ผํฉ๋๋ค.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์ ์ค๊ณ๋์์ต๋๋ค.
์ฃผ์ ๋ฌธ์ ๋ ๋ํ ํ ์ฝ์ ์ถ๋ ฅ (๋ํ ํ ์๋๋ฆฌ์ค)๊ณผ ํ์ดํ ๋ผ์ธ์ ๊ฐ์ฒด ์ถ๋ ฅ (์คํฌ๋ฆฝํธ ์๋๋ฆฌ์ค)์ ๊ฒฐํฉํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ๋ด ํ์ฌ ์ ์์ ๋งค๊ฐ ๋ณ์ (-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 ๋ชจ๋ ํ์ฌ์ ๊ฒฝ์ฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค.-Quiet
๋ Windows PowerShell๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก True / False๋ฅผ ๋ถ์ธ๋ก ์ ์ธํ๊ณ ์๋ฌด๊ฒ๋ ๋ด ๋ณด๋ด์ง ์์์ผํฉ๋๋ค.-Quiet
์ผ์ด์ค๋ณด๋ค ๋ ๋ง์์ผ ํจ)๋ณด๋ค ๋ ๋ง์ ์ ๋ณด๋ฅผ ๋ด์ผํ๋ ๊ฒฝ์ฐ -Verbose
ํฉ๋ฆฌ์ ์ผ๋ก ๋ค๋ฆฌ์ง๋ง ์ถฉ๋ถํ ์๊ฐํ์ง ์์์ต๋๋ค. (์ด๊ฒ์ ๋ํ ๋ด๊ฐ ์ค๋ ๋๋ฅผ ์๋ ๊ณณ์ด๋ฉฐ ๋ ๋ง์ ์ฌ๋๋ค์ด ์ํ๋ ๊ฒ์ ๋งํ๊ธฐ ์ด๋ ต์ต๋๋ค).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 ๊ฐ๋ฅํ ํ ์์ธํ ๋ด์ฉ์ผ๋ก ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ด โโ์ ์์ต๋๊น?
๊ฐ์ฌ! ๐
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@GeeLaw :
์ ์ฐพ์์ง๋ง์ด ๊ฒฝ์ฐ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ํ ๊ฒ์
-InformationAction Ignore
์ ๋๋ค.$InformationActionPreference
์ฌ์ ํ ๊ธฐ๋ณธ๊ฐ์ดSilentlyContinue
์ด๋ฉฐ ๋ณ๊ฒฝํด์๋ ์๋ฉ๋๋ค.๋ฒ๊ทธ๋
WriteInformation()
์์PSHOST
ํ๊ทธ๋ฅผ ์ค์๋ก ์ฌ์ฉํ๋๋ก ๋งํฌ๋ฅผ ํธ์ถํ์ฌ$InformationActionPreference
๊ฐ๊ณผ-InformationAction SilentlyContinue
(ํ์ง๋ง ๋ช ์๋๋๋ก ,-InformationAction Ignore
_is_ ์ถ๋ ฅ ์ต์ ์ ํจ๊ณผ์ ).WriteInformation()
ํธ์ถ์ดํ๋ ๊ฒ์ ์ฌ์ค์Write-Host
๊ฐ ์ถ๋ ฅ์ (์ค๊ณ ์) _ ๋ฌด์กฐ๊ฑด _ ํ์ํ๊ธฐ ์ํดํ๋ ์ผ์ ๋๋ค.@iSazonov : ์งํ๋ฅ ํ์ ์ค์ด์๋ ๋ค๋ฅธ cmdlet์ ๋์์ ์ค์ ๋ก ์ดํด
-Quiet
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ํ ํ์ผ๋ก ํธ์ถ ํ ๋๋ ์งํ๋ฅ ํ์ ์ค์ ๊ธฐ๋ํ์ง _ ์์ต๋๋ค