Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชชเชพเชตเชฐเชถเซ‡เชฒ เชˆเชจเซเชŸเชฐเชชเซเชฐเซ€เชŸเชฐ เชตเชฟเชจเซเชกเซ‹เชฎเชพเช‚ เช†เชฆเซ‡เชถเซ‹เชจเซเช‚ เชŸเซ‡เช•เซเชธเซเชŸ เช†เช‰เชŸเชชเซเชŸ เช เชฎเชพเชจเชตเซ€เชฏ เชงเชพเชฐเชฃเชพ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชเช• เชฐเซ€เชค เช›เซ‡. เช–เชฐเซ‡เช–เชฐ เชฌเซเชงเชตเชพเชฐ เชฒเช•เซเชทเซ€ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡: cmdlets เช…เชจเซ‡ เชซเช‚เช•เซเชถเชจเซเชธ เชคเซ‡เชฎเชจเซ‡ เช‡เชจเชชเซเชŸ เชคเชฐเซ€เช•เซ‡ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเชคเชพ เชชเชพเช›เชพ เชซเชฐเซเชฏเชพ, เช…เชจเซ‡ เช…เชฐเชธเชชเชฐเชธ เช…เชจเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เชšเชฒ เชชเซเชฐเช•เชพเชฐเซ‹ .NET เชตเชฐเซเช—เซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡. เชถเซเชฐเซ‡เชฃเซ€เชจเชพ เชšเซ‹เชฅเชพ เชฒเซ‡เช–เชฎเชพเช‚, เช†เชชเชฃเซ‡ เชตเชงเซ เชตเชฟเช—เชคเชตเชพเชฐ เชตเชธเซเชคเซเช“ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเซ€เชถเซเช‚.

เช‘เช—เซเชฒเซ‡เชตเชฒเซ‡เชจเชฟเช:

PowerShell เชฎเชพเช‚ เช“เชฌเซเชœเซ‡เช•เซเชŸเซ‹
เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซเช‚ เชฎเชพเชณเช–เซเช‚ เชœเซ‹เชตเซเช‚
เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เชชเชฆเชพเชฐเซเชฅเซ‹
เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซเช‚ เชตเชฐเซเช—เซ€เช•เชฐเชฃ
เชตเชธเซเชคเซเช“ เช…เชจเซ‡ เชคเซ‡เชฎเชจเชพ เชญเชพเช—เซ‹ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช
เชฆเชฐเซ‡เช•-เช‘เชฌเซเชœเซ‡เช•เซเชŸ, เช—เซเชฐเซเชช-เช‘เชฌเซเชœเซ‡เช•เซเชŸ เช…เชจเซ‡ เชฎเซ‡เชเชฐ-เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡
.NET เช…เชจเซ‡ COM เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเซเช‚ (เชจเชตเซเช‚-เช‘เชฌเซเชœเซ‡เช•เซเชŸ)
เช•เซ‰เชฒเชฟเช‚เช— เชธเซเชŸเซ‡เชŸเชฟเช• เชชเชฆเซเชงเชคเชฟเช“
PSCustomObject เชฒเช–เซ‹
เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชฌเชจเชพเชตเชตเชพ

PowerShell เชฎเชพเช‚ เช“เชฌเซเชœเซ‡เช•เซเชŸเซ‹

