PowerShell2.0之维护网络(一)查看网络设置

原创 2011年01月22日 23:53:00

本文将会介绍如何使用PowerShell管理网络,包括设置和TCP/IP堆栈有关的选项;通过不同脚本提供网络适配器的状态信息,网络适配器的连接状态及属性;设置静态IP、启动DHCP及配置DNS服务器;获取防火墙设置信息并设置有关选项以启用远程管理,以及远程共享文件等。

Windows Vista开始在网络功能方面有了很大改善,包括新的防火墙服务及IPv6协议的增强支持等。同时从Windows Vista开始WMI中增加了很多用于操作防火墙和IPv6的新特性和计数器,可以显示和使用IPv6地址。

Windows Vista和Windows Server 2008中包括强大的网络功能,允许用户以简单且便捷的方式操作网络。但是给网络管理员带来大量麻烦,如管理大量网络适配器,如图1所示。

image

图1 需要管理大量网络适配器

为了有效地管理网络设备,创建名为“GetNetAdapterStatus.ps1”的脚本用于检测网络适配器的状态,其代码如下:

param($computer="localhost",$help)

function funStatus($status)

{

switch($status)

{

0 { " Disconnected" }

1 { " Connecting" }

2 { " Connected" }

3 { " Disconnecting" }

4 { " Hardware not present" }

5 { " Hardware disabled" }

6 { " Hardware malfunction" }

7 { " Media disconnected" }

8 { " Authenticating" }

9 { " Authentication succeeded" }

10 { " Authentication failed" }

}

}

function funHelp()

{

$helpText=@"

DESCRIPTION:

NAME: GetNetAdapterStatus.ps1

Produces a listing of network adapters and status on a local or remote machine.

PARAMETERS:

-computerName Specifies the name of the computer upon which to run the script

-help prints help file

SYNTAX:

GetNetAdapterStatus.ps1 -computer WebServer

Lists all the network adapters and status on a computer named WebServer

GetNetAdapterStatus.ps1

Lists all the network adapters and status on local computer

GetNetAdapterStatus.ps1 -help ?

Displays the help topic for the script

"@

$helpText

exit

}

function funline ($strIN)

{

$num = $strIN.length

for($i=1 ; $i -le $num ; $i++)

{ $funline = $funline + "=" }

Write-Host -ForegroundColor yellow $strIN

Write-Host -ForegroundColor darkYellow $funline

}

if($help) { "Printing help now..." ; funHelp }

$objWMI=Get-WmiObject -Class win32_networkadapter -computer $computer

funline("Network adapters and status on $computer")

foreach($net in $objWMI)

{

Write-Host "$($net.name)"

funstatus($net.netconnectionstatus)

}

为了获取网络适配器的状态,在该脚本中使用Win32_NetWorkAdapter WMI类返回状态代码。并创建了一个名为“funStatus”的函数,通过switch语句的代码块包括Win32_NetWorkAdapterWMI类定义的所有可能的状态代码。状态代码及其含义在Windows软件开发包(SDK)中有详细介绍,说明如下。

Ø 0:Disconnected(断开)。

Ø 1:Connecting(连接中)。

Ø 2:Connected(已连接)。

Ø 3:Disconnecting(断开中)。

Ø 4:Hardware not present(硬件不存在)。

Ø 5:Hardware disabled(硬件已禁用)。

Ø 6:Hardware malfunction(硬件故障)。

Ø 7:Media disconnected(媒介断开)。

Ø 8:Authenticating(权限认证中)。

Ø 9:Authentication succeeded(权限认证成功)。

Ø 10:Authentication failed(权限认证失败)。

在该脚本中通过funStatus函数将状态值转换为便于理解的内容,其执行结果如图2所示。

image

图2 执行结果

 

作者: 付海军
出处:http://blog.csdn.net/fuhj02
版权:本文版权归作者和csdn共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
个人网站: http://txj.lzuer.com/

PowerShell2.0之维护网络(一)查看网络设置

