Π’Π΅ΠΊΡΡΠΎΠ²ΠΈΡΡ ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π² ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° PowerShell Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΠΈΠ½ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ΄ΠΎΠ±Π΅Π½ Π·Π° ΡΠΎΠ²Π΅ΡΠΊΠΎΡΠΎ Π²ΡΠ·ΠΏΡΠΈΡΡΠΈΠ΅ Π²ΠΈΠ΄. ΠΡΡΡΠ½ΠΎΡΡ, ΡΡΠ΅Π΄Π°ΡΠ° ΠΊΡΠΌ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠ±Π΅ΠΊΡΠΈ: ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π²Ρ ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ , Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΈ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°Ρ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ΡΠ΅ .NET. Π ΡΠ΅ΡΠ²ΡΡΡΠ°ΡΠ° ΡΡΠ°ΡΠΈΡ ΠΎΡ ΡΠΈΠΊΡΠ»Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
Π‘ΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅:
ΠΠ±Π΅ΠΊΡΠΈΡΠ΅ Π² PowerShell
ΠΠ΅ΠΊΠ° ΠΏΡΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΠ΅ ΠΎΠ±Π΅ΠΊΡΡΡ Π΅ ΡΡΠ²ΠΊΡΠΏΠ½ΠΎΡΡ ΠΎΡ ΠΏΠΎΠ»Π΅ΡΠ° Ρ Π΄Π°Π½Π½ΠΈ (ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΡΠ±ΠΈΡΠΈΡ ΠΈ Ρ.Π½.) ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΡΡ Π½Π°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΠ΅Π³ΠΎΠ²Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΡΠ΅ Π·Π°Π΄Π°Π²Π° ΠΎΡ ΡΠΈΠΏΠ°, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° .NET Core. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠ±Π΅ΠΊΡΠΈ COM, CIM (WMI) ΠΈ ADSI. Π‘Π²ΠΎΠΉΡΡΠ²Π°ΡΠ° ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΎΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π² PowerShell ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΈ, Π΄Π° ΠΈΠΌ ΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅, Π° ΡΡΡΠΎ ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° (ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΠΈΠ»ΠΈ pipeline). ΠΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΏΡΠ΅Π΄Π°Π²Π° ΡΠ²ΠΎΡ ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ β ΠΎΠ±Π΅ΠΊΡ ΠΏΠΎ ΠΎΠ±Π΅ΠΊΡ. ΠΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΈ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ , Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Ρ ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°: ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅, ΡΠΎΡΡΠΈΡΠ°Π½Π΅, Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ ΠΈ Π΄ΠΎΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡ Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ°. ΠΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΈΠΌΠ° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ: ΠΏΡΠΈΠ΅ΠΌΠ½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΏΠΎΡΠΎΠΊΠ° ΠΎΡ Π±Π°ΠΉΡΠΎΠ²Π΅ (ΡΠ΅ΠΊΡΡ), Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΠΈΠ·Π²Π»ΠΈΡΠ° ΡΡΠ΅Π· Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ.
ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠ° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Get-Process, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ΅ΡΠΈΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈ:

