ΠΡΠ΅ΠΌ Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ, Ρ ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ Β«ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠΈΠ½Π³ΠΎΠ²Π°ΡΡ Π΄Π΅ΡΡΡΠΎΠΊ Ρ ΠΎΡΡΠΎΠ². ΠΠ΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π‘ΠΠ‘!Β».
Π‘ ΠΏΡΠΎΡΡΠΎΡΠΎΠ² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°
ΠΠ°ΠΆΠ½ΠΎ: Ρ Π½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΈ Π½Π΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, Π½ΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π΄Π°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π΄Π»Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°.
ΠΡΠ΅Ρ
ΠΊΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΠΎ, ΠΏΡΠΎΡΡ ΠΏΠΎΠ΄ ΠΊΠ°Ρ.
ΠΠΎΡΠ΅ΠΌΡ PowershellΠ£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΎΠΏΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Python, Π½ΠΎ ΠΎΠ½ ΡΡΠ΅Π±ΡΠ΅Ρ Π»ΠΈΠ±ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°, Π»ΠΈΠ±ΠΎ ΠΏΡΠ°Π²Π° Π½Π° Π·Π°ΠΏΡΡΠΊ .exe, ΡΡΠΎ, Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΌΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π Π²ΠΎΡ ΡΠΊΡΠΈΠΏΡ Π½Π° Powershell ΡΠ°ΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ.
ΠΠ΅ Π²ΡΠ΅ Π»ΡΠ±ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ/ΡΠ΅ΡΠΌΠΈΠ½Π°Π»
ΠΡΠΌΠ°Ρ Π² ΡΡΠΎΠΌ Π½Π΅Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ Π±Ρ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΡΡΠΎΠ²ΡΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ Π² *nix-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ GUI.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΡΡΠΈ ΠΌΠ½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Powershell Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎ, ΡΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΠΎΠ½ΡΡΡ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΊ Π½Π΅ΠΌΡ ΠΏΡΠΈΠΊΡΡΡΠΈΡΡ GUI. ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π° Π΅ΡΠ΅ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ:
Add-Type -assembly System.Windows.Forms #ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
$main_form = New-Object System.Windows.Forms.Form #Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π½Π°ΡΠΈΠΌ "ΠΎΠΊΠ½ΠΎΠΌ"
#ΠΠ°Π΄Π°Π΅ΠΌ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
$main_form.Text ='Links up' #ΠΠΌΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅
$main_form.Width = 300 #Π¨ΠΈΡΠΈΠ½Π° ΠΎΠΊΠ½Π°
$main_form.Height = 200 #ΠΡΡΠΎΡΠ° ΠΎΠΊΠ½Π°
$main_form.AutoSize = $true #ΠΠ°Π΅ΠΌ Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
$main_form.ShowDialog() #ΠΡΠ·ΡΠ²Π°Π΅ΠΌ "ΠΎΠΊΠ½ΠΎ"
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊ ΡΡΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠ΅ Windwows-ΠΎΠΊΠ½ΠΎ ΡΠ°Π²ΡΠΎΠ»ΠΎΠ³ΠΈΡ?.
Add-Type -assembly System.Windows.Forms #ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
$main_form = New-Object System.Windows.Forms.Form #Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ Π½Π°ΡΠΈΠΌ "ΠΎΠΊΠ½ΠΎΠΌ"
#ΠΠ°Π΄Π°Π΅ΠΌ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
$main_form.Text ='Links up' #ΠΠΌΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅
$main_form.Width = 300 #Π¨ΠΈΡΠΈΠ½Π° ΠΎΠΊΠ½Π°
$main_form.Height = 200 #ΠΡΡΠΎΡΠ° ΠΎΠΊΠ½Π°
$main_form.AutoSize = $true #ΠΠ°Π΅ΠΌ Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
$Label = New-Object System.Windows.Forms.Label #ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΡ Π±ΡΠ΄ΡΡ Π·Π°Π½ΠΎΡΠΈΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½ΠΎ ΠΏΠΎ ΡΠ°ΠΊΡΡ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Powershell
$Label.Text = "ΠΡΠΈΠ²Π΅Ρ! Π― ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠ΅ Windows-ΠΎΠΊΠ½ΠΎ, Π° ΡΠ΅Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ»ΡΡ ΡΡ?" #ΠΡΠ²ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ΅ΠΊΡΡ
$Label.Location = New-Object System.Drawing.Point(10,65) #Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²Π½ΡΡΡΠΈ ΡΠΎΡΠΌΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ (x,y)
$Label.AutoSize = $true
$main_form.Controls.Add($Label) #Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊ ΡΠΎΡΠΌΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ»ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ°
$main_form.ShowDialog() #ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ
Π’Π°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΡΠΌ Ρ Β«ΠΏΠΈΠ½Π³ΠΎΠ²Π°Π» Π―Π½Π΄Π΅ΠΊΡΒ» ΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π» *.iso ΠΎΠ±Π·Π°Π²ΡΠ»ΡΡ ΠΎΠ±ΠΎΡΠΎΠ±Π»Π΅Π½Π½ΡΠΌ GUI, Π½ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΎ. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, Π½ΠΎ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΡΠΈΡΡΠ΅ΠΌ Π΄Π²Π΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
$PictureBox = New-Object system.Windows.Forms.PictureBox #ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
$PictureBox.width = 10
$PictureBox.height = 10
$PictureBox.location = New-Object System.Drawing.Point(178,12)
#ΠΠΎΡ ΡΡΡ ΠΌΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ Π΄Π΅Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΡΠ·Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ
#<b>test-connection</b>, Π³Π΄Π΅:
#-Count - ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΊΠΎΠ»-Π²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ²
#-computer - IP ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ°
#-quiet - Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π°ΠΌ Π²Π΅ΡΠ½ΡΠ»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ Boolean Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
if ((test-connection -Count 1 -computer ya.ru -quiet) -eq $True) {
$PictureBox.imageLocation = "C:Testyes.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
Else {
$PictureBox.imageLocation = "C:Testno.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
$PictureBox.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::zoom
$main_form.Controls.Add($PictureBox)
ΠΠΏΡΡΡ Π½Π°ΡΠΈ DNS-Π½ΠΈΠΊΠΈ ΡΠ°Π»ΡΡ…
Π Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ, ΡΡΠΎΠ±Ρ Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ.
$Button = New-Object System.Windows.Forms.Button
$Button.Location = New-Object System.Drawing.Size(100,150)
$Button.Size = New-Object System.Drawing.Size(80,30)
$Button.Text = "Reload"
# ΠΠ΅ΡΠ°Π΅ΠΌ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ PictureBox ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅
$Button.Add_Click({
if ((Test-Connection -Count 1 -computer ya.ru -quiet) -eq $True)
{$PictureBox.imageLocation = "C:Testyes.png"}
Else {$PictureBox.imageLocation = "C:Testno.png"}
if ((Test-Connection -Count 1 -computer 8.8.8.8 -quiet) -eq $True)
{$PictureBox1.imageLocation = "C:Testyes.png"}
Else {$PictureBox1.imageLocation = "C:Testno.png"}
})
$main_form.Controls.Add($Button)
Π§ΡΠ΄Π΅ΡΠ½ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½!?
ΠΡΡΡΠ½ΡΡ ΠΏΡΠΎΠΏΠΈΡΠ°Π² ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΡΠ΄ΡΠΆΠΈΠ½Ρ Ρ ΠΎΡΡΠΎΠ² Ρ Π²Π΄ΡΡΠ³ ΠΏΠΎΠ½ΡΠ» ΠΎΠ΄Π½Ρ Π²Π΅ΡΡ β Π° Π²Π΅Π΄Ρ ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡΡ, Ρ ΠΎΡΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΈ ΠΌΠ½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠ°Π²ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ, ΡΡΠΎ ΠΆΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π±Ρ Π»ΡΠ±ΠΈΠΌΠΎΠ³ΠΎ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π±Ρ Π»ΡΠ±ΠΈΠΌΠΎΠ³ΠΎ Π²Ρ Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠΎ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ:
ΠΡΠ΅Π»ΠΈΡΠ΅ Π½Π΅ Π΄Π»Ρ ΡΠ»Π°Π±ΠΎΠ½Π΅ΡΠ²Π½ΡΡ
Add-Type -assembly System.Windows.Forms #ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
$main_form = New-Object System.Windows.Forms.Form #Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ Π½Π°ΡΠΈΠΌ "ΠΎΠΊΠ½ΠΎΠΌ"
#ΠΠ°Π΄Π°Π΅ΠΌ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
$main_form.Text ='Links up' #ΠΠΌΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅
$main_form.Width = 300 #Π¨ΠΈΡΠΈΠ½Π° ΠΎΠΊΠ½Π°
$main_form.Height = 200 #ΠΡΡΠΎΡΠ° ΠΎΠΊΠ½Π°
$main_form.AutoSize = $true #ΠΠ°Π΅ΠΌ Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
$Label = New-Object System.Windows.Forms.Label #ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΡ Π±ΡΠ΄ΡΡ Π·Π°Π½ΠΎΡΠΈΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½ΠΎ ΠΏΠΎ ΡΠ°ΠΊΡΡ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Powershell
$Label.Text = "ya.ru ............................" #ΠΡΠ²ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ΅ΠΊΡΡ
$Label.Location = New-Object System.Drawing.Point(15,10) #Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²Π½ΡΡΡΠΈ ΡΠΎΡΠΌΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ (x,y)
$Label.AutoSize = $true
$Label1 = New-Object System.Windows.Forms.Label #ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΡ Π±ΡΠ΄ΡΡ Π·Π°Π½ΠΎΡΠΈΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½ΠΎ ΠΏΠΎ ΡΠ°ΠΊΡΡ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Powershell
$Label1.Text = "8.8.8.8 ............................" #ΠΡΠ²ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ΅ΠΊΡΡ googl-ΠΎΠ²ΡΠΊΠΈΠΉ DNS-Π½ΠΈΠΊ
$Label1.Location = New-Object System.Drawing.Point(15,30) #Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²Π½ΡΡΡΠΈ ΡΠΎΡΠΌΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ (x,y)
$Label1.AutoSize = $true
$Label2 = New-Object System.Windows.Forms.Label
$Label2.Text = "192.168.x.x ............................"
$Label2.Location = New-Object System.Drawing.Point(15,50)
$Label2.AutoSize = $true
$Label3 = New-Object System.Windows.Forms.Label
$Label3.Text = "192.168.x.x ............................"
$Label3.Location = New-Object System.Drawing.Point(15,70)
$Label3.AutoSize = $true
$Label4 = New-Object System.Windows.Forms.Label
$Label4.Text = "10.0.x.x ............................"
$Label4.Location = New-Object System.Drawing.Point(15,90)
$Label4.AutoSize = $true
$Label5 = New-Object System.Windows.Forms.Label
$Label5.Text = "162.102.x.x ............................"
$Label5.Location = New-Object System.Drawing.Point(15,110)
$Label5.AutoSize = $true
$PictureBox = New-Object system.Windows.Forms.PictureBox #ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
$PictureBox.width = 10
$PictureBox.height = 10
#ΠΠΎΡ ΡΡΡ ΠΌΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ Π΄Π΅Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΡΠ·Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ
#<b>test-connection</b>, Π³Π΄Π΅:
#-Count - ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΊΠΎΠ»-Π²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ²
#-computer - IP ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ°
#-quiet - Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π°ΠΌ Π²Π΅ΡΠ½ΡΠ»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ Boolean Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
$PictureBox.location = New-Object System.Drawing.Point(235,12)
if ((test-connection -Count 1 -computer ya.ru -quiet) -eq $True) {
$PictureBox.imageLocation = "C:Testyes.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
Else {
$PictureBox.imageLocation = "C:Testno.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
$PictureBox.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::zoom
$PictureBox1 = New-Object system.Windows.Forms.PictureBox #ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
$PictureBox1.width = 10
$PictureBox1.height = 10
$PictureBox1.location = New-Object System.Drawing.Point(235,32)
if ((test-connection -Count 1 -computer 8.8.8.8 -quiet) -eq $True) {
$PictureBox1.imageLocation = "C:Testyes.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
Else {
$PictureBox1.imageLocation = "C:Testno.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
$PictureBox1.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::zoom
$PictureBox2 = New-Object system.Windows.Forms.PictureBox #ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
$PictureBox2.width = 10
$PictureBox2.height = 10
$PictureBox2.location = New-Object System.Drawing.Point(235,52)
if ((test-connection -Count 1 -computer 192.168.x.x -quiet) -eq $True) {
$PictureBox2.imageLocation = "C:Testyes.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
Else {
$PictureBox2.imageLocation = "C:Testno.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
$PictureBox2.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::zoom
$PictureBox3 = New-Object system.Windows.Forms.PictureBox #ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
$PictureBox3.width = 10
$PictureBox3.height = 10
$PictureBox3.location = New-Object System.Drawing.Point(235,72)
if ((test-connection -Count 1 -computer 192.168.x.x -quiet) -eq $True) {
$PictureBox3.imageLocation = "C:Testyes.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
Else {
$PictureBox3.imageLocation = "C:Testno.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
$PictureBox3.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::zoom
$PictureBox4 = New-Object system.Windows.Forms.PictureBox #ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
$PictureBox4.width = 10
$PictureBox4.height = 10
$PictureBox4.location = New-Object System.Drawing.Point(235,92)
if ((test-connection -Count 1 -computer 10.0.x.x -quiet) -eq $True) {
$PictureBox4.imageLocation = "C:Testyes.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
Else {
$PictureBox4.imageLocation = "C:Testno.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
$PictureBox1.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::zoom
$PictureBox5 = New-Object system.Windows.Forms.PictureBox #ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
$PictureBox5.width = 10
$PictureBox5.height = 10
$PictureBox5.location = New-Object System.Drawing.Point(235,112)
if ((test-connection -Count 1 -computer 162.102.x.x -quiet) -eq $True) {
$PictureBox5.imageLocation = "C:Testyes.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
Else {
$PictureBox5.imageLocation = "C:Testno.png" #ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
}
$PictureBox5.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::zoom
$Button = New-Object System.Windows.Forms.Button
$Button.Location = New-Object System.Drawing.Size(100,150)
$Button.Size = New-Object System.Drawing.Size(80,30)
$Button.Text = "Reload"
# ΠΠ΅ΡΠ°Π΅ΠΌ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ PictureBox ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅
$Button.Add_Click({
if ((Test-Connection -Count 1 -computer ya.ru -quiet) -eq $True)
{$PictureBox.imageLocation = "C:Testyes.png"}
Else {$PictureBox.imageLocation = "C:Testno.png"}
if ((Test-Connection -Count 1 -computer 8.8.8.8 -quiet) -eq $True)
{$PictureBox1.imageLocation = "C:Testyes.png"}
Else {$PictureBox1.imageLocation = "C:Testno.png"}
if ((Test-Connection -Count 1 -computer 192.168.x.x -quiet) -eq $True)
{$PictureBox2.imageLocation = "C:Testyes.png"}
Else {$PictureBox2.imageLocation = "C:Testno.png"}
if ((Test-Connection -Count 1 -computer 192.168.x.x -quiet) -eq $True)
{$PictureBox3.imageLocation = "C:Testyes.png"}
Else {$PictureBox3.imageLocation = "C:Testno.png"}
if ((Test-Connection -Count 1 -computer 10.0.x.x -quiet) -eq $True)
{$PictureBox4.imageLocation = "C:Testyes.png"}
Else {$PictureBox4.imageLocation = "C:Testno.png"}
if ((Test-Connection -Count 1 -computer 162.102.x.x -quiet) -eq $True)
{$PictureBox5.imageLocation = "C:Testyes.png"}
Else {$PictureBox5.imageLocation = "C:Testno.png"}
})
$main_form.Controls.Add($Label) #Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊ ΡΠΎΡΠΌΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ»ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ°
$main_form.Controls.Add($Label1)
$main_form.Controls.Add($Label2)
$main_form.Controls.Add($Label3)
$main_form.Controls.Add($Label4)
$main_form.Controls.Add($Label5)
$main_form.Controls.Add($PictureBox)
$main_form.Controls.Add($PictureBox1)
$main_form.Controls.Add($PictureBox2)
$main_form.Controls.Add($PictureBox3)
$main_form.Controls.Add($PictureBox4)
$main_form.Controls.Add($PictureBox5)
$main_form.Controls.Add($Button)
$main_form.ShowDialog() #ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΡΠΈΡΡΠΎΡΡ ΠΈ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π΅ ΡΠ°ΠΌΡΠ΅ ΠΏΡΠΈΡΡΠ½ΡΠ΅ ΠΎΡΡΡΠ΅Π½ΠΈΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π²ΡΠ½ΠΎΡΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π° ΠΏΡΡΡ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ:
$script_path = "C:TestPS ping"
#ΠΠ΅ΡΠ΅Π΅Π·ΠΆΠ°Π΅ΠΌ Π² ΡΠΈΠ½ΠΊΡΠΈΡ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ PictureBox ΠΈ IP-Π°Π΄ΡΠ΅ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
#ΠΠ° Π²ΡΡ
ΠΎΠ΄Π΅ ΠΎΠ½ΠΎ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ.
function get_status($PictureBox,$path_ip) {
if ((Test-Connection -Count 1 -computer $path_ip -quiet) -eq $True)
{$PictureBox.imageLocation = $script_path + "yes.png"}
Else {$PictureBox.imageLocation = $script_path + "no.png"}
}
ΠΡΠ½Π΅ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Ρ ΠΎΡΡΠ΅ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ°ΠΉΠ» path.txt, Π·Π°ΠΏΠΈΡΡΠ²Π°Ρ Π² Π²ΠΈΠ΄Π΅ Β«ip/host-functional-name/Β», Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Ρ. Π’Π°ΠΊ ΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠ°ΡΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ Y Π±ΠΎΠ»Π΅Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ. ΠΡΠ΅ ΡΡΠΎ Π΄Π°Π΅Ρ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Label`Ρ ΠΈ checkbox`Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ:
#ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ, Π½Π° Π²Ρ
ΠΎΠ΄ ΠΈΠ΄ΡΡ: ΠΎΠ±ΡΠ΅ΠΊΡ Label, IP-Π°Π΄ΡΠ΅ΡΡ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎ ΠΎΡΠΈ Y
Function Create_line($label,$path_ip,$caption, $top){
$label.Location = New-Object System.Drawing.Point(1, $top)
$label.text = $path_ip+$caption
$label.font = $font
$Label.AutoSize = $true
}
#ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΡ, Π½Π° Π²Ρ
ΠΎΠ΄ ΠΈΠ΄ΡΡ: ΠΎΠ±ΡΠ΅ΠΊΡ PictureBox, IP-Π°Π΄ΡΠ΅ΡΡ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎ ΠΎΡΠΈ Y
Function Create_link($PictureBox,$path_ip, $top){
$PictureBox.width = 10
$PictureBox.height = 10
$PictureBox.location = New-Object System.Drawing.Point(210,$top)
get_status -PictureBox $PictureBox -path_ip $path_ip
$PictureBox.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::zoom
}
$line = Get-content -LiteralPath $script_path"path.txt" #Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Ρ
ΠΎΡΡΠ°Ρ
$len = $line.Length #Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ Π΄Π»ΠΈΠ½Ρ, Π° ΡΠΎΡΠ½Π΅Π΅ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»ΠΈΠ½ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
$i = 0
#Π΄Π°Π»Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅
$ip = @() #ΠΌΠ°ΡΡΠΈΠ² ip
$capt = @() #ΠΌΠ°ΡΡΠΈΠ² ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
$Labels =@() #ΠΌΠ°ΡΡΠΈΠ² Label
$PictureBoxs =@() #ΠΌΠ°ΡΡΠΈΠ² PictureBox
while($i -lt $len){
$f = $line[$i].IndexOf("/") #Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°ΡΠ°Π»Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
$l = $line[$i].LastIndexOf("/") #Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΠΎΠ½ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
$ip += $line[$i].Substring(0,$f) #Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ ip
$capt += $line[$i].Substring($f+1,$l-$f-1) #Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
#ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»Π΅ Label
Create_line -label ($label_obj = New-Object System.Windows.Forms.Label) -path_ip $ip[$i] -caption $capt[$i] -top $label_from_top
#ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»Π΅ PictureBox
Create_link -PictureBox ($PictureBox_obj = New-Object system.Windows.Forms.PictureBox) -path_ip $ip[$i] -top $label_from_top
$label_from_top += 15 #Π΄Π΅Π»Π°Π΅ΠΌ "ΡΠ°Π³" ΠΏΠΎ ΠΎΡΠΈ Y
$Labels += $label_obj #Π²Π½ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Label Π² ΠΎΠ±ΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²
$PictureBoxs += $PictureBox_obj #Π²Π½ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ PictureBox Π² ΠΎΠ±ΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²
$main_form.Controls.Add($Labels[$i])
$main_form.Controls.Add($PictureBoxs[$i])
$i +=1
}
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ Π½Π΅ΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ.
$Label0 = New-Object System.Windows.Forms.Label
$Label0.Text = Get-Date
$Label0.Location = New-Object System.Drawing.Point(80,180)
$Label0.AutoSize = $true
$main_form.Controls.Add($Label0)
$Button.Add_Click({
while($i -lt $len){
get_status -PictureBox $PictureBoxs[$i] -path_ip $ip[$i]
$i +=1
}
$Label0.Text = Get-Date
})
Π ΡΠ°ΠΊ ΠΆΠ΅ Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ» Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΡΠΈΡΡΡΠ½Π΅ Π±Π°Π³, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ° ΡΠΎΠΎΠ±ΡΠ°Π»ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°, Π½ΠΎ ΠΈ Π²ΠΎΠΏΠΈΠ»ΠΎ ΠΈΠ· Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠ².
Add-Type -AssemblyName System.Speech
$voice = New-Object System.Speech.Synthesis.SpeechSynthesizer
$voice.Rate = 5
$voice.Speak("ΠΠΎΡΠ½ΠΈΠ½Π³! ΠΠΎΡΠ½ΠΈΠ½Π³! ΠΠ°ΠΉΠ· ΠΈΠ· Π°Π½Π΄Π΅Ρ Π°ΡΡΠ°ΠΊ!")
Π’Π°ΠΊ ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΊΡΠ°ΡΠ°ΡΠ΅Π»ΡΡΡΠ² ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΠΌΡΡΠ΄ΠΎΠ±Π½ΠΎΠΌΡ ΠΌΠ½Π΅ Π²ΠΈΠ΄Ρ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΊΡΠΈΠΏΡΠ°
Add-Type -AssemblyName System.Speech
Add-Type -assembly System.Windows.Forms
$script_path = "C:PS ping"
$label_from_top = 10
$voice = New-Object System.Speech.Synthesis.SpeechSynthesizer
$voice.Rate = 5
#ΠΠ΅ΡΠ΅Π΅Π·ΠΆΠ°Π΅ΠΌ Π² ΡΠΈΠ½ΠΊΡΠΈΡ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ PictureBox ΠΈ IP-Π°Π΄ΡΠ΅ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
#ΠΠ° Π²ΡΡ
ΠΎΠ΄Π΅ ΠΎΠ½ΠΎ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ.
function get_status($PictureBox,$path_ip) {
if ((Test-Connection -Count 1 -computer $path_ip -quiet) -eq $True) {
$PictureBox.imageLocation = $script_path + "yes.png"
}
Else {
$PictureBox.imageLocation = $script_path + "no.png"
$voice.Speak("ΠΡΠΈΠ±ΠΊΠ°! Π₯ΠΎΡΡ " + $path_ip + ", Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½!")
}
}
#ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ, Π½Π° Π²Ρ
ΠΎΠ΄ ΠΈΠ΄ΡΡ: ΠΎΠ±ΡΠ΅ΠΊΡ Label, IP-Π°Π΄ΡΠ΅ΡΡ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎ ΠΎΡΠΈ Y
Function Create_line($label,$path_ip,$caption, $top){
$label.Location = New-Object System.Drawing.Point(1, $top)
$label.text = $path_ip+$caption
$label.font = $font
$Label.AutoSize = $true
}
#ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΡ, Π½Π° Π²Ρ
ΠΎΠ΄ ΠΈΠ΄ΡΡ: ΠΎΠ±ΡΠ΅ΠΊΡ PictureBox, IP-Π°Π΄ΡΠ΅ΡΡ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎ ΠΎΡΠΈ Y
Function Create_link($PictureBox,$path_ip, $top){
$PictureBox.width = 10
$PictureBox.height = 10
$PictureBox.location = New-Object System.Drawing.Point(210,$top)
get_status -PictureBox $PictureBox -path_ip $path_ip
$PictureBox.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::zoom
}
$main_form = New-Object System.Windows.Forms.Form
$main_form.Text ='Links up' #ΠΠΌΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅
$main_form.Width = 300 #Π¨ΠΈΡΠΈΠ½Π° ΠΎΠΊΠ½Π°
$main_form.Height = 200 #ΠΡΡΠΎΡΠ° ΠΎΠΊΠ½Π°
$main_form.AutoSize = $true #ΠΠ°Π΅ΠΌ Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
$main_form.TopMost = $true #ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°Ρ ΡΡΡΠΊΠ°, ΠΎΠ½Π° Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΠΎΠ²Π΅ΡΡ
Π΄ΡΡΠ³ΠΈΡ
$line = Get-content -LiteralPath $script_path"path.txt" #Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Ρ
ΠΎΡΡΠ°Ρ
$len = $line.Length #Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ Π΄Π»ΠΈΠ½Ρ, Π° ΡΠΎΡΠ½Π΅Π΅ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»ΠΈΠ½ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
$i = 0
#Π΄Π°Π»Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅
$ip = @() #ΠΌΠ°ΡΡΠΈΠ² ip
$capt = @() #ΠΌΠ°ΡΡΠΈΠ² ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
$Labels =@() #ΠΌΠ°ΡΡΠΈΠ² Label
$PictureBoxs =@() #ΠΌΠ°ΡΡΠΈΠ² PictureBox
while($i -lt $len){
$f = $line[$i].IndexOf("/") #Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°ΡΠ°Π»Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
$l = $line[$i].LastIndexOf("/") #Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΠΎΠ½ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
$ip += $line[$i].Substring(0,$f) #Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ ip
$capt += $line[$i].Substring($f+1,$l-$f-1) #Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
#ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»Π΅ Label
Create_line -label ($label_obj = New-Object System.Windows.Forms.Label) -path_ip $ip[$i] -caption $capt[$i] -top $label_from_top
#ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»Π΅ PictureBox
Create_link -PictureBox ($PictureBox_obj = New-Object system.Windows.Forms.PictureBox) -path_ip $ip[$i] -top $label_from_top
$label_from_top += 15 #Π΄Π΅Π»Π°Π΅ΠΌ "ΡΠ°Π³" ΠΏΠΎ ΠΎΡΠΈ Y
$Labels += $label_obj #Π²Π½ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Label Π² ΠΎΠ±ΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²
$PictureBoxs += $PictureBox_obj #Π²Π½ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ PictureBox Π² ΠΎΠ±ΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²
$main_form.Controls.Add($Labels[$i])
$main_form.Controls.Add($PictureBoxs[$i])
$i +=1
}
#ΡΡΠΎ ΠΏΠΎΠ»Π΅ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
$Label0 = New-Object System.Windows.Forms.Label
$Label0.Text = Get-Date
$Label0.Location = New-Object System.Drawing.Point(80,180)
$Label0.AutoSize = $true
# ΠΠ΅ΡΠ°Π΅ΠΌ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ PictureBox ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅
$Button = New-Object System.Windows.Forms.Button
$Button.Location = New-Object System.Drawing.Size(100,200)
$Button.Size = New-Object System.Drawing.Size(80,30)
$Button.Text = "Reload"
$Button.Add_Click({
while($i -lt $len){
get_status -PictureBox $PictureBoxs[$i] -path_ip $ip[$i]
$i +=1
}
$i = 0
$Label0.Text = Get-Date
})
$main_form.Controls.Add($Button)
$main_form.Controls.Add($Label0)
$main_form.ShowDialog()
ΠΠΎΡΠ»Π΅ΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠ°Π΄Π΅ΡΡΡ ΠΊΠΎΠΌΡ-ΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ ΡΠ°ΠΊΠΎΠ΅ ΡΡΡΡ-Π»ΠΈ Π½Π΅ Ρ ΠΏΠ΅Π»Π΅Π½ΠΎΠΊ Π΄Π΅Π»Π°Π»ΠΈ, ΡΠΎ ΠΏΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ, Ρ β Π½Π΅ Π΄Π΅Π»Π°Π». ΠΠΎ Ρ Π³ΠΎΡΠΎΠ² Π²ΡΡΠ»ΡΡΠ°ΡΡ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ ΠΏΠΎΠΊΠΎΠΏΠ°ΡΡΡΡ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π² Π±ΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ. Π ΠΏΠ»Π°Π½Π°Ρ Π΅ΡΠ΅ ΡΡΠΎΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ·Π»ΠΎΠ² ΠΈΠ· GUI, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΈ ΡΠΎ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠΎΠ² Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Β«ΡΡΠΊΠ°ΡΡΒ» ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π½Π΅ Π²Π΅ΡΠ°Π»ΠΎ Β«powershell.exeΒ».
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π½Π°
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com