http://www.cnblogs.com/fuhj02/archive/2011/01/22/1942261.html 本文将会介绍如何使用PowerShell管理网络,包括设置和TCP/IP堆栈...

PowerShell2.0之维护网络(三)设置网络适配器

如果计算机中有多个网络适配器,在Windows原有的cmd下配置其属性很困难,用户必须确保配置了适当的适配器并确认要禁用的不是正在使用中的网络适配器。本节介绍在处理多个网络适配器时可能出现的问题及其解...
  • fuhj02
  • fuhj02
  • 2011年01月24日 00:41
  • 1337

PowerShell2.0之维护网络(二)处理适配器配置

在处理所有适配器的状态后,还可以查询每个网络适配器的详细配置信息。可以通过选择“控制面板”|“网络和共享中心”|“网络连接”选项,打开“网络连接”窗口。在其中显示每个适配器的详细信息并做相应调整,如图...
  • fuhj02
  • fuhj02
  • 2011年01月23日 23:46
  • 756

PowerShell2.0之Windows排错(六)检查网络故障

网络故障对于用户来说是很复杂的问题,因为它可能涉及很多方面的知识,不容易查找和解决。 为检查网络故障,创建名为“GetActiveNicAndConfig.ps1”的脚本,其代码如下: param...
  • fuhj02
  • fuhj02
  • 2011年01月21日 23:35
  • 759

PowerShell2.0之桌面计算机维护(五)管理桌面电源设置

便携式计算机的供电是个很重要的问题,因其直接关系到便携式设备的可移动性。Windows有多个组件与电源管理的配置策略相关,在Windows Server 2008中的电源策略设置界面如图1所示。 ...
  • fuhj02
  • fuhj02
  • 2011年01月11日 01:36
  • 281

PowerShell2.0之桌面计算机维护(三)设置屏幕保护程序

Windows系统需要针对图形界面设置有关选项,如屏幕保护程序、桌面及电源设置等。尽管有很多用户通过组策略方式配置这些选项,但是对于尚未部署活动目录(Active Directory)的企业还是在使用...
  • fuhj02
  • fuhj02
  • 2011年01月09日 01:02
  • 431

PowerShell2.0之桌面计算机维护(六)修改电源计划

Windows Vista和Windows Server 2008的电源计划有大量改进,可以针对使用电池或交流电供电的情况分别设置。如果当前计算机正在使用电池,那么续航时间是个需要关心的问题。而在某些...
  • fuhj02
  • fuhj02
  • 2011年01月12日 00:10
  • 428

PowerShell2.0之桌面计算机维护(七)性能计数器

Windows系统性能计数器是操作系统支持用于应用和组件发布性能数据的特殊对象,并且支持其他应用获取和分析这些已发布的数据。Windows中的性能计数器很多,包括针对磁盘、网络和TCP等计数器,用户能...
  • fuhj02
  • fuhj02
  • 2011年01月13日 01:53
  • 482

PowerShell2.0之桌面计算机维护(九)磁盘管理

1 处理磁盘分区 PC通常只会有一个磁盘,Windows的管理策略会以分区形式管理磁盘,这样即可将物理硬件从操作系统中抽象出来。分区概念对于高效率地维护系统和文件很有好处,用户可以在“计算机管理”的...
  • fuhj02
  • fuhj02
  • 2011年01月15日 23:51
  • 664

PowerShell2.0之Windows排错(五)查看硬件问题

硬件问题并不一定都和硬件有关,只要工作负荷在设计的范围内,大部分电子设备都可以使用相当长的一段时间。为了硬件正常工作,需要安装相应的驱动程序。硬件厂商会为其驱动程序添加数字签名,添加数字签名的驱动都是...
  • fuhj02
  • fuhj02
  • 2011年01月20日 23:54
  • 801
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PowerShell2.0之维护网络(一)查看网络设置
举报原因:
原因补充:

(最多只允许输入30个字)