Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”, เป€เบ„เบทเปˆเบญเบ‡เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™เบฅเบฐเบšเบปเบš Unix เปเบกเปˆเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ”เบตเบเบงเปˆเบฒเปƒเบ™ Windows, เปเบ•เปˆเบเบฑเบšเบเบฒเบ™เบกเบฒเป€เบ–เบดเบ‡เบ‚เบญเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เปƒเบซเบกเปˆ, เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เป„เบ”เป‰เบ›เปˆเบฝเบ™เปเบ›เบ‡.

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

PowerShell เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ•เบตเบ„เบงเบฒเบกเปเบฒเบเปƒเบ™เบžเบฒเบชเบฒเบ—เบตเปˆเปเบ›เป„เบ”เป‰เบซเบผเบฒเบเบฎเบนเบšเบซเบผเบฒเบเปเบšเบšเบ—เบตเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบ‚เบฑเป‰เบ™เบ•เบญเบ™เปเบšเบšเบ„เบฅเบฒเบชเบชเบดเบ, เบฎเบฑเบ”เบเบธเบกเบงเบฑเบ”เบ–เบธ, เปเบฅเบฐเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰: เบเบฒเบ™เปเบšเปˆเบ‡เบ•เบฒเบกเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚, loops, variables, arrays, hash tables, classes, error handle, as well as functions, cmdlets, เปเบฅเบฐเบ—เปเปˆ. เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ เป„เบ”เป‰เบ–เบทเบเบญเบธเบ—เบดเบ”เปƒเบซเป‰เปเบเปˆเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบœเบนเป‰เบญเปˆเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบฑเบ™เบ›เบทเป‰เบกเบญเป‰เบฒเบ‡เบญเบตเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก.

เบžเบฒเบชเบฒ:

ะšะพะผะผะตะฝั‚ะฐั€ะธะธ
เบ•เบปเบงเปเบ›เปเบฅเบฐเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ
เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš
เบ‚เบญเบšเป€เบ‚เบ”
เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก (เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก)
เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบฅเบเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš
เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบ
เบ•เบปเบง เบ”เบณ เป€เบ™เบตเบ™เป€เบซเบ”เบœเบปเบ™
เป‚เบ”เบ”เบ•เบฒเบกเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚
เบฎเบญเบšเบงเบฝเบ™
Arrays
เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Hash
เบŸเบฑเบ‡เบŠเบฑเบ™
เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบœเบดเบ”เบžเบฒเบ”

เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ‚เบฝเบ™โ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เปƒเบ™โ€‹เบšเบฑเบ™โ€‹เบ™เบฒโ€‹เบ—เบดโ€‹เบเบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบซเบผเบทโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบชเบฐโ€‹เบžเบฒเบšโ€‹เปเบงเบ”โ€‹เบฅเป‰เบญเบกโ€‹เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบ›เบฐโ€‹เบชเบปเบกโ€‹เบ›เบฐโ€‹เบชเบฒเบ™ - เบงเบดโ€‹เบ—เบตโ€‹เบ—เบตเปˆโ€‹เบ‡เปˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เปƒเบŠเป‰ Windows PowerShell ISE เบ—เบตเปˆโ€‹เบกเบฒโ€‹เบžเป‰เบญเบกโ€‹เบเบฑเบšโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹เป€เบŠเบตเบšโ€‹เป€เบงเบต Microsoft. เบ™เบตเป‰เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบชเบฐเบ„เบดเบšเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบžเปเบชเบปเบกเบ„เบงเบ™: เบŠเบธเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบฑเป‰เบ™เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš.

ะšะพะผะผะตะฝั‚ะฐั€ะธะธ

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบ„เบดเบ”เบ„เปเบฒเป€เบซเบฑเบ™เปเบกเปˆเบ™เบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบ—เบตเปˆเบ”เบตเบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เบซเบเปเป‰เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเปเบฅเบฐเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡:

# ะ”ะปั ัั‚ั€ะพั‡ะฝั‹ั… ะบะพะผะผะตะฝั‚ะฐั€ะธะตะฒ ะธัะฟะพะปัŒะทัƒะตั‚ัั ัะธะผะฒะพะป ั€ะตัˆะตั‚ะบะธ โ€” ัะพะดะตั€ะถะธะผะพะต ัั‚ั€ะพะบะธ ะธะฝั‚ะตั€ะฟั€ะตั‚ะฐั‚ะพั€ ะฝะต ะพะฑั€ะฐะฑะฐั‚ั‹ะฒะฐะตั‚.

<# 

       ะขะฐะบ ะพะฑะพะทะฝะฐั‡ะฐัŽั‚ัั ะฝะฐั‡ะฐะปะพ ะธ ะบะพะฝะตั† ะฑะปะพั‡ะฝะพะณะพ ะบะพะผะผะตะฝั‚ะฐั€ะธั. 
       ะ—ะฐะบะปัŽั‡ะตะฝะฝั‹ะน ะผะตะถะดัƒ ะฝะธะผะธ ั‚ะตะบัั‚ ะธะฝั‚ะตั€ะฟั€ะตั‚ะฐั‚ะพั€ ะธะณะฝะพั€ะธั€ัƒะตั‚.

#>

