Advertisement
Guest User

Untitled

a guest
Oct 4th, 2022
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. [CmdletBinding()]
  2. param (
  3.     [Parameter()]
  4.     [switch]
  5.     $ShowInfo
  6. )
  7.  
  8. # Välj nätadapter
  9. $NetAdapter = Get-NetAdapter | Out-Gridview -PassThru
  10.  
  11. # Importera inställningar från CSV (ur samma mapp som scriptet)
  12. $ImportedScope = Import-Csv $PSScriptRoot\NetworkSelection.csv -Delimiter "," | Out-GridView -PassThru
  13.  
  14. # Om inget alternativ väljs - skippa
  15. if (![string]::IsNullOrEmpty($ImportedScope.Network)) {
  16.  
  17.     if ($ImportedScope.Network -eq 'DHCP') {
  18.        
  19.         # Fortsätt om DHCP är inaktiverad
  20.         If (!(Get-NetIPInterface -InterfaceIndex $NetAdapter.ifindex -AddressFamily IPv4).Dhcp -as [bool]) {
  21.  
  22.             # Ta bort gamla routes om det finns
  23.             if ((Get-NetIPConfiguration -InterfaceIndex $NetAdapter.ifindex).Ipv4DefaultGateway -as [bool]) {
  24.                 Remove-NetRoute -InterfaceIndex $NetAdapter.ifindex -Confirm:$false | Out-Null
  25.             }
  26.  
  27.             # Därefter aktivera DHCP & återställ DNS
  28.             Set-NetIPInterface -InterfaceIndex $NetAdapter.ifindex -DHCP Enabled -AddressFamily IPV4
  29.             Set-DnsClientServerAddress -InterfaceIndex $NetAdapter.ifindex -ResetServerAddresses
  30.             }
  31.  
  32.             # Se om internet fungerar, om inte kör /renew
  33.             Start-Sleep 4
  34.             if(!(Test-NetConnection -DiagnoseRouting).RouteDiagnosticsSucceeded){
  35.                 Write-Host "Running ipconfig /renew $($NetAdapter.Name)" -Foregroundcolor DarkYellow
  36.                 Start-Process ipconfig -ArgumentList "/renew $($NetAdapter.Name)" -Wait
  37.             }
  38.  
  39.     } else {
  40.         # Rensa gamla inställningar
  41.         $NetAdapter | Remove-NetIPAddress -Confirm:$false
  42.         $NetAdapter | Remove-NetRoute -Confirm:$false
  43.  
  44.         # Sätt interface alternativ för valt "Network"
  45.         Set-DnsClientServerAddress -InterfaceIndex $NetAdapter.ifindex -ServerAddresses ($ImportedScope.dns1,$ImportedScope.dns2)
  46.         New-NetIPAddress -InterfaceIndex $NetAdapter.ifindex -IPAddress $ImportedScope.IPAddress -AddressFamily IPv4 -PrefixLength $ImportedScope.SubnetMask -DefaultGateway $ImportedScope.DefaultGateway | Out-Null
  47.     }
  48. }
  49.  
  50. if ($ShowInfo) {
  51.     Write-Host "`n[INFO] $($ImportedScope.Network)"
  52.     Write-Host "`n --NetIPInterface" -Foregroundcolor DarkGreen
  53.     Get-NetIPInterface -InterfaceIndex $NetAdapter.ifindex -AddressFamily IPv4
  54.     Write-Host "`n --NetIPConfiguration(DefaultGateway)" -Foregroundcolor DarkGreen
  55.     Get-NetIPConfiguration -InterfaceIndex $NetAdapter.ifindex | Select-Object -ExpandProperty Ipv4DefaultGateway | Format-Table
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement