In meinem Netzwerk wird von der Firewall grundsätzlich alles denied(ausgenommen HTTP/S, ICQ & RDP) was eine Verbindung ins WAN aufbauen will. Es gibt 2 IP Adresse die von dieser Regelung ausgeschlossen sind. Alles was von diesen IP Adressen kommt lässt die Firewall unbeachtet durch. Wenn ich eine solche IP brauche(zwecks VPN-Verbindung o.ä) musste ich bis heute immer die ganze Netzwerkkonfig per Hand einstellen. Ab heute übernimmt das mein Powershell Script
[php]
#loewenherz 2011
############################################
############Funktionsteil###################
############################################
function Get-IPPing {
cls
$IPstart = 150
$IPstop = 152
$Ip = "192.168.100."
Write-Host "——————–"
Write-Host "Ping IP Adressen…."
Write-Host "——————–"
Do
{
$Ip4th = $Ip + $IPstart
$Pingy = Get-WmiObject Win32_PingStatus -f "Address=’$Ip4th’"
if($Pingy.StatusCode -eq 0)
{
$HOST.UI.RawUI.ForegroundColor = "DarkGreen"
"{0,0} {1,5} {2,5}" -f
$Pingy.Address, $Pingy.StatusCode," ONLINE"
$HOST.UI.RawUI.ForegroundColor = "white"
}
else
{
$HOST.UI.RawUI.ForegroundColor = "red"
"{0,0} {1,5} {2,5}" -f $Pingy.Address, $Pingy.StatusCode, " OFFLINE"
$HOST.UI.RawUI.ForegroundColor = "white"
}
$IPstart++
}
until ($IPstart -eq $IPstop)
}
function Set-IP {
param (
[alias(‚Sb‘)]
[Parameter(mandatory=$false)]
[string]$Subnetmask = "255.255.255.0",
[alias(‚Gateway‘)]
[Parameter(mandatory=$false)]
[string]$DefaultGateway = "192.168.100.1",
[alias(‚DNS‘)]
[parameter(mandatory=$false)]
[array]$DNSservers = "192.168.100.1"
)
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPenabled=TRUE" | % {
Write-host "IP Adresse von", $($_.Description), "wird in", $vpnip, "geändert"
$_.EnableStatic($vpnip,$Subnetmask) | out-null
$_.SetGateways($DefaultGateway) | out-null
$_.SetDNSServerSearchOrder($DNSServers) | out-null
}
if($?) {
write-host "Done…"
Get-IPStatus
} else {
write-host "Es ist ein Fehler aufgetreten."
}
}
function Set-bydhcp {
$NICs = Get-WMIObject Win32_NetworkAdapterConfiguration `
| where{$_.IPEnabled -eq “TRUE”}
Foreach($NIC in $NICs) {
$NIC.EnableDHCP()
$NIC.SetDNSServerSearchOrder()
cls
Write-Host "Done…"
Start-Sleep -s 5
}
}
function Get-IPStatus {
# PowerShell cmdlet to interrogate the Network Adapter
$strComputer = "."
$colItems = Get-wmiobject -class "Win32_NetworkAdapterConfiguration" `
-computername $strComputer | Where{$_.IpEnabled -Match "True"}
foreach ($objItem in $colItems) {
cls
Write-Host "———"
write-host "Status: "
Write-Host "———"
write-host "Aktuelle IP Adresse(n) : " $objItem.IPAddress
write-host "Aktuelle(r) DNS Servers : " $objItem.DNSServerSearchOrder
Start-Sleep -s 5
}
}
#################################
###########Script Teil###########
#################################
$HOST.UI.RawUI.ForegroundColor = "white"
$host.UI.RawUI.BackgroundColor = "Black"
get-IPPing
Write-Host "———————"
Write-Host "Choose your magic…"
Write-Host "———————"
Write-Host "(1)Statische IP 192.168.100.150 setzen"
Write-Host "(2)Statische IP 192.168.100.151 setzen"
Write-Host "(3)IP dynmische beziehen(DHCP) "
Write-Host " "
$auswahl = Read-Host "Auswahl"
Write-Host " "
switch ($auswahl)
{
1 {
$vpnip = "192.168.100.150";
Set-IP;
break;
}
2 {
$vpnip = "192.168.100.151";
Set-IP;
break;
}
3 {
Write-Host "Die IP Adresse wird nun dynamisch von einem DHCP zugeteilt";
Set-bydhcp;
break;
}
default {
"** Die dunkle Seite ist stark in dir junger Padawan **";
Start-Sleep -s 5
break;
}
}
[/php]