เชšเชพเชฒเซ‹ เชฏเชพเชฆ เช•เชฐเซ€เช เช•เซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เช เชกเซ‡เชŸเชพ เชซเซ€เชฒเซเชก (เช—เซเชฃเชงเชฐเซเชฎเซ‹, เช˜เชŸเชจเชพเช“, เชตเช—เซ‡เชฐเซ‡) เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชจเซ€ เชชเชฆเซเชงเชคเชฟเช“ (เชชเชฆเซเชงเชคเชฟเช“) เชจเซ‹ เชธเช‚เช—เซเชฐเชน เช›เซ‡. เชคเซ‡เชจเซเช‚ เชฎเชพเชณเช–เซเช‚ เชเช• เชชเซเชฐเช•เชพเชฐ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชเช•เซ€เช•เซƒเชค .NET เช•เซ‹เชฐ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เชตเชชเชฐเชพเชคเชพ เชตเชฐเซเช—เซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡. COM, CIM (WMI) เช…เชจเซ‡ ADSI เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชชเชฃ เชถเช•เซเชฏ เช›เซ‡. เชกเซ‡เชŸเชพ เชชเชฐ เชตเชฟเชตเชฟเชง เช•เซเชฐเชฟเชฏเชพเช“ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช…เชจเซ‡ เชชเชฆเซเชงเชคเชฟเช“ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡; เชตเชงเซเชฎเชพเช‚, เชชเชพเชตเชฐเชถเซ‡เชฒเชฎเชพเช‚, เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชซเช‚เช•เซเชถเชจเซเชธ เช…เชจเซ‡ cmdlets เชฎเชพเชŸเซ‡ เชฆเชฒเซ€เชฒเซ‹ เชคเชฐเซ€เช•เซ‡ เชชเชธเชพเชฐ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชคเซ‡เชฎเชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‡ เชšเชฒเซ‹เชจเซ‡ เชธเซ‹เช‚เชชเซ€ เชถเช•เชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชชเชฃ เช•เชฎเชพเชจเซเชก เช•เชฎเซเชชเซ‹เชเชฟเชถเชจ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ (เช•เชจเซเชตเซ‡เชฏเชฐ เช…เชฅเชตเชพ เชชเชพเช‡เชชเชฒเชพเช‡เชจ). เชชเชพเชˆเชชเชฒเชพเชˆเชจเชฎเชพเช‚ เชฆเชฐเซ‡เช• เช•เชฎเชพเชจเซเชก เชคเซ‡เชจเชพ เช†เช‰เชŸเชชเซเชŸเชจเซ‡ เชฌเชฆเชฒเชพเชฎเชพเช‚, เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชพเชฏ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเชธเชพเชฐ เช•เชฐเซ‡ เช›เซ‡. เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชธเช‚เช•เชฒเชฟเชค cmdlets เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชฆเซเชฏเชคเชจ เชธเซเชตเชฟเชงเชพเช“เชชเชพเชˆเชชเชฒเชพเชˆเชจเชฎเชพเช‚ เช“เชฌเซเชœเซ‡เช•เซเชŸเซ‹ เชธเชพเชฅเซ‡ เชตเชฟเชตเชฟเชง เชฎเซ‡เชจเซ€เชชเซเชฏเซเชฒเซ‡เชถเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡: เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช—, เชธเซ‰เชฐเซเชŸเชฟเช‚เช—, เช—เซเชฐเซ‚เชชเชฟเช‚เช— เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชฐเชšเชจเชพเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เชชเชฃ. เช† เชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชŸเซเชฐเชพเชจเซเชธเชฎเชฟเชŸ เช•เชฐเชตเชพเชจเซ‹ เช—เช‚เชญเซ€เชฐ เชซเชพเชฏเชฆเซ‹ เช›เซ‡: เชชเซเชฐเชพเชชเซเชค เช•เชฐเชจเชพเชฐ เชŸเซ€เชฎเชจเซ‡ เชฌเชพเชˆเชŸ เชธเซเชŸเซเชฐเซ€เชฎ (เชŸเซ‡เช•เซเชธเซเชŸ)เชจเซ‡ เชชเชพเชฐเซเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชฏเซ‹เช—เซเชฏ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช…เชจเซ‡ เชชเชฆเซเชงเชคเชฟเช“ เชชเชฐ เช•เซ‰เชฒ เช•เชฐเซ€เชจเซ‡ เชคเชฎเชพเชฎ เชœเชฐเซ‚เชฐเซ€ เชฎเชพเชนเชฟเชคเซ€ เชธเชฐเชณเชคเชพเชฅเซ€ เชฎเซ‡เชณเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซเช‚ เชฎเชพเชณเช–เซเช‚ เชœเซ‹เชตเซเช‚

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชšเชพเชฒเซ‹ เช—เซ‡เชŸ-เชชเซเชฐเซ‹เชธเซ‡เชธ cmdlet เชšเชฒเชพเชตเซ€เช, เชœเซ‡ เชคเชฎเชจเซ‡ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชšเชพเชฒเชคเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชตเชฟเชถเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡:

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชคเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชซเซ‹เชฐเซเชฎเซ‡เชŸ เช•เชฐเซ‡เชฒ เชŸเซ‡เช•เซเชธเซเชŸ เชกเซ‡เชŸเชพ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชถเซ‡ เชœเซ‡ เชชเชฐเชค เช•เชฐเชพเชฏเซ‡เชฒเซ€ เชตเชธเซเชคเซเช“เชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชชเชฆเซเชงเชคเชฟเช“ เชตเชฟเชถเซ‡ เช•เซ‹เชˆ เช–เซเชฏเชพเชฒ เช†เชชเชคเซเช‚ เชจเชฅเซ€. เช†เช‰เชŸเชชเซเชŸเชจเซ‡ เชซเชพเช‡เชจ-เชŸเซเชฏเซเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช†เชชเชฃเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเชพ เชฌเช‚เชงเชพเชฐเชฃเชจเซ€ เชคเชชเชพเชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ€ เชคเซ‡ เชถเซ€เช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชจเซ‡ Get-Member cmdlet เช…เชฎเชจเซ‡ เช†เชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเชถเซ‡:

Get-Process | Get-Member

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชชเซเชฐเช•เชพเชฐ เช…เชจเซ‡ เชฎเชพเชณเช–เซเช‚ เชœเซ‹เชˆ เชถเช•เซ€เช เช›เซ€เช, เช…เชจเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ€ เชฎเชฆเชฆเชฅเซ€ เช†เชชเชฃเซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช‡เชจเชชเซเชŸเชฎเชพเช‚ เชธเชฎเชพเชตเชฟเชทเซเชŸ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹เชจเซ‡ เชœ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช:

Get-Process | Get-Member -MemberType Property

เช† เชœเซเชžเชพเชจเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡ เชตเชนเซ€เชตเชŸเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเชฅเซ€ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡: เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฐเชฟเชธเซเชชเซ‹เชจเซเชกเชฟเช‚เช— เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชนเช‚เช— เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชตเชฟเชถเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡.

เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เชชเชฆเชพเชฐเซเชฅเซ‹

เชชเชพเชตเชฐเชถเซ‡เชฒ เชšเซ‹เช•เซเช•เชธ เชถเชฐเชคเชจเซ‡ เชชเซ‚เชฐเซเชฃ เช•เชฐเชคเซ€ เชตเชธเซเชคเซเช“เชจเซ‡ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชตเชพ เชฆเซ‡ เช›เซ‡:

Where-Object { ะฑะปะพะบ ัั†ะตะฝะฐั€ะธั }

เช•เซŒเช‚เชธเชจเซ€ เช…เช‚เชฆเชฐ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฌเซเชฒเซ‹เช• เชšเชฒเชพเชตเชตเชพเชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ เชฌเซเชฒเชฟเชฏเชจ เชฎเซ‚เชฒเซเชฏ เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡. เชœเซ‹ เชคเซ‡ เชธเชพเชšเซเช‚ ($true) เชนเซ‹เชฏ, เชคเซ‹ เชœเซเชฏเชพเช‚-เช‘เชฌเซเชœเซ‡เช•เซเชŸ cmdlet เชชเชฐ เช‡เชจเชชเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเชพเช‡เชชเชฒเชพเช‡เชจ เชธเชพเชฅเซ‡ เชชเชธเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เช…เชจเซเชฏเชฅเชพ ($false) เชคเซ‡ โ€‹โ€‹เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชšเชพเชฒเซ‹ เชฌเช‚เชง เชตเชฟเชจเซเชกเซ‹เช เชธเชฐเซเชตเชฐ เชธเซ‡เชตเชพเช“เชจเซ€ เชธเซ‚เชšเชฟ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเซ€เช, เชเชŸเชฒเซ‡ เช•เซ‡. เชœเซ‡เชฎเชจเซ€ เชธเซเชŸเซ‡เชŸเชธ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ "เชธเซเชŸเซ‹เชชเซเชก" เชชเชฐ เชธเซ‡เชŸ เช›เซ‡:

