在处理全部适配器的状态后,还能够查询每一个网络适配器的详细配置信息。能够经过选择“控制面板”|“网络和共享中心”|“网络链接”选项,打开“网络链接”窗口。在其中显示每一个适配器的详细信息并作相应调整,如图1所示。网络
图1 在“网络链接”窗口中查看每一个适配器的详细信息ide
建立名为“GetNetAdapterConfig.ps1”的脚本收集特定网络适配器的用于排错的详细信息,而且经过指定关键字仅返回有关网络适配器的特定配置信息,其代码以下:函数
param($computer="localhost",$query,$help)网站
function funHelp()命令行
{orm
$helpText=@"对象
DESCRIPTION:blog
NAME: GetNetAdapterConfig.ps1dns
Produces a listing of network adapter configuration informationip
on a local or remote machine.
PARAMETERS:
-computer Specifies the name of the computer to run the script
-help prints help file
-query the type of query < ip, dns, dhcp, all >
SYNTAX:
GetNetAdapterConfig.ps1 -computerName WebServer
Lists default network adapter configuration on a
computer named WebServer
GetNetAdapterConfig.ps1 -computerName WebServer -query IP
Lists IPaddress, IPsubnet, DefaultIPgateway, MACAddress
on a computer named WebServer
GetNetAdapterConfig.ps1 -computerName WebServer -query DNS
Lists DNSDomain, DNSDomainSuffixSearchOrder, DNSServerSearchOrder,
DomainDNSRegistrationEnabled on a computer named WebServer
GetNetAdapterConfig.ps1 -computerName WebServer -query DHCP
Lists Index,DHCPEnabled, DHCPLeaseExpires, DHCPLeaseObtained,
DHCPServer on a computer named WebServer
GetNetAdapterConfig.ps1 -computerName WebServer -query ALL
Lists all network adapter configuration information on a computer
named WebServer
GetNetAdapterConfig.ps1 -help ?
Prints the help topic for the script
"@
$helpText
exit
}
if($help) { "Printing help now..." ; funHelp }
$class="win32_networkadapterconfiguration"
$IPproperty="IPaddress, IPsubnet, DefaultIPgateway, MACAddress"
$dnsProperty="DNSDomain, DNSDomainSuffixSearchOrder, `
DNSServerSearchOrder, DomainDNSRegistrationEnabled"
$dhcpProperty="Index,DHCPEnabled, DHCPLeaseExpires, `
DHCPLeaseObtained, DHCPServer"
if($query)
{
switch($query)
{
"ip" { $query="Select $IPproperty from $class" }
"dns" { $query="Select $dnsProperty from $class" }
"dhcp" { $query="Select $dhcpProperty from $class" }
"all" {
$query = "Select * from $class" ; `
Get-WmiObject -Query $query | format-list * ;
exit
}
DEFAULT {
$query = "Select * from $class" ; `
Get-WmiObject -Query $query ; exit
}
}
}
ELSE
{
$query = "Select * from $class" ; `
Get-WmiObject -Query $query ; exit
}
Get-WmiObject -query $query | format-table [a-z]* -AutoSize
该脚本使用param语句定义了3个参数,即-computer、-query及-help。其中设置-computer的默认值为localhost。若是用户未指定计算机,则默认返回本地计算机的网络配置。
接下来针对帮助信息建立的funhelp函数用于输出帮助信息,当用户未输入参数或输入错误的参数时,调用该函数提示输入的错误及正确的输入。脚本中使用if语句检查$help变量是否存在,由于只有用户在调用脚本时指定了-help参数,该变量才会存在。随后初始化用于WMI查询的变量,这些变量的存在是为了便于在后面对命令行应用中实现灵活调用。在用户输入的参数中包括-query参数时,脚本将会调用switch语句判断$query变量值。并执行相应的操做,输出ip、dns、dhcp和全部条目的信息。在$query变量无输入的状况下还特别使用ELSE语句将WMI对象中的全部属性发送给Get-WmiObject cmdlet查询,在控制台输出当前计算机中的全部网络链接的信息。在代码的最后将Get-WmiObject cmdlet查询的结果经过管道传递给Format-Table cmdlet格式化输出,在使用Format-Tables时须要指定符合Get-WmiObject cmdlet输出代码格式的参数。该脚本的执行结果如图2和图3所示。
图2 查询当前主机DHCP信息
图3 未指定检索项默认会输出全部的网络适配器信息
做者: 付海军
出处:http://fuhj02.blog.51cto.com
版权:本文版权归做者和51cto共有
转载:欢迎转载,为了保存做者的创做热情,请按要求【转载】,谢谢
要求:未经做者赞成,必须保留此段声明;必须在文章中给出原文链接;不然必究法律责任
我的网站: http://txj.lzuer.com/