PowerShell2.0之Windows排错(六)检查网络故障
PowerShell2.0之Windows排错(六)检查网络故障
2011年01月21日
网络故障对于用户来说是很复杂的问题,因为它可能涉及很多方面的知识,不容易查找和解决。
为检查网络故障,创建名为“GetActiveNicAndConfig.ps1”的脚本,其代码如下:
param($computer = $env:computername, [switch]$full, [switch]$help)
function funline ($strIN)
{
$strLine= "=" * $strIn.length
Write-Host -ForegroundColor yellow $strIN
Write-Host -ForegroundColor darkYellow $strLine
}
function funHelp()
{
$helpText=@"
DESCRIPTION:
NAME: GetActiveNicAndConfig.ps1
Displays
PARAMETERS:
-computer the name of the computer
-full prints complete information
-help prints help file
SYNTAX:
GetActiveNicAndConfig.ps1 -computer WebServer
Displays network adapter info and network adapter configuration info on a computer
named WebServer
GetActiveNicAndConfig.ps1
Displays network adapter info and network adapter configuration info on the local machine
GetActiveNicAndConfig.ps1 -computer WebServer -full
Displays full network adapter info and full network adapter configuration info on a computer named WebServer
GetActiveNicAndConfig.ps1 -help ?
Displays the help topic for the script
"@
$helpText
exit
}
if($help){ "Obtaining help ..." ; funhelp }
New-Variable -Name c_netConnected -value 2 -option constant
$nic = Get-WmiObject -Class win32_networkadapter -computername $computer `
-filter "NetConnectionStatus = $c_netConnected"
$nicConfig = Get-WmiObject -Class win32_networkadapterconfiguration `
-filter "interfaceindex = $($nic.interfaceindex)"
if($full)
{
funline("Full Network adapter information for $($computer)")
format-list -InputObject $nic -property [a-z]*
funline("Full Network adapter configuration for $($computer)")
format-list -InputObject $nicConfig -property [a-z]*
}
ELSE
{
funline("Basic Network adapter information for $($computer)")
format-list -InputObject $nic
funline("Basic Network adapter configuration for $($computer)")
format-list -InputObject $nicConfig
}
该脚本中使用param语句定义了3个参数,即-computer、-full和-help,其中将-computer变量设置为系统环境变量中的计算机名称。
funline函数获得输入字符串的长度,并用这个长度来生成分隔线。结果保存在$strLine变量中,然后输出带下画线的字符串。
随后的代码“New-Variable