Get-Service | Where-Object {$_.Status -eq "Stopped"}

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เช…เชนเซ€เช‚ เชซเชฐเซ€เชฅเซ€ เช†เชชเชฃเซ‡ เชŸเซ‡เช•เซเชธเซเชŸเชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต เชœเซ‹เชˆเช เช›เซ€เช, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเซ‡ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชคเซ€ เชตเชธเซเชคเซเช“เชจเชพ เชชเซเชฐเช•เชพเชฐ เช…เชจเซ‡ เช†เช‚เชคเชฐเชฟเช• เชฌเช‚เชงเชพเชฐเชฃเชจเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹เชต เชคเซ‹ เชคเซ‡ เชฎเซเชถเซเช•เซ‡เชฒ เชจเชฅเซ€:

Get-Service | Where-Object {$_.Status -eq "Stopped"} | Get-Member

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซเช‚ เชตเชฐเซเช—เซ€เช•เชฐเชฃ

เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ€ เชชเชพเช‡เชชเชฒเชพเช‡เชจ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เช˜เชฃเซ€เชตเชพเชฐ เชคเซ‡เชฎเชจเซ‡ เชธเซ‰เชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ‡ เช›เซ‡. เชธเซ‰เชฐเซเชŸ-เช‘เชฌเซเชœเซ‡เช•เซเชŸ cmdlet เชจเซ‡ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เชเชจเชพ เชจเชพเชฎเซ‹ (เชธเซ‰เชฐเซเชŸเชฟเช‚เช— เช•เซ€) เชชเชธเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชคเซ‡เชฎเชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เชฆเซเชตเชพเชฐเชพ เช•เซเชฐเชฎเชพเช‚เช•เชฟเชค เช•เชฐเซ‡ เช›เซ‡. CPU เชธเชฎเชฏ (cpu เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€) เชฆเซเชตเชพเชฐเชพ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเชพ เช†เช‰เชŸเชชเซเชŸเชจเซ‡ เชธเซ‰เชฐเซเชŸ เช•เชฐเชตเซเช‚ เชธเชฐเชณ เช›เซ‡:

Get-Process | Sort-Object โ€“Property cpu

เชธเซ‰เชฐเซเชŸ-เช‘เชฌเซเชœเซ‡เช•เซเชŸ cmdlet เช•เซ‰เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ -เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เชชเชฐเชฟเชฎเชพเชฃ เช…เชตเช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชถเช•เซ‡ เช›เซ‡; เชคเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡. เชฐเชฟเชตเชฐเซเชธ เชธเซ‹เชฐเซเชŸเชฟเช‚เช— เชฎเชพเชŸเซ‡, -Descending เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹:

Get-Process | Sort-Object cpu -Descending

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชตเชธเซเชคเซเช“ เช…เชจเซ‡ เชคเซ‡เชฎเชจเชพ เชญเชพเช—เซ‹ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชธเชฟเชฒเซ‡เช•เซเชŸ-เช“เชฌเซเชœเซ‡เช•เซเชŸ cmdlet เชคเชฎเชจเซ‡ -First เช…เชฅเชตเชพ -Last เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เช…เชฅเชตเชพ เช…เช‚เชคเชฎเชพเช‚ เชšเซ‹เช•เซเช•เชธ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฆเซ‡ เช›เซ‡. เชคเซ‡เชจเซ€ เชฎเชฆเชฆเชฅเซ€ เชคเชฎเซ‡ เชเช•เชฒ เช“เชฌเซเชœเซ‡เช•เซเชŸ เช…เชฅเชตเชพ เช…เชฎเซเช• เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เช เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเชพ เช†เชงเชพเชฐเซ‡ เชจเชตเชพ เช“เชฌเซเชœเซ‡เช•เซเชŸ เชชเชฃ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡ เชธเชฐเชณ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ cmdlet เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡.

เชจเซ€เชšเซ‡เชจเซ‹ เช†เชฆเซ‡เชถ เชฎเชนเชคเซเชคเชฎ RAM (WS เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€)เชจเซ‹ เชตเชชเชฐเชพเชถ เช•เชฐเชคเซ€ 10 เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡:

Get-Process | Sort-Object WS -Descending | Select-Object -First 10

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชคเชฎเซ‡ เชชเชพเชˆเชชเชฒเชพเชˆเชจเชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชคเชพ เช“เชฌเซเชœเซ‡เช•เซเชŸเชจเชพ เช…เชฎเซเช• เชšเซ‹เช•เซเช•เชธ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเชพ เช†เชงเชพเชฐเซ‡ เชจเชตเชพ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹:

Get-Process | Select-Object ProcessName, Id -First 1

เชชเชพเช‡เชชเชฒเชพเช‡เชจเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เชฎเชจเซ‡ เชเช• เชจเชตเซ‹ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ‡, เชœเซ‡เชจเซเช‚ เชฎเชพเชณเช–เซเช‚ เช—เซ‡เชŸ-เชชเซเชฐเซ‹เชธเซ‡เชธ cmdlet เชฆเซเชตเชพเชฐเชพ เชชเชฐเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเชพ เชฎเชพเชณเช–เชพเชฅเซ€ เช…เชฒเช— เชนเชถเซ‡. เชšเชพเชฒเซ‹ เช—เซ‡เชŸ-เชฎเซ‡เชฎเซเชฌเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช†เชจเซ€ เชšเช•เชพเชธเชฃเซ€ เช•เชฐเซ€เช:

Get-Process | Select-Object ProcessName, Id -First 1 | Get-Member

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เชธเชฟเชฒเซ‡เช•เซเชŸ-เช“เชฌเซเชœเซ‡เช•เซเชŸ เชเช• เชœ เช‘เชฌเซเชœเซ‡เช•เซเชŸ (-เชชเซเชฐเชฅเชฎ 1) เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช…เชฎเซ‡ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชซเซ€เชฒเซเชกเชฎเชพเช‚เชฅเซ€ เชฎเชพเชคเซเชฐ เชฌเซ‡ เชœ เชนเซ‹เชฏ โ€‹โ€‹เช›เซ‡: เชคเซ‡เชฎเชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เช—เซ‡เชŸ-เชชเซเชฐเซ‹เชธเซ‡เชธ cmdlet เชฆเซเชตเชพเชฐเชพ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชฎเชพเช‚ เชชเชธเชพเชฐ เช•เชฐเชพเชฏเซ‡เชฒ เชชเซเชฐเชฅเชฎ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฎเชพเช‚เชฅเซ€ เช•เซ‰เชชเชฟ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ. PowerShell เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธเชฎเชพเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชเช• เชฐเซ€เชค เชธเชฟเชฒเซ‡เช•เซเชŸ-เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเชพ เช‰เชชเชฏเซ‹เช— เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡:

$obj = Get-Process | Select-Object ProcessName, Id -First 1
$obj.GetType()

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชธเชฟเชฒเซ‡เช•เซเชŸ-เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชคเชฎเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡เชฒ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชœเซ‡เชจเซ‡ เชฐเชœเซ‚ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชนเซ‡เชถ เช•เซ‹เชทเซเชŸเช•เซ‹. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเซ‡เชจเซ€ เชชเซเชฐเชฅเชฎ เช•เซ€เชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชฎเชฟเชฒเช•เชคเชจเชพ เชจเชพเชฎเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช›เซ‡, เช…เชจเซ‡ เชฌเซ€เชœเซ€ เช•เซ€เชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชตเชฐเซเชคเชฎเชพเชจ เชชเชพเช‡เชชเชฒเชพเช‡เชจ เชคเชคเซเชต เชฎเชพเชŸเซ‡ เชฎเชฟเชฒเช•เชค เชฎเซ‚เชฒเซเชฏเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช›เซ‡:

Get-Process | Select-Object -Property ProcessName, @{Name="StartTime"; Expression = {$_.StartTime.Minute}}

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชšเชพเชฒเซ‹ เช•เชจเซเชตเซ‡เชฏเชฐเชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชคเซ€ เชตเชธเซเชคเซเช“เชจเซ€ เชฐเชšเชจเชพ เชœเซ‹เชˆเช:

Get-Process | Select-Object -Property ProcessName, @{Name="StartTime"; Expression = {$_.StartTime.Minute}} | Get-Member

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชฆเชฐเซ‡เช•-เช‘เชฌเซเชœเซ‡เช•เซเชŸ, เช—เซเชฐเซเชช-เช‘เชฌเซเชœเซ‡เช•เซเชŸ เช…เชจเซ‡ เชฎเซ‡เชเชฐ-เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡

เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเชฏ cmdlets เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชšเชพเชฒเซ‹ เชคเซเชฐเชฃ เชธเซŒเชฅเซ€ เช‰เชชเชฏเซ‹เช—เซ€ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เช:

เชฆเชฐเซ‡เช•-เช“เชฌเซเชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เชคเชฎเชจเซ‡ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชฎเชพเช‚เชจเชพ เชฆเชฐเซ‡เช• เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เชชเชพเชตเชฐเชถเซ‡เชฒ เช•เซ‹เชก เชšเชฒเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡:

ForEach-Object { ะฑะปะพะบ ัั†ะตะฝะฐั€ะธั }

เชœเซ‚เชฅ-เช“เชฌเซเชœเซ‡เช•เซเชŸ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เชตเซ‡เชฒเซเชฏเซ เชฆเซเชตเชพเชฐเชพ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชœเซ‚เชฅเชฌเชฆเซเชง เช•เชฐเซ‹:

Group-Object PropertyName

เชœเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ -NoElement เชชเชฐเชฟเชฎเชพเชฃ เชธเชพเชฅเซ‡ เชšเชฒเชพเชตเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชœเซ‚เชฅเซ‹เชฎเชพเช‚ เช˜เชŸเช•เซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹.

เชฎเซ‡เชเชฐ-เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชฎเชพเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชซเซ€เชฒเซเชก เชฎเซ‚เชฒเซเชฏเซ‹ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชตเชฟเชง เชธเชพเชฐเชพเช‚เชถ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเซ‡ เช›เซ‡ (เชธเชฐเชตเชพเชณเชพเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชฒเช˜เซเชคเซเชคเชฎ, เชฎเชนเชคเซเชคเชฎ เช…เชฅเชตเชพ เชธเชฐเซ‡เชฐเชพเชถ เชฎเซ‚เชฒเซเชฏ เชชเชฃ เชถเซ‹เชงเซ‡ เช›เซ‡):

Measure-Object -Property PropertyName -Minimum -Maximum -Average -Sum

เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชšเชฐเซเชšเชพ เช•เชฐเชพเชฏเซ‡เชฒเชพ cmdletsเชจเซ‹ เช…เชฐเชธเชชเชฐเชธ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช•เชพเชฐเซเชฏเซ‹ เชฌเชฟเช—เซ€เชจ, เชชเซเชฐเซ‹เชธเซ‡เชธ เช…เชจเซ‡ เชเชจเซเชก เชฌเซเชฒเซ‹เช•เซเชธ เชธเชพเชฅเซ‡.

.NET เช…เชจเซ‡ COM เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเซเช‚ (เชจเชตเซเช‚-เช‘เชฌเซเชœเซ‡เช•เซเชŸ)

.NET เช•เซ‹เชฐ เช…เชจเซ‡ COM เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เชธเชพเชฅเซ‡ เช˜เชฃเชพ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เช˜เชŸเช•เซ‹ เช›เซ‡ เชœเซ‡ เชธเชฟเชธเซเชŸเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐเซเชธ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡. System.Diagnostics.EventLog เชตเชฐเซเช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชคเชฎเซ‡ Windows PowerShell เชฅเซ€ เชธเซ€เชงเชพ เชœ เชธเชฟเชธเซเชŸเชฎ เชฒเซ‹เช—เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชšเชพเชฒเซ‹ -TypeName เชชเชฐเชฟเชฎเชพเชฃ เชธเชพเชฅเซ‡ New-Object cmdlet เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เชตเชฐเซเช—เชจเซ‹ เชฆเชพเช–เชฒเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชœเซ‹เชˆเช:

New-Object -TypeName System.Diagnostics.EventLog

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เช…เชฎเซ‡ เชšเซ‹เช•เซเช•เชธ เช‡เชตเซ‡เชจเซเชŸ เชฒเซ‹เช—เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซเชฏเซ‹ เชจ เชนเซ‹เชตเชพเชฅเซ€, เชตเชฐเซเช—เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ€ เชฆเชพเช–เชฒเชพเชฎเชพเช‚ เช•เซ‹เชˆ เชกเซ‡เชŸเชพ เชจเชฅเซ€. เช†เชจเซ‡ เชฌเชฆเชฒเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ -ArgumentList เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ€ เชฌเชจเชพเชตเชŸ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช–เชพเชธ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐ เชชเชฆเซเชงเชคเชฟเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชœเซ‹ เช†เชชเชฃเซ‡ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชฒเซ‹เช—เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช, เชคเซ‹ เช†เชชเชฃเซ‡ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐเชจเซ‡ เชฆเชฒเซ€เชฒ เชคเชฐเซ€เช•เซ‡ "เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ" เชถเชฌเซเชฆเชฎเชพเชณเชพ เชชเชพเชธ เช•เชฐเชตเซ€ เชœเซ‹เชˆเช:

$AppLog = New-Object -TypeName System.Diagnostics.EventLog -ArgumentList Application
$AppLog

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช…เชฎเซ‡ เช†เชฆเซ‡เชถเชจเซเช‚ เช†เช‰เชŸเชชเซเชŸ $AppLog เชตเซ‡เชฐเซ€เชเชฌเชฒเชฎเชพเช‚ เชธเชพเชšเชตเซเชฏเซเช‚ เช›เซ‡. เชœเซ‹เช•เซ‡ เชชเชพเช‡เชชเชฒเชพเช‡เชจเซเชธเชจเซ‹ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช‡เชจเซเชŸเชฐเซ‡เช•เซเชŸเชฟเชต เชฎเซ‹เชกเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡, เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชœเชพเชณเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ‡ เช›เซ‡. เชตเชงเซเชฎเชพเช‚, เช•เซ‹เชฐ .NET เช•เซ‹เชฐ เชตเชฐเซเช—เซ‹ เชธเชฟเชธเซเชŸเชฎ เชจเซ‡เชฎเชธเซเชชเซ‡เชธเชฎเชพเช‚ เชธเชฎเชพเชฏเซ‡เชฒ เช›เซ‡: เชชเชพเชตเชฐเชถเซ‡เชฒ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชคเซ‡เชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชชเซเชฐเช•เชพเชฐเซ‹ เชฎเชพเชŸเซ‡ เชœเซเช เช›เซ‡, เชคเซ‡เชฅเซ€ System.Diagnostics.EventLog เชจเซ‡ เชฌเชฆเชฒเซ‡ Diagnostics.EventLog เชฒเช–เชตเซเช‚ เชเช•เชฆเชฎ เชธเชพเชšเซเช‚ เช›เซ‡.

เชฒเซ‹เช— เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชฏเซ‹เช—เซเชฏ เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

$AppLog | Get-Member -MemberType Method

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชœเซ‹ เชเช•เซเชธเซ‡เชธ เช…เชงเชฟเช•เชพเชฐเซ‹ เชนเซ‹เชฏ เชคเซ‹ เชคเซ‡ Clear() เชชเชฆเซเชงเชคเชฟ เชฆเซเชตเชพเชฐเชพ เชธเชพเชซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

$AppLog.Clear()

New-Object cmdlet เชจเซ‹ เช‰เชชเชฏเซ‹เช— COM เช˜เชŸเช•เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฃ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡เชฎเชพเช‚เชจเชพ เช˜เชฃเชพ เชฌเชงเชพ เช›เซ‡ - เชตเชฟเชจเซเชกเซ‹เช เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชฅเซ€ เชฒเชˆเชจเซ‡ เชเช•เซเชŸเชฟเชตเชเช•เซเชธ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ, เชœเซ‡เชฎ เช•เซ‡ เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชเช•เซเชธเชชเซเชฒเซ‹เชฐเชฐ. COM เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เช‡เชšเซเช›เชฟเชค เชตเชฐเซเช—เชจเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซ‡เชŸเชฟเช• ProgId เชธเชพเชฅเซ‡ -ComObject เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

New-Object -ComObject WScript.Shell
New-Object -ComObject WScript.Network
New-Object -ComObject Scripting.Dictionary
New-Object -ComObject Scripting.FileSystemObject

เชฎเชจเชธเซเชตเซ€ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชธเชพเชฅเซ‡ เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชจเซเชฏเซ‚-เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช–เซ‚เชฌ เชœ เช…เชฐเซเชตเชพเชšเซ€เชจ เช…เชจเซ‡ เชฌเซ‹เชœเชพเชฐเซ‚เชช เชฒเชพเช—เซ‡ เช›เซ‡; เช† cmdlet เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชชเชพเชตเชฐเชถเซ‡เชฒเชจเซ€ เชฌเชนเชพเชฐเชจเชพ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เช˜เชŸเช•เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชญเชตเชฟเชทเซเชฏเชจเชพ เชฒเซ‡เช–เซ‹เชฎเชพเช‚ เช† เชฎเซเชฆเซเชฆเชพเชจเซ€ เชตเชงเซ เชตเชฟเช—เชคเชตเชพเชฐ เชšเชฐเซเชšเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. .NET เช…เชจเซ‡ COM เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เช‰เชชเชฐเชพเช‚เชค, เช…เชฎเซ‡ CIM (WMI) เช…เชจเซ‡ ADSI เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซเช‚ เชชเชฃ เช…เชจเซเชตเซ‡เชทเชฃ เช•เชฐเซ€เชถเซเช‚.

เช•เซ‰เชฒเชฟเช‚เช— เชธเซเชŸเซ‡เชŸเชฟเช• เชชเชฆเซเชงเชคเชฟเช“

