Powershell Script Fehler und Bitte Warten Dialog
Hallo ihr lieben,
ich habe mir ein kleines Script zusammen geschrieben mit welchem ich meine Netzwerkadapter steuere.
Ich glaube das Bild erklärt ganz gut was das Tool macht:
Bei jeder Änderung soll außerdem die Button Farbe geändert werden.
Grün für AN bzw TRIFFT ZU
Rot für AUS bzw TRIFFT NICHT ZU
Der Button Färben hat nur Testgründe
Jetzt habe ich hier 2 Probleme:
1) In der ISE funktioniert das Prima mit der Function faerb()
Wenn ich das Script aber selbst ausführe bekomme ich den Fehler:
2) Das aktivieren und deaktivieren dauert schon mal etwas, gerade das aktivieren des WLAN Adapters.
Und wenn das erledigt ist muss ich trotzdem noch ein "Sleep" einfügen weil sonst die Farbänderung des Buttons nicht funktioniert.
Unterm Strich funktioniert so zwar alles aber eigentlich hätte ich gern so eine "Adapter wird umgeschaltet" Meldung, mit zum Beispiel einem "Ladebalken"
Quasi sowas:
Hab aber keine Ahnung wie ich das umsetze...
Hier mal mein Code:
Würde mich freuen wenn mir da jemand helfen könnte
Grüße
ich habe mir ein kleines Script zusammen geschrieben mit welchem ich meine Netzwerkadapter steuere.
Ich glaube das Bild erklärt ganz gut was das Tool macht:
Bei jeder Änderung soll außerdem die Button Farbe geändert werden.
Grün für AN bzw TRIFFT ZU
Rot für AUS bzw TRIFFT NICHT ZU
Der Button Färben hat nur Testgründe
Jetzt habe ich hier 2 Probleme:
1) In der ISE funktioniert das Prima mit der Function faerb()
Wenn ich das Script aber selbst ausführe bekomme ich den Fehler:
faerb : Die Benennung "faerb" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens,
oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In C:\scripte\Toogle Network.ps1:109 Zeichen:1
+ faerb
+ ~~~~~
+ CategoryInfo : ObjectNotFound: (faerb:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
2) Das aktivieren und deaktivieren dauert schon mal etwas, gerade das aktivieren des WLAN Adapters.
Und wenn das erledigt ist muss ich trotzdem noch ein "Sleep" einfügen weil sonst die Farbänderung des Buttons nicht funktioniert.
Unterm Strich funktioniert so zwar alles aber eigentlich hätte ich gern so eine "Adapter wird umgeschaltet" Meldung, mit zum Beispiel einem "Ladebalken"
Quasi sowas:
Hab aber keine Ahnung wie ich das umsetze...
Hier mal mein Code:
Add-Type -AssemblyName System.Windows.Forms
$adapter1 = "Ethernet 4"
$adapter2 = "WLAN"
$buttonfont = "Arial Narrow"
$buttonfontsize = 11
# Erstellen eines neuen Formulars
$form = New-Object System.Windows.Forms.Form
$form.Text = "NetAdapter-Tool"
$form.Size = New-Object System.Drawing.Size(300,300)
$form.StartPosition = "CenterScreen"
$form.FormBorderStyle = "FixedDialog"
# Erstellen der Buttons
$button1 = New-Object System.Windows.Forms.Button
$button1.Font = New-Object System.Drawing.Font($buttonfont,$buttonfontsize,[System.Drawing.FontStyle]::Bold)
$button1.Forecolor = 'White'
$button1.Location = New-Object System.Drawing.Point(50,30)
$button1.Size = New-Object System.Drawing.Size(200,30)
$button1.Text = "LAN AN/AUS"
$button1.Add_Click({
$inputStr = netsh interface show interface $adapter1
$bspStr = $inputStr -match "aktiviert"
If ($bspStr -like "*Aktiviert*" -and $bspStr -notlike "*Deaktiviert*" )
{
netsh interface set interface $adapter1 admin=disable
write-Host "LAN wurde deaktiviert."
} else {
netsh interface set interface $adapter1 admin=enable
Write-Host "LAN wurde aktiviert."
}
Start-Sleep -Seconds 4
faerb
})
$button2 = New-Object System.Windows.Forms.Button
$button2.Font = New-Object System.Drawing.Font($buttonfont,$buttonfontsize,[System.Drawing.FontStyle]::Bold)
$button2.Location = New-Object System.Drawing.Point(50,70)
$button2.Forecolor = 'White'
$button2.Size = New-Object System.Drawing.Size(200,30)
$button2.Text = "WLAN AN/AUS"
$button2.Add_Click({
$inputStr = netsh interface show interface $adapter2
$bspStr = $inputStr -match "aktiviert"
If ($bspStr -like "*Aktiviert*" -and $bspStr -notlike "*Deaktiviert*" ) {
netsh interface set interface $adapter2 admin=disable
Write-Host "WLAN wurde deaktiviert."
} else {
netsh interface set interface $adapter2 admin=enable
Write-Host "WLAN wurde aktiviert."
}
Start-Sleep -Seconds 4
faerb
})
$button3 = New-Object System.Windows.Forms.Button
$button3.Font = New-Object System.Drawing.Font($buttonfont,$buttonfontsize,[System.Drawing.FontStyle]::Bold)
$button3.Location = New-Object System.Drawing.Point(50,110)
$button3.Forecolor = 'White'
$button3.Size = New-Object System.Drawing.Size(200,30)
$button3.Text = "LAN aus WLAN an"
$button3.Add_Click({
netsh interface set interface $adapter1 admin=disable
netsh interface set interface $adapter2 admin=enable
Write-Host "Lan wurde deaktiviert & WLAN aktiviert."
Start-Sleep -Seconds 4
faerb
})
$button4 = New-Object System.Windows.Forms.Button
$button4.Font = New-Object System.Drawing.Font($buttonfont,$buttonfontsize,[System.Drawing.FontStyle]::Bold)
$button4.Location = New-Object System.Drawing.Point(50,150)
$button4.Forecolor = 'White'
$button4.Size = New-Object System.Drawing.Size(200,30)
$button4.Text = "WLAN aus LAN an"
$button4.Add_Click({
netsh interface set interface $adapter1 admin=enable
netsh interface set interface $adapter2 admin=disable
Write-Host "Lan wurde aktiviert & WLAN deaktiviert."
Start-Sleep -Seconds 4
faerb
})
$button5 = New-Object System.Windows.Forms.Button
$button5.Font = New-Object System.Drawing.Font($buttonfont,$buttonfontsize,[System.Drawing.FontStyle]::Bold)
$button5.Location = New-Object System.Drawing.Point(50,190)
$button5.Forecolor = 'White'
$button5.Size = New-Object System.Drawing.Size(200,30)
$button5.Text = "Färben"
$button5.BackColor = 'Goldenrod'
$button5.Add_Click({
faerb
})
# Hinzufügen der Buttons zum Formular
$form.Controls.Add($button1)
$form.Controls.Add($button2)
$form.Controls.Add($button3)
$form.Controls.Add($button4)
$form.Controls.Add($button5)
faerb
function faerb
{
$adapterstat1 = Get-NetAdapter -Name $adapter1
$adapterstat2 = Get-NetAdapter -Name $adapter2
Write-Host $adapterstat1.Status
Write-Host $adapterstat2.Status
If ($($adapterstat1.Status) -ne "Disabled")
{
$button1.BackColor = 'DarkGreen'
} else {
$button1.BackColor = 'DarkRed'
}
If ($($adapterstat2.Status) -ne "Disabled")
{
$button2.BackColor = 'DarkGreen'
} else {
$button2.BackColor = 'DarkRed'
}
If ($($adapterstat2.Status) -ne "Disabled" -and ($($adapterstat1.Status) -eq "Disabled"))
{
$button3.BackColor = 'DarkGreen'
} else {
$button3.BackColor = 'DarkRed'
}
If ($($adapterstat1.Status) -ne "Disabled" -and ($($adapterstat2.Status) -eq "Disabled"))
{
$button4.BackColor = 'DarkGreen'
} else {
$button4.BackColor = 'DarkRed'
}
}
# Anzeigen des Formulars
$form.ShowDialog() | Out-Null
Würde mich freuen wenn mir da jemand helfen könnte
Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 61129182760
Url: https://administrator.de/contentid/61129182760
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
4 Kommentare
Neuester Kommentar
https://stackoverflow.com/questions/3917592/why-do-i-need-to-have-my-fun ...
Setz die Funktion faerb mal an den Anfang....
Setz die Funktion faerb mal an den Anfang....