Enkelt script för att visa nätverksadaptrars info i Powershell med GUI och knappar

Trädvy Permalänk
Medlem
Plats
Stökholmia
Registrerad
Feb 2011

Enkelt script för att visa nätverksadaptrars info i Powershell med GUI och knappar

jag behöver lite hjälp, jag tänkte se om någon har några färdiga scripts där man får upp ett fönster som skriver ut alla nätverksadaptrars namn samt sedan kan trycka på någon av dom adaptrarna för att se mac eller annan relevant information om adaptern.

om man bara kunde få in denna kod i ett GUI så hade det varit kanon!
Code origin: https://gallery.tech...ion-of-6d07766f

param (
[array]$arrComputer="$env:computername"
)

"`n"

Write-Host "Name| NetworkCard | IP | SUBNET | GateWay | MacADD | DNS " -ForegroundColor Green

foreach ( $Computer in $arrComputer ) {

$nwINFO = Get-WmiObject -ComputerName $Computer Win32_NetworkAdapterConfiguration | Where-Object { $_.IPAddress -ne $null } #| Select-Object DNSHostName,Description,IPAddress,IpSubnet,DefaultIPGateway,MACAddress,DNSServerSearchOrder | format-Table * -AutoSize
#| Select-Object DNSHostName,Description,IPAddress,IpSubnet,DefaultIPGateway,MACAddress,DNSServerSearchOrder
$nwServerName = $nwINFO.DNSHostName
$nwDescrip = $nwINFO.Description
$nwIPADDR = $nwINFO.IPAddress
$nwSUBNET = $nwINFO.IpSubnet
$nwGateWay = $nwINFO.DefaultIPGateway
$nwMacADD = $nwINFO.MACAddress
$nwDNS = $nwINFO.DNSServerSearchOrder
# Server/CompName |NetworkCard | IPAdress | SubnetMask| Gateway | MAC Address| DNS |
Write-Host "$nwServerName | $nwDescrip | $nwIPADDR | $nwSUBNET | $nwGateWay | $nwMacADD | $nwDNS " | ft *

}

Dold text

om det är för jobbig så kanske man kan göra något liknande fast för att se alla dator namn inom lokala nätverket samt kanske kunna pinga de datorer den hittade.

Mvh

Intel Core i7-7700K @5GHz [Cools with Corsair GTX100i [Push & Pull]] | Asus Formula IX | SLI ASUS GTX 1080Ti STRIX OC@2GHz | Corsair RM1000X | Corsair Dominator Platinum Blackout 32GB 3200MHz (4x8GB) | 950 Pro 512GB M.2 | x3 850PRO 512GB | 5/3TB WD Green/black | Enthoo Evolv ATX | Main Screen: Acer 27" IPS G-Sync 144hz XB270HU | AUX: LG IPS7 27" (x3) | Copyright©1996-2017 RaW-D-Coy Inc.™ All rights reserved. ®

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Okt 2002
Skrivet av RaW D Coy:

jag behöver lite hjälp, jag tänkte se om någon har några färdiga scripts där man får upp ett fönster som skriver ut alla nätverksadaptrars namn samt sedan kan trycka på någon av dom adaptrarna för att se mac eller annan relevant information om adaptern.

om man bara kunde få in denna kod i ett GUI så hade det varit kanon!
Code origin: https://gallery.tech...ion-of-6d07766f

param (
[array]$arrComputer="$env:computername"
)

"`n"

Write-Host "Name| NetworkCard | IP | SUBNET | GateWay | MacADD | DNS " -ForegroundColor Green

foreach ( $Computer in $arrComputer ) {

$nwINFO = Get-WmiObject -ComputerName $Computer Win32_NetworkAdapterConfiguration | Where-Object { $_.IPAddress -ne $null } #| Select-Object DNSHostName,Description,IPAddress,IpSubnet,DefaultIPGateway,MACAddress,DNSServerSearchOrder | format-Table * -AutoSize
#| Select-Object DNSHostName,Description,IPAddress,IpSubnet,DefaultIPGateway,MACAddress,DNSServerSearchOrder
$nwServerName = $nwINFO.DNSHostName
$nwDescrip = $nwINFO.Description
$nwIPADDR = $nwINFO.IPAddress
$nwSUBNET = $nwINFO.IpSubnet
$nwGateWay = $nwINFO.DefaultIPGateway
$nwMacADD = $nwINFO.MACAddress
$nwDNS = $nwINFO.DNSServerSearchOrder
# Server/CompName |NetworkCard | IPAdress | SubnetMask| Gateway | MAC Address| DNS |
Write-Host "$nwServerName | $nwDescrip | $nwIPADDR | $nwSUBNET | $nwGateWay | $nwMacADD | $nwDNS " | ft *

}