Π’ΠΎΠΉ ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π΅ Π½Π° Π΅ΠΊΡΠ°Π½ Π½ΡΠΊΠΎΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π΄Π°Π²Π°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° Π·Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° Π½Π° Π²ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ. ΠΠ° Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ
ΠΎΠ΄Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΡΡΠΈΠΌ Π΄Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°ΠΌΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΠΈ Π½Π° ΡΠΎΠ²Π° ΡΠ΅ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Get-Member:
Get-Process | Get-Member 
Π’ΡΠΊ Π²Π΅ΡΠ΅ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΠΈΠΏΠ° ΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΌΠΎΠΆΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΠ°ΠΌΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ°, ΠΏΠΎΠΏΠ°Π΄Π½Π°Π» Π½Π° Π²Ρ
ΠΎΠ΄Π°:
Get-Process | Get-Member -MemberType PropertyΠ’Π΅Π·ΠΈ Π·Π½Π°Π½ΠΈΡ ΡΠ΅ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ»ΠΈ Π·Π° Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅: Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π·Π°Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΏΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ Responding.
Π€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅
PowerShell ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅:
Where-Object { Π±Π»ΠΎΠΊ ΡΡΠ΅Π½Π°ΡΠΈΡ }Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠ° ΡΡΠ΅Π½Π°ΡΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½ΠΈΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ. ΠΠΊΠΎ ΡΡ Π΅ Π²ΡΡΠ½Π° ($true), ΠΎΠ±Π΅ΠΊΡΡΡ, ΠΏΠΎΠΏΠ°Π΄Π½Π°Π» Π½Π° Π²Ρ ΠΎΠ΄Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Where-Object, ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° Π½Π°ΡΠ°ΡΡΠΊ, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ (ΡΡΠΎΠΉΠ½ΠΎΡΡ $false) ΡΠΎΠΉ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠ° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΠΏΠΈΡΡΠΊ Π½Π° ΡΠΏΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ Π½Π° Windows Server, Ρ.Π΅. ΡΠ°ΠΊΠΈΠ²Π°, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ Status ΠΈΠΌΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ "Stopped":
Get-Service | Where-Object {$_.Status -eq "Stopped"} 
Π’ΡΠΊ ΠΎΡΠ½ΠΎΠ²ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅, Π½ΠΎ Π°ΠΊΠΎ ΠΆΠ΅Π»Π°Π΅ΠΌ, Π½Π΅ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠΈΠΏΠ° ΠΈ Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅, ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΡΠΈ ΠΏΡΠ΅Π· ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°:
Get-Service | Where-Object {$_.Status -eq "Stopped"} | Get-Member 
Π‘ΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅
ΠΡΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ ΡΠ΅ΡΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΡ Π½Π°ΡΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°. ΠΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Sort-Object ΡΠ΅ ΠΏΠΎΠ΄Π°Π²Π°Ρ ΠΈΠΌΠ΅Π½Π° Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° (ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅), Π° ΡΠΎΠΉ Π²ΡΡΡΠ° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅, ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. ΠΠ·Ρ ΠΎΠ΄ΡΡ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π΅ Π΅ ΡΡΡΠ΄Π΅Π½ Π·Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π°Π½ΠΎ CPU Π²ΡΠ΅ΠΌΠ΅ (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ cpu):
Get-Process | Sort-Object βProperty cpuΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ -Property ΠΏΡΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Sort-Object ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°, ΡΠΎΠΉ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠ° ΠΎΠ±ΡΠ°ΡΠ½Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ -Descending:
Get-Process | Sort-Object cpu -Descending 
ΠΠ·Π±ΠΎΡ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΠ°ΡΡΠΈ
ΠΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡΡ Select-Object ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±Π΅ΠΊΡΠΈ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ ΠΈΠ»ΠΈ Π² ΠΊΡΠ°Ρ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ -First ΠΈΠ»ΠΈ -Last. Π‘ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π½ΠΎΠ²ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ Π½Π° ΡΡΡ Π½Π° Π±Π°Π·Π°. ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Ρ ΠΏΡΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ.
Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° 10 ΠΏΡΠΎΡΠ΅ΡΠ°, ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ°ΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ WS):
Get-Process | Sort-Object WS -Descending | Select-Object -First 10 
ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΡΠ°ΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠ΅Π· ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π½ΠΎΠ²ΠΈ Π½Π° ΡΡΡ
Π½Π° ΠΎΡΠ½ΠΎΠ²Π°:
Get-Process | Select-Object ProcessName, Id -First 1Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½ΠΎΠ² ΠΎΠ±Π΅ΠΊΡ, ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅, Π²ΡΡΡΠ°Π½ΠΈ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Get-Process. ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌ Π² ΡΠΎΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Get-Member:
Get-Process | Select-Object ProcessName, Id -First 1 | Get-Member 
ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ Select-Object Π²ΡΡΡΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½ ΠΎΠ±Π΅ΠΊΡ (-First 1), ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π΄Π²Π΅ ΠΏΠΎΠ»Π΅ΡΠ°, ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΎΡ Π½Π°Ρ: ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π±ΡΡ
Π° ΠΊΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΏΡΡΠ²ΠΈΡ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΎΠ±Π΅ΠΊΡ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° Get-Process. ΠΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Select-Object ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ Π² PowerShell ΡΡΠ΅Π½Π°ΡΠΈΠΈ:
$obj = Get-Process | Select-Object ProcessName, Id -First 1
$obj.GetType() 
Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Select-Object ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ΅ΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡ ΠΊΠ°ΡΠΎ . ΠΡΠΈ ΡΠΎΠ²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΡΠ²ΠΈΡ ΠΊΠ»ΡΡ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ, Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠΎΡΠΈΡ β Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π·Π° ΡΠ΅ΠΊΡΡΠΈΡ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°:
Get-Process | Select-Object -Property ProcessName, @{Name="StartTime"; Expression = {$_.StartTime.Minute}} 
ΠΠ΅ΠΊΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΏΡΠ΅Π· ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°:
Get-Process | Select-Object -Property ProcessName, @{Name="StartTime"; Expression = {$_.StartTime.Minute}} | Get-Member 
ForEach-Object, Group-Object ΠΈ Measure-Object
ΠΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΠΈ ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠ»Π΅Π·Π½ΠΈΡΠ΅:
ForEach-Object ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ΄ Π½Π° PowerShell Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΠ±Π΅ΠΊΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°:
ForEach-Object { Π±Π»ΠΎΠΊ ΡΡΠ΅Π½Π°ΡΠΈΡ }Group-Object Π³ΡΡΠΏΠΈΡΠ° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΠΏΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ:
Group-Object PropertyNameΠΠΊΠΎ Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° -NoElement, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π±ΡΠΎΡ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π² Π³ΡΡΠΏΠΈΡΠ΅.
Measure-Object Π°Π³ΡΠ΅Π³ΠΈΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΏΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° (ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° ΡΡΠΌΠ°ΡΠ°, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π°ΠΌΠΈΡΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ°, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΈΠ»ΠΈ ΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ):
Measure-Object -Property PropertyName -Minimum -Maximum -Average -SumΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, Π° Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Ρ Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ Begin, Process ΠΈ End.
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ .NET ΠΈ COM (New-Object)
ΠΠΌΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ .NET Core ΠΈ COM, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠ»Π°ΡΠ° System.Diagnostics.EventLog ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ Windows PowerShell. ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΡΠΎΠ·ΠΈ ΠΊΠ»Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° New-Object Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° -TypeName:
New-Object -TypeName System.Diagnostics.EventLog 
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ ΠΏΠΎΡΠΎΡΠΈΡ
ΠΌΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΆΡΡΠ½Π°Π» Π½Π° ΡΡΠ±ΠΈΡΠΈΡΡΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π°ΡΠ° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ Π½Π° ΠΊΠ»Π°ΡΠ° Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ° Π΄Π°Π½Π½ΠΈ. ΠΠ° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌ ΡΠΎΠ²Π°, Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ ΠΌΡ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°ΠΌΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° -ArgumentList. ΠΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΆΡΡΠ½Π°Π»Π° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π΄Π°Π΄Π΅ΠΌ Π½ΠΈΠ· βApplicationβ ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ:
$AppLog = New-Object -TypeName System.Diagnostics.EventLog -ArgumentList Application
$AppLog 
ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π°ΠΏΠ°Π·ΠΈΡ
ΠΌΠ΅ Π² ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° $AppLog. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ, ΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ° Ρ ΠΎΠ±Π΅ΠΊΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π½Π° .NET Core ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π° System: PowerShell ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΡΡΡΠΈ Π² Π½Π΅Π³ΠΎ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅, ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Diagnostics.EventLog Π²ΠΌΠ΅ΡΡΠΎ System.Diagnostics.EventLog Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ.
ΠΠ° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΆΡΡΠ½Π°Π»Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΡΠ°ΡΠ΅ ΠΊΡΠΌ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ:
$AppLog | Get-Member -MemberType Method 
ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΡΠΎΠΉ ΡΠ΅ ΠΈΠ·ΡΠΈΡΡΠ²Π° Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Clear() ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΠΏΡΠ°Π²Π° Π·Π° Π΄ΠΎΡΡΡΠΏ:
$AppLog.Clear()ΠΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡΡ New-Object ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ COM ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. ΠΠΌΠ° Π΄ΠΎΡΡΠ° ΠΎΡ ΡΡΡ β ΠΎΡ Π΄ΠΎΡΡΠ°Π²ΡΠ½ΠΈΡΠ΅ Ρ Windows ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π΄ΠΎ ActiveX ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Internet Explorer. ΠΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ COM ΠΎΠ±Π΅ΠΊΡ, ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ -ComObject Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ProgId Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ ΠΊΠ»Π°Ρ:
New-Object -ComObject WScript.Shell
New-Object -ComObject WScript.Network
New-Object -ComObject Scripting.Dictionary
New-Object -ComObject Scripting.FileSystemObjectΠΠ° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΡΡΡΡΠΊΡΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° New-Object ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ²ΡΡΠ΄Π΅ Π°ΡΡ Π°ΠΈΡΠ½ΠΎ ΠΈ ΠΎΠ±Π΅ΠΌΠΈΡΡΠΎ; ΡΠΎΠ·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π²ΡΠ½ΡΠ½ΠΈ ΠΊΡΠΌ PowerShell ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. Π ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΠΎΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ. ΠΡΠ²Π΅Π½ ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ .NET ΠΈ COM, ΡΠ΅ ΠΈΠ·ΡΡΠΈΠΌ ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ CIM (WMI) ΠΈ ADSI.
ΠΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ
ΠΠ½ΡΡΠ°Π½ΡΠΈΠΈ Π½Π° Π½ΡΠΊΠΎΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π½Π° .NET Core Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ: ΠΊΡΠΌ ΡΡΡ ΡΠΏΠ°Π΄Π° System.Environment ΠΈ System.Math. Π’Π΅ ΡΠ° ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΡΠ°ΠΌΠΎ ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ. ΠΡΡΡΠ½ΠΎΡΡ, ΡΠΎΠ²Π° ΡΠ° ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π±Π΅Π· ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ·ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΠΊΠ»Π°Ρ ΡΡΠ΅Π· Π»ΠΈΡΠ΅ΡΠ°Π», ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠΈΠΏΠ° Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΈ ΡΠΊΠΎΠ±ΠΈ. ΠΡΠΈ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Get-Member, ΡΠ΅ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΈΠΏ System.RuntimeType Π²ΠΌΠ΅ΡΡΠΎ System.Environment:
[System.Environment] | Get-Member 
ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ°ΠΌΠΎ ΡΡΠ°ΡΠΈΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅ Get-Member Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° -Static (ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΏΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ°):
[System.Environment] | Get-Member -Static 
ΠΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΄Π²Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΡΠΊΠ° ΡΠ»Π΅Π΄ Π»ΠΈΡΠ΅ΡΠ°Π»Π°:
[System.Environment]::OSVersionΠΠ»ΠΈ
$test=[System.Math]::Sqrt(25)
$test
$test.GetType() 
Π’ΠΈΠΏ PSCustomObject
Π‘ΡΠ΅Π΄ ΠΌΠ½ΠΎΠ³ΠΎΠ±ΡΠΎΠΉΠ½ΠΈΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ Π² PowerShell, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠΏΠΎΠΌΠ΅Π½Π΅ΠΌ PSCustomObject, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΡΡΡΡΠΊΡΡΡΠ°. Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠ² ΠΎΠ±Π΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° New-Object ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½ΠΎ ΡΡΠΎΠΌΠ°Π² ΠΈ ΠΎΡΡΠ°ΡΡΠ» Π½Π°ΡΠΈΠ½:
$object = New-Object βTypeName PSCustomObject -Property @{Name = 'Ivan Danko';
City = 'Moscow';
Country = 'Russia'}
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ°:
$object | Get-Member 
ΠΡ PowerShell 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()