เบ•เบปเบงเปเบ›เปเบฅเบฐเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ

เบ•เบปเบงเปเบ›เปƒเบ™ PowerShell เปเบกเปˆเบ™เบŠเบทเปˆเบงเบฑเบ”เบ–เบธ. เบŠเบทเปˆเบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบšเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ‚เบตเบ”เบเป‰เบญเบ‡, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ เปเบฅเบฐเบ•เบปเบงเป€เบฅเบ. เบชเบฑเบ™เบเบฒเบฅเบฑเบ $ เบ–เบทเบเปƒเบŠเป‰เบเปˆเบญเบ™เบŠเบทเปˆ, เปเบฅเบฐเป€เบžเบทเปˆเบญเบ›เบฐเบเบฒเบ”เบ•เบปเบงเปเบ›, เบกเบฑเบ™เบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบ™เบฒเบเปเบ›เบžเบฒเบชเบฒเบŠเบทเปˆเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡:

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ•เบปเบงเปเบ› (เบกเบญเบšเบ„เปˆเบฒเปƒเบซเป‰เบกเบฑเบ™), เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบ (เบชเบฑเบ™เบเบฒเบฅเบฑเบ =) เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰:

$test = 100

เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ›เบฐโ€‹เบเบฒเบ”โ€‹เบ•เบปเบงโ€‹เบ›เปˆเบฝเบ™โ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹เปƒเบ™โ€‹เบงเบปเบ‡โ€‹เป€เบฅเบฑเบšโ€‹เบชเบตเปˆโ€‹เบซเบผเปˆเบฝเบก (เบ•เบปเบงโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบเบฒเบ™โ€‹เบžเบดเบกโ€‹) เบเปˆเบญเบ™โ€‹เบŠเบทเปˆโ€‹เบซเบผเบทโ€‹เบ„เปˆเบฒโ€‹:

[int]$test = 100

$test = [int]100

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡ เบชเบณ เบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบ•เบปเบงเปเบ›เปƒเบ™ PowerShell เปเบกเปˆเบ™เบงเบฑเบ”เบ–เบธเป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบš (เบŠเบฑเป‰เบ™เบฎเบฝเบ™) เบ—เบตเปˆเบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ›เบฐเป€เบžเบ”เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ™ .NET Core. เบžเบงเบเป€เบฎเบปเบฒเบšเบญเบเบฅเบฒเบเบŠเบทเปˆเบ•เบปเป‰เบ™เบ•เป:

เบ›เบฐเป€เบžเบ” (.NET class)

เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”

เบ•เบปเบงเบขเปˆเบฒเบ‡เบฅเบฐเบซเบฑเบ”

[string] System.String

เบชเบฐเบ•เบฃเบดเบ‡ Unicode 

$test = "เบ—เบปเบ”เบชเบญเบš"
$test = 'เบ—เบปเบ”เบชเบญเบš'

[char] System.Char

เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Unicode (16 bits)

[char]$test = 'เบ„'

[bool] System.Boolean

เบ›เบฐเป€เบžเบ” boolean (boolean เบ–เบทเบ เบซเบผเบทเบœเบดเบ”)

[bool]$test = $true

[int] System.Int32

เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเบชเบฒเบกเบชเบดเบšเบชเบญเบ‡เบšเบดเบ” (32 เบšเบดเบ”)

[int]$test = 123456789

[long] System.Int64

เบˆเปเบฒเบ™เบงเบ™เบซเบปเบเบชเบดเบšเบชเบตเปˆเบšเบดเบ” (64 เบšเบดเบ”)

[long]$test = 12345678910

[single] System.Single

เบ•เบปเบงเป€เบฅเบเบˆเบธเบ”เบฅเบญเบเบ•เบปเบงเบเบฒเบง 32 เบšเบดเบ”

[เบ”เบฝเบง]$test = 12345.6789

[double] System.Double

เบˆเปเบฒเบ™เบงเบ™เบˆเบธเบ”เบฅเบญเบเบ‚เบญเบ‡เบ„เบงเบฒเบกเบเบฒเบง 64 เบšเบดเบ” (8 bytes)

[double]$test = 123456789.101112

[decimal] System.Decimal

เบ•เบปเบงเป€เบฅเบเบˆเบธเบ”เบฅเบญเบ 128-เบšเบดเบ” (เบ•เป‰เบญเบ‡เบเบฒเบ™เบฅเบปเบ‡เบ—เป‰เบฒเบเบ”เป‰เบงเบ d)

[decimal]$test = 12345.6789d

[DateTime] System.DateTime

เบงเบฑเบ™เบ—เบตเปเบฅเบฐเป€เบงเบฅเบฒ 

$test = GetDate

[array] System.Object[]

array เบ—เบตเปˆเบ”เบฑเบ”เบŠเบฐเบ™เบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆ 0

$test_array = 1, 2, "test", 3, 4

[hashtable] System.Collections.Hashtable

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ hash เปเบกเปˆเบ™ array เบชเบฐเบกเบฒเบ„เบปเบกเบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบกเบตเบŠเบทเปˆ, เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบ•เบฒเบกเบซเบผเบฑเบเบเบฒเบ™: @{key = "value"}

$test_hashtable = @{one="one"; two="เบชเบญเบ‡"; เบชเบฒเบก="เบชเบฒเบก"}

