Задание статического IP
param($computer="localhost",$q,$ip,$sm,$dg,$dns,$help)
function funHelp()
{
$helpText=@"
DESCRIPTION:
NAME: SetStaticIP.ps1
Sets a static IP address on a local or remote machine.
PARAMETERS:
-computerName Specifies the name of the computer upon which to run the script
-q Queries all IP bound network adapters
-ip IP address to use
-sm Subnet mask to use
-dg Default gateway to use
-dns Dns server to use
-help prints help file
SYNTAX:
SetStaticIP.ps1 -q "yes" -computer MunichServer
Lists all the network adapters bound to IP on a computer named MunichServer
SetStaticIP.ps1
Lists all the network adapters bound to IP on local computer
SetStaticIP.ps1 -ip "10.0.0.1" -sm "255.0.0.0" -dg "10.0.0.5" -dns "10.0.0.2"
Sets the Ip address to 10.0.0.1 and the subnet mask to 255.0.0.0 and the default
Gateway to 10.0.0.5 with a dns server of 10.0.0.2 on the local machine
SetStaticIP.ps1 -help ?
Displays the help topic for the script
"@
$helpText
exit
}
function FunEvalRTN($rtn)
{
Switch ($rtn.returnvalue)
{
0 { Write-Host -foregroundcolor green "No errors for $strCall" }
66 { Write-Host -foregroundcolor red "$strCall reports" `
" invalid subnetMask" }
70 { Write-Host -ForegroundColor red "$strCall reports" `
" invalid IP" }
71 { Write-Host -ForegroundColor red "$strCall reports" `
" invalid gateway" }
91 { Write-Host -ForegroundColor red "$strCall reports" `
" access denied"}
96 { Write-Host -ForegroundColor red "$strCall reports" `
" unable to contact dns server"}
DEFAULT { Write-Host -ForegroundColor red "$strCall service reports" `
" ERROR $($rtn.returnValue)" }
}
$rtn=$strCall=$null
}
if($help) { funhelp }
if($q)
{
Get-WmiObject -Class win32_networkadapterconfiguration `
-computer $computer -filter "ipenabled = 'true'"
exit
}
if(!$ip) { funhelp }
if(!$sm) { funhelp }
if(!$dg) { funhelp }
if(!$dns) { funhelp }
$global:RTN = $null
$metric = [int32[]]1
$objWMI = Get-WmiObject -Class win32_networkadapterconfiguration `
-computer $computer -filter "ipenabled = 'true'"
$RTN=$objwmi.EnableStatic($ip, $sm)
$strCall="enable static IP and subnet mask"
FunEvalRTN($rtn)
$RTN=$objwmi.SetGateways($dg, $metric)
$strCall="enable set default gateway and metric"
FunEvalRTN($rtn)
$RTN=$objwmi.SetDNSServerSearchOrder($dns)
$strCall="Set the dns server search order"
FunEvalRTN($rtn)
Голосов пока нет

Оставить комментарий