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/

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

走迷宫问题(深度优先遍历 + 广度优先遍历)

迷宫是许多小方格构成的矩形,在每个小方格中有的是墙(用1表示),有的是路(用0表示)。走迷宫就是从一个小方格沿上、下、左、右四个方向到邻近的方格,当然不能穿墙。设迷宫的入口是在左上角(1,1),出口是...

linux查看防火墙状态及开启关闭命令

两张方式: 一、service方式 查看防火墙状态:  [root@centos6 ~]# service iptables status iptables:未运行防火墙。 开启防火墙: [roo...

整数的分划问题

对于一个正整数n的分划,就是把n表示成正整数之和的表达式。主要,分划与顺序无关,例如6=5+1和6=1+5被认为是同一种分划。 解题思路: 定义一个函数Q(n,m),表示正数n的“任何加数都不超过m”...

螺旋阵:任意给定n值,按如下旋转的方式输出方阵。

n=3 输出: 1 2 3 8 9 4 7 6 5n=4 输出: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 //思路...

能被3,5,7整除的数

问题描述 输入一个整数,判断它能否被3,5,7整除,并输出以下信息: 1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格); 2、能被其中两个数整除(输出两个数,小的在前,大的在...

1.4编程基础之逻辑表达式与条件分支----学生出错情况及解决方法汇总

1、学生程序如下:1.3-03 03:奇偶数判断 描述 给定一个整数,判断该数是奇数还是偶数。 输入输入仅一行,一个大于零的正整数n。输出输出仅一行,如果n是奇数,输出odd;...

编写算法对输入的一个整数,判断它能否被3,5,7整除,并输出一下信息之一:

能同时被3,5,7整除; 能被其中两个数(要指出哪两个数)整除; 能被其中一个数(要指出哪一个数)整除; 不能被3,5,7任一个整除。#include using namespace std;...

判断一个数能否被3,5,7整除

/**输入一个数,判断其能否被3,5,7中的一个或者两个或者三个或者都不能整除,指出是哪个*/ #include using namespace std; int main(){ int n;...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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