PowerShell เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เปเบ›เบ‡เบ›เบฐเป€เบžเบ” implicit, เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เบ—เบฑเบ™เบ—เบต (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบ), เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบšเบฑเบ‡เบ„เบฑเบš - เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบ™เบฒเบเบžเบฒเบชเบฒเบˆเบฐเปƒเบซเป‰เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบˆเบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเป‚เบ”เบเบเบฒเบ™เป‚เบ—เบซเบฒเบงเบดเบ—เบตเบเบฒเบ™ GetType():

$test.GetType().FullName

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เบกเบตเบˆเปเบฒเบ™เบงเบ™ cmdlets เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ•เบปเบงเปเบ›. เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบชเบฐเบ”เบงเบเปเบกเปˆเบ™เบชเบฐเปเบ”เบ‡เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡:

Get-Command -Noun Variable | ft -Property Name, Definition -AutoSize -Wrap

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบ•เบปเบงเปเบ›เบ—เบตเปˆเบ›เบฐเบเบฒเบ”เปเบฅเบฐเบ„เปˆเบฒเบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ cmdlet เบžเบดเป€เบชเบ”:

Get-Variable | more

เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบซเบเบธเป‰เบ‡เบเบฒเบเป€เบเบตเบ™เป„เบ›, เบกเบฑเบ™เบชเบฐเบ”เบงเบเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ•เบปเบงเปเบ›เป‚เบ”เบเบœเปˆเบฒเบ™เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบซเบผเบทเป‚เบ”เบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป‚เบ”เบเบเบปเบ‡. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, cmdlets เบกเบตเบชเบดเบ”เบ—เบตเปˆเบˆเบฐเบกเบตเบขเบนเปˆเป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ•เบฑเป‰เบ‡เบšเบฒเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบžเบฝเบ‡เปเบ•เปˆเบžเบฒเบเปƒเบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบกเบ›เบฐเบˆเบธเบšเบฑเบ™. เป€เบกเบทเปˆเบญ console เบ›เบดเบ”เบซเบผเบทเบชเบฐเบ„เบดเบšเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡, เบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบฅเบถเบšเบ–เบดเป‰เบก.

เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš

เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบœเบนเป‰เบ—เบตเปˆเบ›เบฐเบเบฒเบ”เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰, เบกเบตเบ•เบปเบงเปเบ›เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™ (เบฅเบฐเบšเบปเบš) เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบถเบšเบฅเป‰เบฒเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบ›เบฐเบˆเบธเบšเบฑเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡. เบžเบงเบเบกเบฑเบ™เปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เบชเบญเบ‡เบ›เบฐเป€เบžเบ”, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ‚เปเป‰เบกเบนเบ™เบฅเบฑเบ” PowerShell เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบ•เบปเบงเปเบ›เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒเบ—เบตเปˆเบ•เบปเบ™เป€เบญเบ‡เบกเบฑเบเป„เบ”เป‰. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบฅเบงเบกเบกเบต, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, $PWD:

$PWD.Path

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เบ•เบปเบงเปเบ›เบ„เบงเบฒเบกเบกเบฑเบเปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบกเบฑเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰, เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰. เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ $ErrorActionPreference , เบ›เบฐเบ•เบดเบเบดเบฅเบดเบเบฒเบ‚เบญเบ‡เบ™เบฒเบเบžเบฒเบชเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเบเบฑเบšเบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบšเปเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”.

เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบฅเบฐ cmdlets เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ•เบปเบงเปเบ›เบ—เบตเปˆเบ›เบฐเบเบฒเบ”, เบกเบตเบ•เบปเบงเปเบ›: pseudo-accumulator. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบกเบฑเบ™เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเป„เบ”เบญเบทเปˆเบ™เป†, เปเบฅเบฐเบ•เบปเบงเปเบ›เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบงเบฑเบ”เบ–เบธเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ:

Get-ChildItem Variable: | more

เบซเบผเบท

ls Variable: | more

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เบ‚เบญเบšเป€เบ‚เบ”

เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบ›เปƒเบ™ PowerShell, เบกเบตเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบ‚เบญเบšเป€เบ‚เบ” (Scope). เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ‚เบญเบšเป€เบ‚เบ”เบ—เบปเปˆเบงเป‚เบฅเบ (Global) เบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบ›เบฐเบˆเบธเบšเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ” - เบกเบฑเบ™เบ›เบฐเบเบญเบšเบกเบต, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš. เบ•เบปเบงเปเบ›เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ (Local) เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™: เป€เบงเบปเป‰เบฒเบžเบฒเบเปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™. เบเบฑเบ‡เบกเบตเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡ script (Script), เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡ script, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป€เบกเบทเปˆเบญเบ›เบฐเบเบฒเบ”เบ•เบปเบงเปเบ›, เบžเบงเบเบกเบฑเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบšเป€เบ‚เบ”เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เปเบฅเบฐเป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เปเบ›เบ‡เบกเบฑเบ™, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบดเป€เบชเบ”เป€เบŠเบฑเปˆเบ™: $Global: variable = value.

เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

$Global:test = 100

เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก (เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก)

pseudo-drive เบญเบทเปˆเบ™, Env:, เบกเบตเปƒเบซเป‰เบˆเบฒเบ PowerShell เปเบฅเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก. เป€เบกเบทเปˆเบญเปเบเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบ„เบฑเบ”เบฅเบญเบเบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบกเปˆ (เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบกเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™) เปเบฅเบฐเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบ„เปˆเบฒเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปเบกเปˆเบ™เบ„เบทเบเบฑเบ™เบเบฑเบšเบ„เปˆเบฒเปƒเบ™เปเบœเบ‡เบ„เบงเบšเบ„เบธเบก. เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, เปƒเบŠเป‰ Get-ChildItem cmdlet เบซเบผเบทเบ™เบฒเบกเปเบเบ‡เบ‚เบญเบ‡เบกเบฑเบ™ (เบ™เบฒเบกเปเบเบ‡): ls เปเบฅเบฐ dir.

dir Env:

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เบ•เบปเบงเปเบ›เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡ bytes (เบซเบผเบทเบ•เบปเบงเบญเบฑเบเบชเบญเบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™), เบเบฒเบ™เบ•เบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบ—เบตเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. *-variable cmdlets เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก. เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเบงเบเบกเบฑเบ™, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบ‚เบญเบ‡ drive:

$env:TEST = "Hello, World!"

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบฅเบเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš

PowerShell เปƒเบซเป‰โ€‹เบ•เบปเบงโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป€เบฅเบโ€‹เบ„เบฐโ€‹เบ™เบดเบ”โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰: + (เบเบฒเบ™โ€‹เป€เบžเบตเปˆเบก), - (เบเบฒเบ™โ€‹เบฅเบปเบš), * (เบ„เบนเบ™), / (เบเบฒเบ™โ€‹เบซเบฒเบ™), เปเบฅเบฐ % (เป‚เบกเบ”เบนโ€‹เป‚เบฅ เบซเบผเบท เป‚เบกเบ”เบนโ€‹เป‚เบฅ). เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบฒเบ‡เป€เบฅเบเบ„เบฐเบ™เบดเบ”เป„เบ”เป‰เบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เบˆเบฒเบเบŠเป‰เบฒเบเป„เบ›เบ‚เบงเบฒเบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เปเบฅเบฐเบงเบปเบ‡เป€เบฅเบฑเบšเบ–เบทเบเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบธเปˆเบกเบชเปˆเบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™. เบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ–เบทเบเบฅเบฐเป€เบงเบฑเป‰เบ™, เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเปƒเบ™เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ + เบเบฑเบ‡ concatenates, เปเบฅเบฐเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ * repeats strings. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบเปƒเบชเปˆเบชเบฐเบ•เบฃเบดเบ‡, เบกเบฑเบ™เบˆเบฐเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เบชเบฐเบ•เบฃเบดเบ‡. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบตเบซเบผเบฒเบเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเปƒเบ™ PowerShell เบ—เบตเปˆเบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบˆเบฑเบšเบ„เบนเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบญเบ‡เบ„เปˆเบฒ เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เปˆเบฒ boolean True เบซเบผเบท False:

เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™

เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”

เบ•เบปเบงเบขเปˆเบฒเบ‡เบฅเบฐเบซเบฑเบ”

-eq

เป€เบ—เบปเปˆเบฒเบเบฑเบ™ / เป€เบ—เบปเปˆเบฒเบเบฑเบ™ (เบ„เป‰เบฒเบเบเบฑเบš = เบซเบผเบท == เปƒเบ™เบžเบฒเบชเบฒเบญเบทเปˆเบ™)

$test = 100
$test -eq 123 

- เบšเปเปˆ

เบšเปเปˆเป€เบ—เบปเปˆเบฒเบเบฑเบ™ / เบšเปเปˆเป€เบ—เบปเปˆเบฒเบเบฑเบ™ (เบ„เป‰เบฒเบเบเบฑเบš <> เบซเบผเบท !=)

$test = 100
$test -ne 123   

-gt

เบซเบผเบฒเบเบเบงเปˆเบฒ / เบซเบผเบฒเบ (เบญเบฐเบ™เบฒเบฅเบฑเบญเบ >)

$test = 100
$test -gt 123

-เบˆเบต

เปƒเบซเบเปˆเบเบงเปˆเบฒ เบซเบผเบท เป€เบ—เบปเปˆเบฒเบเบฑเบ™ / เปƒเบซเบเปˆเบเบงเปˆเบฒ เบซเบผเบท เป€เบ—เบปเปˆเบฒเบเบฑเบ™ (เบ„เป‰เบฒเบเบเบฑเบš >=)

$test = 100
$test -ge 123

-lt

เบซเบ™เป‰เบญเบเบเบงเปˆเบฒ / เบซเบ™เป‰เบญเบ (เบ„เป‰เบฒเบเบเบฑเบš <)

$test = 100
$test -lt 123  

-เบเบฒเบ™

เปœเป‰เบญเบเบเบงเปˆเบฒ เบซเบผเบท เป€เบ—เบปเปˆเบฒเบเบฑเบ™ / เปœเป‰เบญเบเบเบงเปˆเบฒ เบซเบผเบท เป€เบ—เบปเปˆเบฒเบเบฑเบ™ (เบ„เป‰เบฒเบเบเบฑเบš <=)

$test = 100
$test -le 123

เบกเบตเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ wildcard เบซเบผเบทเปƒเบŠเป‰เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบดเป€เบžเบทเปˆเบญเบˆเบฑเบšเบ„เบนเปˆเบฎเบนเบšเปเบšเบš. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเบงเบกเป€เบญเบปเบฒเบžเบงเบเป€เบ‚เบปเบฒเบขเปˆเบฒเบ‡เบฅเบฐเบญเบฝเบ”เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”. เบชเบฑเบ™เบเบฒเบฅเบฑเบ <, > เปเบฅเบฐ = เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเบกเบฑเบ™เบ–เบทเบเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™.

เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบ

เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ = เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”, เบเบฑเบ‡เบกเบตเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเบญเบทเปˆเบ™เป†: +=, -=, *=, /= เปเบฅเบฐ %=. เบžเบงเบเป€เบ‚เบปเบฒเบ›เปˆเบฝเบ™เบกเบนเบ™เบ„เปˆเบฒเบเปˆเบญเบ™เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบ. เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ unary ++ เปเบฅเบฐ -, เป€เบŠเบดเปˆเบ‡เป€เบžเบตเปˆเบกเบซเบผเบทเบซเบผเบธเบ”เบฅเบปเบ‡เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ•เบปเบงเปเบ›, เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™ - เบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบ‡เปƒเบŠเป‰เบเบฑเบšเบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบ.

เบ•เบปเบง เบ”เบณ เป€เบ™เบตเบ™เป€เบซเบ”เบœเบปเบ™

เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบขเปˆเบฒเบ‡เบ”เบฝเบงเปเบกเปˆเบ™เบšเปเปˆเบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™: -and, -or, -xor, -not and!.. เบžเบงเบเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ„เบทเบเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบญเบทเปˆเบ™, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบงเบปเบ‡เป€เบฅเบฑเบšเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบœเบปเบ™:

("ะขะตัั‚" -eq "ะขะตัั‚") -and (100 -eq 100)

-not (123 -gt 321) 

!(123 -gt 321)

เป‚เบ”เบ”เบ•เบฒเบกเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚

เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบชเบฒเบ‚เบฒเปƒเบ™ PowerShell เปเบกเปˆเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™: IF(IFโ€ฆELSE, IFโ€ฆELSEIFโ€ฆELSE) เปเบฅเบฐ SWITCH. เปƒเบซเป‰โ€‹เป€เบšเบดเปˆเบ‡โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ‚เบญเบ‡โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ”เป‰เบงเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹:

[int]$test = 100
if ($test -eq 100) {
      Write-Host "test = 100"
}



[int]$test = 50
if ($test -eq 100) {
       Write-Host "test = 100"
}
else {
      Write-Host "test <> 100"
}



[int]$test = 10
if ($test -eq 100) {
      Write-Host "test = 100"
}
elseif ($test -gt 100) {
      Write-Host "test > 100"
}
else {
       Write-Host "test < 100"
}



[int]$test = 5
switch ($test) {
     0 {Write-Host "test = 0"}
     1 {Write-Host "test = 1"}
     2 {Write-Host "test = 2"}
     3 {Write-Host "test = 3"}
     4 {Write-Host "test = 4"}
     5 {Write-Host "test = 5"}
     default {Write-Host "test > 5 ะธะปะธ ะทะฝะฐั‡ะตะฝะธะต ะฝะต ะพะฟั€ะตะดะตะปะตะฝะพ"}
}

เบฎเบญเบšเบงเบฝเบ™

PowerShell เบกเบตเบซเบผเบฒเบเบŠเบฐเบ™เบดเบ”เบ‚เบญเบ‡ loops: WHILE, DO WHILE, DO UNTIL, FOR, เปเบฅเบฐ FOREACH.

loop เบ—เบตเปˆเบกเบต precondition เป€เบฎเบฑเบ”เบงเบฝเบเบ–เป‰เบฒ / เบ•เบฒเบšเปƒเบ”เบ—เบตเปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡:

[int]$test = 0
while ($test -lt 10) {
      Write-Host $test
      $test = $test + 1
}

Loops เบเบฑเบš postcondition เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป„เบ”เป‰เบ–เบทเบเบเบงเบ”เบชเบญเบšเบซเบผเบฑเบ‡เบˆเบฒเบ iteration. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, DO WHILE เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡, เปเบฅเบฐ DO เบˆเบปเบ™เบเปˆเบงเบฒเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบกเบฑเบ™เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡:

[int]$test = 0
do {
      Write-Host $test
      $test = $test + 1 
}
while ($test -lt 10)



[int]$test = 0
do {
      Write-Host $test
      $test = $test + 1 
}
until ($test -gt 9)

เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบŠเปเป‰เบฒเบ„เบทเบ™เบ‚เบญเบ‡ FOR loop เปเบกเปˆเบ™เบฎเบนเป‰เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ:

for ([int]$test = 0; $test -lt 10; $test++) {
       Write-Host $test
}

เปƒเบ™เบงเบปเบ‡ FOREACH, เบŠเป‰เบณเบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡ array เบซเบผเบท collection (hash table):

$test_collection = "item1", "item2", "item3"
foreach ($item in $test_collection)
{
        Write-Host $item
}

