Ein kleinen Powershell Skript welches euch helfen soll schnell die Konfiguration eines Netzwerk Adapters vorzunehmen
Um das Script zu nutzen müssen dies Variable gefüllt werden.
$ip =“192.168.0.33″ / Statische IP für einen Netzwerk Adapter
$strMask = „255.255.255.0“ / Subnetz für einen Netzwerk Adapter
$gateway =“192.168.0.1″ / Standardgateway für einen Netzwerk Adapter
$dns1 =“192.168.0.1″ / DNS für einen Netzwerk Adapter
$dns2 =“192.168.0.1″ / DNS 2für einen Netzwerk Adapter
$networkInterface = „WLAN“ / Der Netzwerk Adapter welcher verwendet werden soll
$ssid=“MEIN WLAN“ / Die SSID von eurem WLAN mit dem ihr euch verbinden möchtet
$key=’MEIN PASSWORT‘ / Das Passwort des WLANS
$profile =“TOLLES WLAN“ / WLAN Profile welches gelöscht werden soll
Jetzt kommen die Funktionen welche separat gesetzt werden können mit Ja oder Nein (Bitte groß -und Kleinschreibung beachten)
$setInterfaceStatic = „Nein“ / Setze statische IP für den ausgewählten Adapter
$setInterfaceDisabled = „Nein“ / Deaktiviere den ausgewählten Adapter
$setInterfaceEnabled = „Nein“ / Aktiviere den ausgewählten Adapter
$setInterfaceDhcpc = „Nein“ / Setze DHCÜ für den ausgewählten Adapter
$setInterGetWlanProfiles = „Nein“ / Hole alle WLAN Profile inkl. Passwort
$setWlanConnect = „Nein“ / Verbinde ausgewählten Adapter mit WLAN Profil
$setDeleteWlanProfile = „Nein“ / Lösche WLAN Profil
$resetIpStack = „Nein“ / IP Reset – danach reboot
Die AMP Datei für Solarwinds RMM sowie die PS1 Datei zum Download findet ihr unten im Beitrag.
Ich hoffe das Skript nimmt euch ein wenig Arbeit ab.
<######################################################################
# #
# #
# #
# Herausgeber: Wallmeyer & Wallmeyer GbR #
# Website: https://www.coswa.de #
# Telefon: 05921-3083753 #
# E-Mail: info@coswa.de #
# #
# #
# #
# #
#######################################################################>
$script_name = "Network Settings"
$script_version = "0.1"
Write-Host $script_name
Write-Host "Skriptstand: 09.03.2021 14:00"
Write-Host "Version: $script_version"
#Changelog
#
#
#
#
<#
Version:0.1
Initiale Version Netzwerk Interface Einstellungen
#>
# Parameter für manuelle Tests ("<" am Anfang entfernen)
#
#
#
#
#
#
#
#
$ip ="192.168.0.33"
$strMask = "255.255.255.0"
$gateway ="192.168.0.1"
$dns1 ="192.168.0.1"
$dns2 ="192.168.0.1"
$networkInterface = "WLAN"
$ssid=""
$key=''
$profile =""
$setInterfaceStatic = "Nein"
$setInterfaceDisabled = "Nein"
$setInterfaceEnabled = "Nein"
$setInterfaceDhcpc = "Nein"
$setInterGetWlanProfiles = "Nein"
$setWlanConnect = "Nein"
$setDeleteWlanProfile = "Nein"
$resetIpStack = "Nein"
#>
Get-NetAdapter | Select Name
function set-interface-static ($networkInterface, $ip, $strMask, $gateway, $dns1 ,$dns2 ) {
netsh interface ipv4 set address name=$networkInterface static $ip $strMask $gateway 1
netsh interface ipv4 delete dnsservers name=$networkInterface all validate=no
netsh interface ipv4 set dns name=$networkInterface static addr=$dns1 validate=no
netsh interface ipv4 add dnsservers name=$networkInterface addr=$dns2 index=2 validate=no
}
function set-interface-disabled($networkInterface) {
netsh interface set interface $networkInterface disabled
}
function set-interface-enabled($networkInterface) {
netsh interface set interface $networkInterface enabled
}
function set-interface-dhcp($networkInterface) {
Set-NetIPInterface -InterfaceAlias $networkInterface -Dhcp Enabled
Set-DnsClientServerAddress -InterfaceAlias $networkInterface -ResetServerAddresses
}
function set-wlan-connect ($ssid, $key){
$WirelessNetworkSSID = $ssid
$WirelessNetworkPassword = $key
write $WirelessNetworkSSID
write $WirelessNetworkPassword
$Authentication = 'WPA2PSK' # Could be WPA2
$Encryption = 'AES'
$random = Get-Random –Minimum 1111 –Maximum 99999999
$tempProfileXML = "$env:TEMP\tempProfile$random.xml"
# Create the WiFi profile, set the profile to auto connect
$SSIDHEX=($SSID.ToCharArray() |foreach-object {'{0:X}' -f ([int]$_)}) -join''
$xmlfile="<?xml version=""1.0""?>
<WLANProfile xmlns=""http://www.microsoft.com/networking/WLAN/profile/v1"">
<name>$SSID</name>
<SSIDConfig>
<SSID>
<hex>$SSIDHEX</hex>
<name>$WirelessNetworkSSID</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</connectionMode>
<MSM>
<security>
<authEncryption>
<authentication>WPA2PSK</authentication>
<encryption>AES</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>passPhrase</keyType>
<protected>false</protected>
<keyMaterial>$WirelessNetworkPassword</keyMaterial>
</sharedKey>
</security>
</MSM>
</WLANProfile>
"
$XMLFILE > ($tempProfileXML)
netsh wlan add profile filename="$($tempProfileXML)"
netsh wlan show profiles $WirelessNetworkSSID key=clear
netsh wlan connect name=$WirelessNetworkSSID
}
function get-wlan-profiles{
$array = netsh wlan show profiles |
ForEach-Object {
if ($_ -match "\s*Profil fr alle Benutzer\s*:\s*(.*)") { $($matches[1]) }
}
$array
foreach ($wn in $array) {
netsh wlan show profile name=$wn key=clear
}
netsh wlan show interfaces | select-string SSID
}
function delete_wlan_profile($profile){
netsh wlan delete profile name=$profile
}
function Reset-IpStack {
netsh int ip reset
Restart-Computer
}
if ($setInterfaceStatic -eq "Ja"){set-interface-static $networkInterface $ip $strMask $gateway $dns1 $dns2 }
if ($setInterfaceDisabled -eq "Ja"){set-interface-disabled $networkInterface}
if ($setInterfaceEnabled -eq "Ja"){set-interface-enabled $networkInterface}
if ($setInterfaceDhcpc -eq "Ja"){set-interface-dhcp $networkInterface}
if ($setInterGetWlanProfiles -eq "Ja"){get-wlan-profiles}
if ($setWlanConnect -eq "Ja"){set-wlan-connect $ssid $key}
if ($setDeleteWlanProfile -eq "Ja"){delete_wlan_profile $profile}
if ($resetIpStack -eq "Ja"){Reset-IpStack}
https://github.com/BenWallmeyer/Powershell-Scripts/blob/main/Netzwerkeinstellungen.ps1