ΠΠ΄ΠΈΠ½ ΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈΡΠ΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΠΎΡ ΡΠΎΠ·ΠΈ ΡΠΈΠΏ Π΅, ΡΠ΅ ΡΠ΅Π΄ΡΡ Π½Π° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΠ° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΡΠΎΠ²Π°, Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° [ordered]:
$object = [PSCustomObject][ordered]@{Name = 'Ivan Danko';
City = 'Moscow';
Country = 'Russia'
}
ΠΠΌΠ° ΠΈ Π΄ΡΡΠ³ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ: ΠΏΠΎ-Π³ΠΎΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ° . ΠΡΡΠ°Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ. ΠΠ° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π·Π° ΠΎΠ±Π΅ΠΊΡΠ° ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ Π΄ΠΎΡΡΠ° ΠΏΡΠΎΡΡΠΎ:
$object | Add-Member βMemberType NoteProperty βName Age βValue 33
$object | Get-Member

ΠΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡΡ Add-Member ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π½ΠΎ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΊΡΠΌ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈΡ ΠΎΠ±Π΅ΠΊΡ $object, ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° "-MemberType ScriptMethod":
$ScriptBlock = {
# ΠΊΠΎΠ΄
}
$object | Add-Member -Name "MyMethod" -MemberType ScriptMethod -Value $ScriptBlock
$object | Get-Member
ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° $ScriptBlock ΠΎΡ ΡΠΈΠΏ ScriptBlock.

ΠΠ° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄:
$object.psobject.properties.remove('Name')
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅
Π PowerShell 5.0 ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ΅Π½ Π·Π° ΠΎΠ±Π΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ. ΠΠ° ΡΠΎΠ²Π° Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΡΠ»ΡΠΆΠ΅Π±Π½Π°ΡΠ° Π΄ΡΠΌΠ° Class, ΡΠ»Π΅Π΄ ΠΊΠΎΡΡΠΎ ΡΠ»Π΅Π΄Π²Π° Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠ»Π°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ΅ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΡΠ»ΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½ΠΈ ΡΠΊΠΎΠ±ΠΈ:
class MyClass
{
# ΡΡΠ»ΠΎ Π½Π° ΠΊΠ»Π°ΡΠ°
}
Π’ΠΎΠ²Π° Π΅ ΠΈΡΡΠΈΠ½ΡΠΊΠΈ ΡΠΈΠΏ .NET Core, Π² ΡΡΠ»ΠΎΡΠΎ Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ. ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΈΡ ΠΊΠ»Π°Ρ:
class MyClass
{
[string]$Name
[string]$City
[string]$Country
}
ΠΠ° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ (Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΊΠ»Π°ΡΠ°) ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ , ΠΈΠ»ΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΡ ΠΎΡ ΡΠΈΠΏ [MyClass] ΠΈ new (ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅):
$object = New-Object -TypeName MyClassΠΈΠ»ΠΈ
$object = [MyClass]::new()ΠΠ΅ΠΊΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ°:
$object | Get-Member 
ΠΠ΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ Π·Π° ΠΎΠ±Ρ
Π²Π°ΡΠ°: Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ·ΠΎΠ²Π°Π²Π°ΡΠ΅ Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠΈΠΏΠ° Π² Π²ΠΈΠ΄ Π½Π° Π½ΠΈΠ· ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π» ΠΎΡ ΡΠΈΠΏ ΠΈΠ·Π²ΡΠ½ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Π°, Π² ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ»Π°ΡΡΡ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΡΡΡΠ°Ρ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ Π½Π° ΠΊΠ»Π°ΡΠ° (ΠΎΠ±Π΅ΠΊΡΠΈ), ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΈΠ·Π²ΡΠ½ ΠΌΠΎΠ΄ΡΠ»Π° ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΠ°.
Π‘Π»Π΅Π΄ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡΠ° Π΄Π° Π·Π°ΠΏΡΠ»Π½ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° ΠΌΡ:
$object.Name = 'Ivan Danko'
$object.City = 'Moscow'
$object.Country = 'Russia'
$object

ΠΠ΅ΠΊΠ° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΠΌ, ΡΠ΅ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»Π°ΡΠ° ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ°, Π½ΠΎ ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅:
class Example
{
[string]$Name = 'John Doe'
}
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° ΠΊΠ»Π°ΡΠ° Π½Π°ΠΏΠΎΠΌΠ½Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ»ΡΠΆΠ΅Π±Π½Π°ΡΠ° Π΄ΡΠΌΠ° function. ΠΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠΈ ΡΡΠ½ΠΊΡΠΈΡΡΠ°, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ:
class MyClass
{
[string]$Name
[string]$City
[string]$Country
#ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°
Smile([bool]$param1)
{
If($param1) {
Write-Host ':)'
}
}
}
Π‘Π΅Π³Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΡΡ Π½Π° Π½Π°ΡΠΈΡ ΠΊΠ»Π°Ρ ΡΠΌΠ΅Π΅ Π΄Π° ΡΠ΅ ΡΡΠΌΠΈΡ Π²Π°:
$object = [MyClass]::new()
$object.Smile($true)
ΠΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Ρ, ΠΎΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° , ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΈ, ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΡΠ²ΠΏΠ°Π΄Π°Ρ Ρ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΌΠΈΡ ΠΊΠ»Π°Ρ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Π° PowerShell ΠΊΠ»Π°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠ½ΠΎΠ²Π° Π·Π° Π΄ΡΡΠ³ β ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° Π½Π°ΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅. ΠΡΠΈ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅ .NET ΠΊΠ°ΡΠΎ Π±Π°Π·ΠΎΠ²ΠΈ:
class MyClass2 : MyClass
{
#ΡΡΠ»ΠΎ Π½Π° Π½ΠΎΠ²ΠΈΡ ΠΊΠ»Π°Ρ, Π·Π° ΠΊΠΎΠΉΡΠΎ Π±Π°Π·ΠΎΠ²ΠΈΡΡ Π΅ MyClass
}
[MyClass2]::new().Smile($true)
ΠΠ°ΡΠ΅ΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠ±Π΅ΠΊΡΠΈ Π² PowerShell ΡΡΡΠ΄Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΅ΡΠ΅ ΠΈΠ·ΡΠ΅ΡΠΏΠ°ΡΠ΅Π»Π½ΠΎ. Π ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π³ΠΎ Π·Π°Π΄ΡΠ»Π±ΠΎΡΠΈΠΌ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ: ΠΏΠ΅ΡΠ°ΡΠ° ΡΡΠ°ΡΠΈΡ ΠΎΡ ΡΠΈΠΊΡΠ»Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½Π° Π½Π° Π²ΡΠΏΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° PowerShell Ρ Π²ΡΠ½ΡΠ½ΠΈ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. ΠΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ°ΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