Dold text

om det är för jobbig så kanske man kan göra något liknande fast för att se alla dator namn inom lokala nätverket samt kanske kunna pinga de datorer den hittade.

Mvh

Det finns lite sätt att få in det i ett GUI men att sedan hämta mer och mer information baserat på val tycker jag blir lite svårare. Kanske någon annan som vet.

Du kan i alla fall använda koden nedan för att lista upp saker i boxar och sedan se om du kan leka vidare med detta.

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

$nwINFO = Get-WmiObject -ComputerName $Computer Win32_NetworkAdapterConfiguration | Where-Object { $_.IPAddress -ne $null } #| Select-Object DNSHostName,Description,IPAddress,IpSubnet,DefaultIPGateway,MACAddress,DNSServerSearchOrder | format-Table * -AutoSize
$nwServerName = $nwINFO.DNSHostName
$nwDescrip = $nwINFO.Description
$nwIPADDR = $nwINFO.IPAddress
$nwSUBNET = $nwINFO.IpSubnet
$nwGateWay = $nwINFO.DefaultIPGateway
$nwMacADD = $nwINFO.MACAddress
$nwDNS = $nwINFO.DNSServerSearchOrder

$objForm = New-Object System.Windows.Forms.Form
$objForm.Text = "Network Server Name"
$objForm.Size = New-Object System.Drawing.Size(600,540)
$objForm.StartPosition = "CenterScreen"

$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter")
{$x=$objTextBox.Text;$objForm.Close()}})
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape")
{$objForm.Close()}})

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(490,460)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = "OK"
$OKButton.Add_Click({$x=$objTextBox.Text;$u = $objTextBox2.Text; $objForm.Close()})
$objForm.Controls.Add($OKButton)

$objTextBox = New-Object System.Windows.Forms.ListBox
$objTextBox.Location = New-Object System.Drawing.Size(10,40)
$objTextBox.Size = New-Object System.Drawing.Size(270,20)
$objTextBox.Height = 200
$objForm.Controls.Add($objTextBox)

$objTextBox2 = New-Object System.Windows.Forms.ListBox
$objTextBox2.Location = New-Object System.Drawing.Size(300,40)
$objTextBox2.Size = New-Object System.Drawing.Size(270,20)
$objTextBox2.Height = 200
$objForm.Controls.Add($objTextBox2)

$objTextBox3 = New-Object System.Windows.Forms.ListBox
$objTextBox3.Location = New-Object System.Drawing.Size(10,250)
$objTextBox3.Size = New-Object System.Drawing.Size(560,20)
$objTextBox3.Height = 200
$objForm.Controls.Add($objTextBox3)

$nwServerName | ForEach-Object {[void] $objTextBox.Items.Add($_)}
$nwDescrip | ForEach-Object {[void] $objTextBox2.Items.Add($_)}
$nwIPADDR | ForEach-Object {[void] $objTextBox3.Items.Add($_)}
#$nwSUBNET | ForEach-Object {[void] $objListBox.Items.Add($_)}
#$nwGateWay
#$nwMacADD
#$nwDNS

$objForm.Topmost = $True

$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()

Dold text

Jag har själv byggt en GUI-kontrollpanel som jag använder på jobb, men den kallar olika script bara sedan som den kör utan GUI. Funktion framför utseende

#powershell #ps1 #script

-:| i7-3930K | Asus P9X79 Deluxe | 8x4GB Corsair Vengeance 1600Mhz |:-
-:| Gigabyte GTX1070 | Massa disk | Corsair TX750W |:-
-:| Citera för svar |:-