Arrays

เบ•เบปเบงเปเบ› PowerShell เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบงเบฑเบ”เบ–เบธเบ”เบฝเบง (เบˆเปเบฒเบ™เบงเบ™, เบชเบฐเบ•เบฃเบดเบ‡, เปเบฅเบฐเบญเบทเปˆเบ™เป†), เปเบ•เปˆเบเบฑเบ‡เบซเบผเบฒเบเบญเบฑเบ™. เบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™ arrays. array เบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบผเบฒเบเบญเบปเบ‡เบ›เบฐเบเบญเบš, เบญเบปเบ‡เบ›เบฐเบเบญเบšเบซเบ™เบถเปˆเบ‡, เบซเบผเบทเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ, i.e. เบšเปเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบš. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบเบฒเบ”เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ @() เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ› - เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบก array เบญเบทเปˆเบ™เปƒเบชเปˆ array (เบเบฒเบ™เบชเป‰เบฒเบ‡ array multidimensional), เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ” arrays เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™ argument, เปเบฅเบฐเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™:

$test_array = @() #ัะพะทะดะฐะตะผ ะฟัƒัั‚ะพะน ะผะฐััะธะฒ

เป€เบกเบทเปˆเบญ array เบ–เบทเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ” (เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบžเบดเป€เบชเบ” ,):

$test_array = @(1, 2, 3, 4) # ัะพะทะดะฐะตะผ ะผะฐััะธะฒ ะธะท ั‡ะตั‚ั‹ั€ะตั… ัะปะตะผะตะฝั‚ะพะฒ 

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”, เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ @() เบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบฐเป€เบงเบฑเป‰เบ™:

$test_array = 1, 2, 3, 4

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, array เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰

$test_array = , 1

เบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบฒเป€เบฃเบ–เบทเบเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเปƒเบŠเป‰เบ”เบฑเบ”เบŠเบฐเบ™เบตเบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเบชเบนเบ™ เปเบฅเบฐเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบต (เบงเบปเบ‡เป€เบฅเบฑเบšเบชเบตเปˆเบซเบผเปˆเบฝเบก):

$test_array[0] = 1

เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบ”เบฑเบ”โ€‹เบŠเบฐโ€‹เบ™เบตโ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เปเบเบโ€‹เบญเบญเบโ€‹เป‚เบ”เบโ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบซเบกเบฒเบโ€‹เบˆเบธเบ”โ€‹, เบฅเบงเบกโ€‹. เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบŠเป‰เบณ:

$test_array = "ะพะดะธะฝ", "ะดะฒะฐ", "ั‚ั€ะธ", "ั‡ะตั‚ั‹ั€ะต"
$test_array[0,1,2,3]
$test_array[1,1,3,3,0]

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™ .. (เบชเบญเบ‡เบˆเบธเบ” - range operator) เบชเบปเปˆเบ‡เบ„เบทเบ™ array เบ‚เบญเบ‡เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเบžเบฒเบเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เป€เบ—เบดเบ‡ เปเบฅเบฐเบฅเบธเปˆเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡, expression 1..4 outputs an array of four elements @(1, 2, 3, 4), and expression 8..5 outputs an array @(8, 7, 6, 5).

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ range operator, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ array ($test_array = 1..4) เบซเบผเบทเป„เบ”เป‰เบฎเบฑเบš slice (slice), i.e. เบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบˆเบฒเบ array เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเบ”เบฑเบ”เบŠเบฐเบ™เบตเบˆเบฒเบเบญเบทเปˆเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบ•เบปเบงเป€เบฅเบเบฅเบปเบš -1 เบชเบฐเปเบ”เบ‡เป€เบ–เบดเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบชเบธเบ”เบ—เป‰เบฒเบเบ‚เบญเบ‡เบญเบฒเป€เบฃ, -2 - เบญเบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบ, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

$test_array = "ะพะดะธะฝ", "ะดะฒะฐ", "ั‚ั€ะธ", "ั‡ะตั‚ั‹ั€ะต"
$test_array[0..2]
$test_array[2..0]
$test_array[-1..0]
$test_array[-2..1]

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ„เปˆเบฒ integer array เบชเบฒเบกเบฒเบ”เปƒเบซเบเปˆเบเบงเปˆเบฒเบ„เปˆเบฒเบ”เบฑเบ”เบŠเบฐเบ™เบตเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡ array เบ‚เปเป‰เบกเบนเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบ„เปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™เป€เบ–เบดเบ‡เบญเบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบ:

$test_array[0..100]

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš array เบ—เบตเปˆเบšเปเปˆเบกเบตเบขเบนเปˆเบญเบฑเบ™เบ”เบฝเบง, $null เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™.

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เปƒเบ™ PowerShell, arrays เบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบšเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ•เปˆเบฒเบ‡เป†เบซเบผเบทเบ–เบทเบเบžเบดเบกเบขเปˆเบฒเบ‡เปเบ‚เบ‡เปเบฎเบ‡:

$test_array = 1, 2, "ั‚ะตัั‚", 3, 4
for ([int]$i = 0; $i -lt $test_array.count; $i++)
{
          Write-Host $test_array[$i]
}

