Sannu kowa da kowa, Ina so in raba jagora mai sauΖi: "Yadda za a daina yin pinging da yawa na runduna da hannu. Babu rajista ko SMS da ake buΖata!"
Daga faxin Intanet
MuhimmanciNi ba mai shirye-shirye ba ne ko mai gudanar da tsarin kwamfuta, amma dole ne in yi aiki da babban saitin sabobin da ayyuka kuma na rubuta wannan rubutun don jin daΙin kaina.
Duk wanda zai iya samun wannan mai amfani ko mai sha'awar, da fatan za a karanta a gaba.
Me yasa PowershellIna da gogewa wajen rubuta shirye-shiryen Python masu sauΖi, amma yana buΖatar ko dai an shigar da mai fassara ko izini don gudanar da .exe, wanda ba koyaushe yake yiwuwa a cikin layin aiki na ba. Rubutun PowerShell, duk da haka, galibi yana iya aiki.
Ba kowa bane ke son na'ura wasan bidiyo/tasha
Ba na tsammanin akwai wani sabani a nan, in ba haka ba kowa zai ci gaba da amfani da abokan cinikin imel Ιin na'ura kuma GUI ba za su bayyana akan tsarin * nix ba.
Tun da nake amfani da PowerShell ta hanyar da ta dace a cikin aikina na yau da kullun, na fara ΖoΖarin gano ko zai yiwu a Ζara GUI a ciki. Ya bayyana yana yiwuwa, kuma mai sauqi qwarai, ma:

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() #ΠΡΠ·ΡΠ²Π°Π΅ΠΌ "ΠΎΠΊΠ½ΠΎ"
Ζara zuwa wannan Ιangaren fitarwa kuma mun sami taga na farko na Windows - tautology?

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() #ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎBari mu Ζara wasu kuzari
Don haka, kayan aikin da na yi amfani da su don "ping Yandex" da hawan * .iso fayiloli yanzu suna da GUI mai sadaukarwa, amma wannan bai isa ba. Kuna iya nuna bayanin samuwa ta hanya iri Ιaya, amma saka idanu yana buΖatar sake kunna rubutun kowane lokaci.
Don farawa, bari mu zana gumaka biyu kuma mu Ζara ikon nuna hotuna.

$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)
Sabbin sabobin mu na DNS suna aiki kuma...

Za mu kuma Ζara maΙalli don ba da damar sabunta karatun.

$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)

Mai girma, yanzu a cikin samarwa!?
Bayan shigar da runduna kusan rabin dozin da hannu, kwatsam na gane abu Ιaya: wannan aikin zai Ζare, rundunonin za su canza, kuma dole ne in gyara rubutun kowane lokaci. A gefe guda, ba wani babban abu ba ne; yanke shawara ne kawai. A gefe guda, yanke shawara ne na sirri-duba sakamakon:
Kallon kallo ba na masu tauye ba.
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() #ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
Ko da kun kiyaye shi da tsabta kuma ku manne da tsarin, gyara lokaci-lokaci ba zai zama mafi kyawun kwarewa ba.
Don farawa, muna matsar da rajistan samuwa zuwa wani aiki na daban, da kuma hanyar jagora zuwa wani mabambanta daban:
$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"}
}
Za mu fitar da bayanan rundunar zuwa fayil na waje, path.txt, ta amfani da tsarin "ip/host-functional-name/," sannan mu adana shi a cikin tsararru a cikin takaddar. Za mu kuma sa lissafin matsayin Y ya zama mai sarrafa kansa. Wannan yana ba mu damar ΖirΖirar Labels da Akwatunan rajista ta hanyar kiran aiki:

#ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ, Π½Π° Π²Ρ
ΠΎΠ΄ ΠΈΠ΄ΡΡ: ΠΎΠ±ΡΠ΅ΠΊΡ 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
}
Bari mu Ζara wuri don nuna lokacin rajistan Ζarshe, saboda ya dace, kuma za mu Ιan Ζara Ζarin aikin yayin danna maΙallin.

$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
})
Na kuma Ζara Ζaramin sifa wanda, lokacin gano mai masaukin da ba ya samuwa, ba wai kawai ya nuna shi ta hanyar canza alamar ba, har ma ta hanyar kururuwa daga masu magana.
Add-Type -AssemblyName System.Speech
$voice = New-Object System.Speech.Synthesis.SpeechSynthesizer
$voice.Rate = 5
$voice.Speak("ΠΠΎΡΠ½ΠΈΠ½Π³! ΠΠΎΡΠ½ΠΈΠ½Π³! ΠΠ°ΠΉΠ· ΠΈΠ· Π°Π½Π΄Π΅Ρ Π°ΡΡΠ°ΠΊ!")
Don haka, bayan Ζ΄an Ζawata da kawo shi ga sigar da za a iya karantawa wanda ya dace da ni, ga abin da ya kasance:
Cikakken lambar rubutun
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()
Bayanword
Ina fatan wannan koyawa za ta kasance da amfani ga wani. Idan kana yin haka tun kana jariri, taya murna. bani da Amma naji dadin tsokaci da shawarwarinku.
Ni da kaina na ji daΙin tonowa tare da haΙa wannan Ζaramin abin amfani amma mai amfani. Shirye-shiryen na kuma sun haΙa da Ζarawa da share nodes daga GUI, da kuma aiwatar da abin da ya kamata a aiwatar da shi a farkon wuri: sabuntawa ta atomatik ba tare da danna maballin ba kuma hana "powershell.exe" daga faduwa.
Sabuwar sigar rubutun tana kunne GitHub
source: www.habr.com