เช•เซ‡เชŸเชฒเชพเช• .NET เช•เซ‹เชฐ เชตเชฐเซเช—เซ‹ เชถเชฐเซ‚ เช•เชฐเซ€ เชถเช•เชพเชคเชพ เชจเชฅเซ€, เชœเซ‡เชฎเชพเช‚ System.Environment เช…เชจเซ‡ System.Mathเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡เช“ เช›เซ‡ เชธเซเชฅเชฟเชฐ เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชธเซเชฅเชฟเชฐ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช…เชจเซ‡ เชชเชฆเซเชงเชคเชฟเช“ เชธเชฎเชพเชตเซ‡ เช›เซ‡. เช† เช…เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ‡ เชธเช‚เชฆเชฐเซเชญ เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹ เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซเชฏเชพ เชตเชฟเชจเชพ เชฅเชพเชฏ เช›เซ‡. เชคเชฎเซ‡ เชšเซ‹เชฐเชธ เช•เซŒเช‚เชธเชฎเชพเช‚ เชชเซเชฐเช•เชพเชฐเชจเซเช‚ เชจเชพเชฎ เชฌเช‚เชง เช•เชฐเซ€เชจเซ‡ เชถเชพเชฌเซเชฆเชฟเช• เชฆเซเชตเชพเชฐเชพ เชธเซเชฅเชฟเชฐ เชตเชฐเซเช—เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชฒเชˆ เชถเช•เซ‹ เช›เซ‹. เชœเซ‹ เช•เซ‡, เชœเซ‹ เช†เชชเชฃเซ‡ Get-Member เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ€ เชฐเชšเชจเชพ เชœเซ‹เชˆเช, เชคเซ‹ เช†เชชเชฃเชจเซ‡ System.Environment เชจเซ‡ เชฌเชฆเชฒเซ‡ System.RuntimeType เชŸเชพเชˆเชช เชฆเซ‡เช–เชพเชถเซ‡.

[System.Environment] | Get-Member

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชฎเชพเชคเซเชฐ เชธเซเชฅเชฟเชฐ เชธเชญเซเชฏเซ‹เชจเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡, เช—เซ‡เชŸ-เชฎเซ‡เชฎเซเชฌเชฐเชจเซ‡ -เชธเซเชŸเซ‡เชŸเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ เชธเชพเชฅเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‹ (เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ‹ เชชเซเชฐเช•เชพเชฐ เชจเซ‹เช‚เชงเซ‹):

[System.Environment] | Get-Member -Static

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชธเซเชฅเชฟเชฐ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช…เชจเซ‡ เชชเชฆเซเชงเชคเชฟเช“เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชถเชพเชฌเซเชฆเชฟเช• เชชเช›เซ€เชจเชพ เชธเชฎเชฏเช—เชพเชณเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชธเชคเชค เชฌเซ‡ เช•เซ‹เชฒเซ‹เชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹:

[System.Environment]::OSVersion

เช…เชฅเชตเชพ

$test=[System.Math]::Sqrt(25) 
$test
$test.GetType()

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

PSCustomObject เชฒเช–เซ‹

PowerShell เชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เช…เชธเช‚เช–เซเชฏ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชชเซˆเช•เซ€, PSCustomObject เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเซ‹ เชฏเซ‹เช—เซเชฏ เช›เซ‡, เชœเซ‡ เชฎเชจเชธเซเชตเซ€ เชฌเช‚เชงเชพเชฐเชฃ เชธเชพเชฅเซ‡ เชตเชธเซเชคเซเช“เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡. เชจเซเชฏเซ‚-เช‘เชฌเซเชœเซ‡เช•เซเชŸ cmdlet เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช†เชตเชพ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพเชจเซ‡ เช•เซเชฒเชพเชธเชฟเช• เช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฌเซ‹เชœเชพเชฐเซ‚เชช เช…เชจเซ‡ เชœเซ‚เชจเซ€ เชฐเซ€เชค:

$object = New-Object  โ€“TypeName PSCustomObject -Property @{Name = 'Ivan Danko'; 
                                          City = 'Moscow';
                                          Country = 'Russia'}

เชšเชพเชฒเซ‹ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ€ เชฐเชšเชจเชพ เชœเซ‹เชˆเช:

$object | Get-Member

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชชเชพเชตเชฐเชถเซ‡เชฒ 3.0 เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡, เช…เชจเซเชฏ เชธเชฟเชจเซเชŸเซ‡เช•เซเชธ เช‰เชชเชฒเชฌเซเชง เช›เซ‡:

$object = [PSCustomObject]@{Name = 'Ivan Danko'; 
                                          City = 'Moscow';
                                          Country = 'Russia'
}

เชคเชฎเซ‡ เชธเชฎเชพเชจ เชฐเซ€เชคเซ‡ เชกเซ‡เชŸเชพเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

$object.Name

$object.'Name'

$value = 'Name'
$object.$value

เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚เชจเชพ เชนเซ‡เชถเชŸเซ‡เชฌเชฒเชจเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เช…เชนเซ€เช‚ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡:

$hash = @{'Name'='Ivan Danko'; 'City'='Moscow'; 'Country'='Russia'}
$hash.GetType()
$object = [pscustomobject]$hash
$object.GetType()

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เช† เชชเซเชฐเช•เชพเชฐเชจเซ€ เชตเชธเซเชคเซเช“เชจเซ‹ เชเช• เช—เซ‡เชฐเชฒเชพเชญ เช เช›เซ‡ เช•เซ‡ เชคเซ‡เชฎเชจเซ€ เชฎเชฟเชฒเช•เชคเซ‹เชจเซ‹ เช•เซเชฐเชฎ เชฌเชฆเชฒเชพเชˆ เชถเช•เซ‡ เช›เซ‡. เช†เชจเซ‡ เช…เชตเช—เชฃเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ [เช“เชฐเซเชกเชฐ เช•เชฐเซ‡เชฒ] เชตเชฟเชถเซ‡เชทเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช†เชตเชถเซเชฏเช• เช›เซ‡:

$object = [PSCustomObject][ordered]@{Name = 'Ivan Danko'; 
                                          City = 'Moscow';
                                          Country = 'Russia'
}

เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเชฏ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡: เช‰เชชเชฐ เช†เชชเชฃเซ‡ cmdlet เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเซ‹เชฏเซเช‚ Selectเชฌเซเชœเซ‡เช•เซเชŸ เชชเชธเช‚เชฆ เช•เชฐเซ‹. เชœเซ‡ เชฌเชพเช•เซ€ เช›เซ‡ เชคเซ‡ เชคเชคเซเชตเซ‹ เช‰เชฎเซ‡เชฐเชตเชพ เช…เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡. เช…เช—เชพเช‰เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚เชฅเซ€ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เช† เช•เชฐเชตเชพเชจเซเช‚ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡:

$object | Add-Member โ€“MemberType NoteProperty โ€“Name Age  โ€“Value 33
$object | Get-Member

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

Add-Member cmdlet เชคเชฎเชจเซ‡ "-MemberType ScriptMethod" เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เช—เชพเช‰ เชฌเชจเชพเชตเซ‡เชฒ $object เชฎเชพเช‚ เชฎเชพเชคเซเชฐ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เช เชœ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชชเชฆเซเชงเชคเชฟเช“ เชชเชฃ เช‰เชฎเซ‡เชฐเชตเชพ เชฆเซ‡ เช›เซ‡:

$ScriptBlock = {
    # ะบะพะด 
}
$object | Add-Member -Name "MyMethod" -MemberType ScriptMethod -Value $ScriptBlock
$object | Get-Member

เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช…เชฎเซ‡ เชจเชตเซ€ เชชเชฆเซเชงเชคเชฟ เชฎเชพเชŸเซ‡ เช•เซ‹เชก เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ ScriptBlock เชชเซเชฐเช•เชพเชฐเชจเชพ $ScriptBlock เชตเซ‡เชฐเซ€เชเชฌเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เช›เซ‡.

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เช—เซเชฃเชงเชฐเซเชฎเซ‹เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชจเซเชฐเซ‚เชช เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹:

$object.psobject.properties.remove('Name')

เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชฌเชจเชพเชตเชตเชพ

เชชเชพเชตเชฐเชถเซ‡เชฒ 5.0 เช เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชฐเชœเซ‚ เช•เชฐเซ€ เช—เซเชฐเซ‡เชก เช‘เชฌเซเชœเซ‡เช•เซเชŸ-เช“เชฐเชฟเชเชจเซเชŸเซ‡เชก เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเช“เชจเซ€ เชธเชฟเชจเซเชŸเซ‡เช•เซเชธ เชฒเชพเช•เซเชทเชฃเชฟเช•เชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡. เชธเซ‡เชตเชพ เชถเชฌเซเชฆ เชตเชฐเซเช— เช† เชฎเชพเชŸเซ‡ เชฌเชจเชพเชตเชพเชฏเซ‡เชฒ เช›เซ‡, เชคเซ‡ เชชเช›เซ€ เชคเชฎเชพเชฐเซ‡ เชตเชฐเซเช—เชจเซเช‚ เชจเชพเชฎ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฎเซเช–เซเชฏ เชญเชพเช—เชจเซเช‚ เช“เชชเชฐเซ‡เชŸเชฐ เช•เซŒเช‚เชธเชฎเชพเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช:

class MyClass
{
    # ั‚ะตะปะพ ะบะปะฐััะฐ
}

เช† เชเช• เชธเชพเชšเซ‹ .NET เช•เซ‹เชฐ เชชเซเชฐเช•เชพเชฐ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชคเซ‡เชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹, เชชเชฆเซเชงเชคเชฟเช“ เช…เชจเซ‡ เช…เชจเซเชฏ เช˜เชŸเช•เซ‹เชจเซเช‚ เชตเชฐเซเชฃเชจ เช›เซ‡. เชšเชพเชฒเซ‹ เชธเซŒเชฅเซ€ เชธเชฐเชณ เชตเชฐเซเช—เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ‡ เชœเซ‹เชˆเช:

class MyClass 
{
     [string]$Name
     [string]$City
     [string]$Country
}

เช‘เชฌเซเชœเซ‡เช•เซเชŸ (เชตเชฐเซเช— เช‰เชฆเชพเชนเชฐเชฃ) เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, cmdlet เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เชจเชตเซ€-เช“เชฌเซเชœเซ‡เช•เซเชŸ, เช…เชฅเชตเชพ เชถเชพเชฌเซเชฆเชฟเช• เชชเซเชฐเช•เชพเชฐเชจเซเช‚ [MyClass] เช…เชจเซ‡ เชธเซเชฏเซเชกเซ‹เชธเซเชŸเซ‡เชŸเชฟเช• เชชเชฆเซเชงเชคเชฟ เชจเชตเซเช‚ (เชกเชฟเชซเซ‰เชฒเซเชŸ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐ):

$object = New-Object -TypeName MyClass

เช…เชฅเชตเชพ

$object = [MyClass]::new()

เชšเชพเชฒเซ‹ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ€ เชฐเชšเชจเชพเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ€เช:

$object | Get-Member

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เช…เชตเช•เชพเชถ เชตเชฟเชถเซ‡ เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚: เชคเชฎเซ‡ เชธเซเชŸเซเชฐเซ€เช‚เช— เชคเชฐเซ€เช•เซ‡ เชชเซเชฐเช•เชพเชฐ เชจเชพเชฎเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ เช…เชฅเชตเชพ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช…เชฅเชตเชพ เชฎเซ‹เชกเซเชฏเซเชฒเชจเซ€ เชฌเชนเชพเชฐ เช•เซ‡ เชœเซ‡เชฎเชพเช‚ เชตเชฐเซเช— เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ เชคเซ‡ เชชเซเชฐเช•เชพเชฐเชจเซ‹ เชถเชพเชฌเซเชฆเชฟเช• เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชซเช‚เช•เซเชถเชจเซเชธ เช•เซเชฒเชพเชธ เช‡เชจเซเชธเซเชŸเชจเซเชธ (เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ) เชชเชฐเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เชฎเซ‹เชกเซเชฏเซเชฒ เช…เชฅเชตเชพ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ€ เชฌเชนเชพเชฐ เชเช•เซเชธเซ‡เชธเชฟเชฌเชฒ เชนเชถเซ‡.

เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซเชฏเชพ เชชเช›เซ€, เชคเซ‡เชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชญเชฐเซ‹:

$object.Name = 'Ivan Danko'
$object.City = 'Moscow'
$object.Country = 'Russia'
$object

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เชตเชฐเซเช— เชตเชฐเซเชฃเชจ เชฎเชพเชคเซเชฐ เชฎเชฟเชฒเช•เชคเชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ‡ เชœ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชจเชพ เชฎเซ‚เชณเชญเซ‚เชค เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‡ เชชเชฃ เชธเซเชชเชทเซเชŸ เช•เชฐเซ‡ เช›เซ‡:

class Example
{
     [string]$Name = 'John Doe'
}

เชตเชฐเซเช— เชชเชฆเซเชงเชคเชฟเชจเซเช‚ เชตเชฐเซเชฃเชจ เชซเช‚เช•เซเชถเชจเชจเชพ เชตเชฐเซเชฃเชจ เชœเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชซเช‚เช•เซเชถเชจ เชถเชฌเซเชฆเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ. เชซเช‚เช•เซเชถเชจเชจเซ€ เชœเซ‡เชฎ, เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‡ เชชเชฆเซเชงเชคเชฟเช“เชฎเชพเช‚ เชชเชธเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

class MyClass 
{
     [string]$Name
     [string]$City
     [string]$Country
     
     #ะพะฟะธัะฐะฝะธะต ะผะตั‚ะพะดะฐ
     Smile([bool]$param1)
     {
         If($param1) {
            Write-Host ':)'
         }
     }
}

เชนเชตเซ‡ เช…เชฎเชพเชฐเชพ เชตเชฐเซเช—เชจเชพ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟ เชธเซเชฎเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡:

$object = [MyClass]::new()
$object.Smile($true)

เชชเชฆเซเชงเชคเชฟเช“ เช“เชตเชฐเชฒเซ‹เชก เชฅเชˆ เชถเช•เซ‡ เช›เซ‡; เชตเชงเซเชฎเชพเช‚, เชเช• เชตเชฐเซเช— เชงเชฐเชพเชตเซ‡ เช›เซ‡ เชธเซเชฅเชฟเชฐ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช…เชจเซ‡ เชชเชฆเซเชงเชคเชฟเช“, เชคเซ‡เชฎเชœ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐ เชœเซ‡เชฎเชจเชพ เชจเชพเชฎ เชตเชฐเซเช—เชจเชพ เชจเชพเชฎ เชธเชพเชฅเซ‡ เชฎเซ‡เชณ เช–เชพเชฏ เช›เซ‡. เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช…เชฅเชตเชพ เชชเชพเชตเชฐเชถเซ‡เชฒ เชฎเซ‹เชกเซเชฏเซเชฒเชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡เชฒ เชตเชฐเซเช— เชฌเซ€เชœเชพ เชฎเชพเชŸเซ‡ เช†เชงเชพเชฐ เชคเชฐเซ€เช•เซ‡ เชธเซ‡เชตเชพ เช†เชชเซ€ เชถเช•เซ‡ เช›เซ‡ - เช† เชฐเซ€เชคเซ‡ เชตเชพเชฐเชธเชพเชจเซ‹ เช…เชฎเชฒ เชฅเชพเชฏ เช›เซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเซ‡เชจเซ‡ เชนเชพเชฒเชจเชพ .NET เชตเชฐเซเช—เซ‹เชจเซ‹ เช†เชงเชพเชฐ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡:

class MyClass2 : MyClass
{
      #ั‚ะตะปะพ ะฝะพะฒะพะณะพ ะบะปะฐััะฐ, ะฑะฐะทะพะฒั‹ะผ ะดะปั ะบะพั‚ะพั€ะพะณะพ ัะฒะปัะตั‚ัั MyClass
}
[MyClass2]::new().Smile($true)

PowerShell เชฎเชพเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เช…เชฎเชพเชฐเซเช‚ เชตเชฐเซเชฃเชจ เชญเชพเช—เซเชฏเซ‡ เชœ เชธเช‚เชชเซ‚เชฐเซเชฃ เช›เซ‡. เชจเซ€เชšเซ‡เชจเชพ เชชเซเชฐเช•เชพเชถเชจเซ‹เชฎเชพเช‚, เช…เชฎเซ‡ เชตเซเชฏเชตเชนเชพเชฐเชฟเช• เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชคเซ‡เชจเซ‡ เชตเชงเซ เชŠเช‚เชกเซเช‚ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เชถเซเช‚: เชถเซเชฐเซ‡เชฃเซ€เชจเซ‹ เชชเชพเช‚เชšเชฎเซ‹ เชฒเซ‡เช– เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เช˜เชŸเช•เซ‹ เชธเชพเชฅเซ‡ เชชเชพเชตเชฐเชถเซ‡เชฒเชจเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเชพเชจเชพ เชฎเซเชฆเซเชฆเชพเช“เชจเซ‡ เชธเชฎเชฐเซเชชเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชญเซ‚เชคเช•เชพเชณเชจเชพ เชญเชพเช—เซ‹ เชจเซ€เชšเซ‡เชจเซ€ เชฒเชฟเช‚เช•เซเชธ เชชเชฐ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡.

เชญเชพเช— 1: เชฎเซ‚เชณเชญเซ‚เชค Windows PowerShell เชธเซเชตเชฟเชงเชพเช“
เชญเชพเช— 2: Windows PowerShell เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเชจเซ‹ เชชเชฐเชฟเชšเชฏ
เชญเชพเช— 3: เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธ เช…เชจเซ‡ เชซเช‚เช•เซเชถเชจเซเชธเชฎเชพเช‚ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชชเชธเชพเชฐ เช•เชฐเชตเชพ, cmdlets เชฌเชจเชพเชตเชตเซ€

Windows PowerShell เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชถเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡? เชญเชพเช— 4: เชตเชธเซเชคเซเช“, เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเช—เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