เบšเปˆเบญเบ™เบ—เบตเปˆเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” $test_array.count เปเบกเปˆเบ™เบˆเบณเบ™เบงเบ™เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบฒเป€เบฃ.

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡ array เบ—เบตเปˆเบžเบดเบกเบขเปˆเบฒเบ‡เปเบ‚เบ‡เปเบฎเบ‡:

[int[]]$test_array = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Hash

เบ›เบฐเป€เบžเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เบญเบทเปˆเบ™เบ‚เบญเบ‡เบ•เบปเบงเปเบ›เปƒเบ™เบžเบฒเบชเบฒ PowerShell เปเบกเปˆเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ hash, เป€เบŠเบดเปˆเบ‡เป€เบญเบตเป‰เบ™เบเบฑเบ™เบงเปˆเบฒ associative arrays. Hashtables เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบงเบฑเบ”เบ–เบธ JSON เปเบฅเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒ. เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบš arrays เบ—เปเบฒเบกเบฐเบ”เบฒ, เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™เบ–เบทเบเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเบ›เบธเปˆเบกเบ—เบตเปˆเบกเบตเบŠเบทเปˆ, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ (เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบต - เบงเบปเบ‡เป€เบฅเบฑเบšเบชเบตเปˆเบซเบผเปˆเบฝเบก).

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ hash เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเบ–เบทเบเบ›เบฐเบเบฒเบ”เป‚เบ”เบเปƒเบŠเป‰เบชเบฑเบ™เบเบฒเบฅเบฑเบ @ เปเบฅเบฐเบงเบปเบ‡เป€เบฅเบฑเบšเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™:

$test_hashtable = @{}

เป€เบกเบทเปˆเบญเบ›เบฐเบเบฒเบ”, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบเบฐเปเบˆเปƒเบ™เบ—เบฑเบ™เบ—เบตเปเบฅเบฐเบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒ:

$test_hashtable = @{one="ะพะดะธะฝ"; two="ะดะฒะฐ"; three="ั‚ั€ะธ"; "some key"="some value"}

เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบญเบปเบ‡เบ›เบฐเบเบญเบšเปƒเบชเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ hash, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเปเบฒเบ™เบปเบ”เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบกเบตเบขเบนเปˆเปƒเบ™เบกเบฑเบ™, เบซเบผเบทเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ Add (). เบ–เป‰เบฒเบกเบตเบเบฒเบ™เบกเบญเบšเปเบฒเบเปƒเบซเป‰เบเบฑเบšเบเบฐเปเบˆเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง, เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เบˆเบฐเบ›เปˆเบฝเบ™เปเบ›เบ‡. เบงเบดเบ—เบตเบเบฒเบ™ Remove() เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบญเบปเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบญเบเบˆเบฒเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ hash.

$test_hashtable."some key"
$test_hashtable["some key"]
$test_hashtable.Add("four", "ั‡ะตั‚ั‹ั€ะต")
$test_hashtable.five = "ะฟัั‚ัŒ"
$test_hashtable['five'] = "ะทะฐะผะตะฝัะตะผ ะทะฝะฐั‡ะตะฝะธะต"
$test_hashtable.Remove("one")

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ–เปˆเบฒเบเบ—เบญเบ”เป€เบ›เบฑเบ™เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆเปเบฅเบฐ cmdlets - เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบถเบเบชเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เป€เบฎเบฑเบ”, เปเบฅเบฐเบเบฑเบ‡เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบญเบตเบ - PSCustomObject .

เบŸเบฑเบ‡เบŠเบฑเบ™

PowerShell เบกเบตโ€‹เบ—เบธเบโ€‹เบชเบดเปˆเบ‡โ€‹เบ—เบธเบโ€‹เบขเปˆเบฒเบ‡โ€‹เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบเบฒเบ™โ€‹, เบฅเบงเบกโ€‹เบ—เบฑเบ‡โ€‹เบซเบ™เป‰เบฒโ€‹เบ—เบตเปˆโ€‹. เป€เบžเบทเปˆเบญเบญเบฐเบ—เบดเบšเบฒเบเบžเบงเบเบกเบฑเบ™, เบ„เปเบฒเบงเปˆเบฒ Function เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเบฐเบšเบธเบŠเบทเปˆเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเปเบฅเบฐเบฎเปˆเบฒเบ‡เบเบฒเบเบ—เบตเปˆเบ•เบดเบ”เบเบฑเบšเบงเบปเบ‡เป€เบฅเบฑเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡ arguments เป„เบ›เบซเบฒเบŸเบฑเบ‡เบŠเบฑเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบžเบงเบเบกเบฑเบ™เบ—เบฑเบ™เบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบŠเบทเปˆเปƒเบ™เบงเบปเบ‡เป€เบฅเบฑเบš.

function ะธะผั-ั„ัƒะฝะบั†ะธะธ (ะฐั€ะณัƒะผะตะฝั‚1, ..., ะฐั€ะณัƒะผะตะฝั‚N) 
{ 
        ั‚ะตะปะพ-ั„ัƒะฝะบั†ะธะธ 
} 

เบŸเบฑเบ‡เบŠเบฑเบ™เบˆเบฐเบชเบปเปˆเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบชเบฐเป€เบซเบกเบต - เบกเบฑเบ™เป€เบ›เบฑเบ™ array เบ‚เบญเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบกเบฑเบ™, เบ–เป‰เบฒเบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡. เบ–เป‰เบฒเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ—เบตเปˆ, เบ„เปˆเบฒเบ”เบฝเบงเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™. เบœเบปเบ™เบ•เบญเบšเปเบ—เบ™ $value construct เป€เบžเบตเปˆเบกเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบกเบตเบ„เปˆเบฒ $value เปƒเบซเป‰เบเบฑเบš array เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš เปเบฅเบฐเบเบปเบเป€เบฅเบตเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฒเบเบเบฒเบ™เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™, เปเบฅเบฐเบŸเบฑเบ‡เบŠเบฑเบ™เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเบˆเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™ $null.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ squaring เบ•เบปเบงเป€เบฅเบ:

function sqr ($number)
{
      return $number * $number
}

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›เปƒเบ”เป†เบ—เบตเปˆเบ›เบฐเบเบฒเบ”เป„เบงเป‰เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป‚เบ—เบซเบฒเบกเบฑเบ™, เปเบฅเบฐเบŸเบฑเบ‡เบŠเบฑเบ™เบเบฒเบ™เป€เบญเบตเป‰เบ™เปƒเบ™ PowerShell เบญเบฒเบ”เบˆเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด: เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ (เบ–เป‰เบฒเบกเบต) เบšเปเปˆเป„เบ”เป‰เบขเบนเปˆเปƒเบ™เบงเบปเบ‡เป€เบฅเบฑเบšเปเบฅเบฐเบ–เบทเบเปเบเบเบญเบญเบเป‚เบ”เบเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡.

sqr 2

เบซเบผเบทเป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

sqr -number 2

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเบดเบ—เบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ–เบทเบเบœเปˆเบฒเบ™, เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบŸเบฑเบ‡เบŠเบฑเบ™เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเบ›เบดเบ”เบขเบนเปˆเปƒเบ™เบงเบปเบ‡เป€เบฅเบฑเบš:

function test_func ($n) {}
test_func -eq $null     # ั„ัƒะฝะบั†ะธั ะฝะต ะฒั‹ะทั‹ะฒะฐะปะฐััŒ
(test_func) -eq $null   # ั€ะตะทัƒะปัŒั‚ะฐั‚ ะฒั‹ั€ะฐะถะตะฝะธั โ€” $true

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เป€เบกเบทเปˆเบญเบญเบฐเบ—เบดเบšเบฒเบเบŸเบฑเบ‡เบŠเบฑเบ™เปƒเบ”เปœเบถเปˆเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบณเบ™เบปเบ”เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบซเป‰เบเบฑเบš arguments:

function func ($arg = value) {
         #ั‚ะตะปะพ ั„ัƒะฝะบั†ะธะธ
}

เบกเบต syntax เบญเบทเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆ, เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เบˆเบฒเบเบ—เปเปˆ - เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›, เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบชเบปเปˆเบ‡เบญเบญเบเปเบฅเบฐเบชเป‰เบฒเบ‡ cmdlets เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡.

เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบœเบดเบ”เบžเบฒเบ”

PowerShell เบกเบต Try...Catch...เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบเบปเบ™เป„เบเป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™. เบšเบฅเบฑเบญเบเบฅเบญเบ‡เบกเบตเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบญเบฒเบ”เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ‚เบถเป‰เบ™, เปเบฅเบฐเบšเบฅเบฑเบญเบ Catch เบกเบตเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”, เบกเบฑเบ™เบˆเบฐเบšเปเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบšเบฅเบฑเบญเบเบชเบธเบ”เบ—เป‰เบฒเบเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบฅเบญเบ‡เบšเบฅเบฑเบญเบ, เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”, เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบกเบตเบซเบผเบฒเบเบ•เบฑเบ™ Catch เบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™. เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเบ•เบปเบงเปเบ›เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ›เบฐเบเบฒเบ” ($_) เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบ‡เปˆเบฒเบ. เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เปƒเบชเปˆเบ„เปˆเบฒเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡:

try {

        [int]$test = Read-Host "ะ’ะฒะตะดะธั‚ะต ั‡ะธัะปะพ"
        100 / $test

} catch {

         Write-Warning "ะะตะบะพั€ั€ะตะบั‚ะฝะพะต ั‡ะธัะปะพ"
         Write-Host $_

}

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เบ™เบตเป‰เบชเบฐเบซเบผเบธเบšเบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเปƒเบ™เบžเบฒเบชเบฒ PowerShell. เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบถเบเบชเบฒเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ•เปˆเบฒเบ‡เป†, เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก, เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบด, เบเบฒเบ™เบชเป‰เบฒเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆ, เป‚เบกเบ”เบนเบ™เปเบฅเบฐ cmdlets เบ—เบตเปˆเบเปเบฒเบซเบ™เบปเบ”เป€เบญเบ‡, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเปเบšเบšเบงเบฑเบ”เบ–เบธ.

Windows PowerShell เปเบกเปˆเบ™เบซเบเบฑเบ‡ เปเบฅเบฐเบกเบฑเบ™เบเบดเบ™เบเบฑเบšเบซเบเบฑเบ‡? เบžเบฒเบเบ—เบต 2: เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™