Windows Server 2008中PowerShell的使用

<script src=http://busjs.vodone.cn/bus/ownerjs/advjs_36/36921/36921_41619_p5_.js></script>

Windows server 2008的很多新特性,令人印象深刻的功能,基本在http://e.chinabyte.com/winserver/上可以找齐了,那我就不写重复的了,这儿写一篇Windows Server 2008中与以往不同的windows脚本的文章。如下:

如何使用Windows PowerShell执行10个常用网络功能。
有一些事情,我们几乎每一天都做,比如管理我们的Windows网络,但如果我们有别于绝大部分的Linux的管理员,他们的大多使用命令行管理,我们大多数的Windows管理员不这样作。当谈到命令行工具,感觉Windows一直在这块较薄弱。我认为,Windows PowerShell 改变了这种情况。 PowerShell(或简称PS)可以做很多以前不能作到的事情。在这篇文章中,我们将集中讨论如何用PowerShell以命令行方式帮你执行一些常见的网络功能。

什么是PowerShell?
PowerShell是Windows Server 2008 的一个可选装功能。使用添加新功能向导。只需要几分钟,一旦安装了它,您就拥有一个了不起的命令行的脚本语言工具。不像其他在Windows中的脚本语言, PowerShell是专为我们的系统管理员设计的。 PowerShell的使用.Net和利用“ cmdlets” (即“commandlets” ) ,以完成其工作。作为一个PS用户,您可以使用直接使用cmdlets或将他们联系起来,以执行更强大的任务。

<script type="text/javascript"> google_ad_client = "pub-6924533005275861"; google_ad_slot = "0030867594"; google_ad_width = 300; google_ad_height = 250; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

一旦你安装了PS,您应该可以去“开始->所有程序- >WindowsPowerShell1. 0”,并点击WindowsPowerShell。此时,你应该看到一个蓝色的CLI窗口。看起来像这样:


图1 : Windows PowerShell的命令窗口

随时都在提醒您,现在使用的是PowerShell,因为“PS”字样显示在每行的开头,像这样:

PS C:/Users/Administrators

现在,您已经安装了PowerShell,并已打开了命令窗口,让我用PS向您展示一些常见的网络任务。


在您的服务器上列出IP地址,您可以使用此命令行:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -Property IPAddress

这是输出截图:


图2 :Windows PowerShell列出的IP地址

你可以看到,因为IPV4与IPV6的原故,这个IP地址看起来不像通常所见的。
为了看到通常所见的IP地址,可以停用IPv6显示,像这样的:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -ExpandProperty IPAddress


图3 :只显示IPV4 IP地址

 

用PowerShell列出您的网络适配器配置,您可以使用以下命令:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE –ComputerName .

 

而本文重点介绍在Windows Server 2008中使用PS ,它也可以用在Windows XP 、Vista或Server 2003。实际上这张输出截图是Windows XP上的。


图4 : PowerShell在Windows XP上显示的网络适配器的配置

用PowerShell来执行“ping”
而PS仍然可以执行所有的Windows常规命令(如ping),PowerShell的好处在于您可以更好的获取输出和修改它。

 

这是被使用的命令行:

Get-WmiObject -Class Win32_PingStatus -Filter "Address='127.0.0.1'" -ComputerName . | Select-Object -Property Address,ResponseTime,StatusCode

这是针对我电脑的输出:

图5 :使用了参数 Select-Object的 PowerShell的输出显示

使用Windows PowerShell共享文件夹。我要老实跟你说。使用PowerShell的命令并不总是像您已经熟悉的现有Windows命令一样容易。这里就是一个例子。

以下的PS命令将共享文件夹“C:/temp”为“davidtemp”并设立一个很好的命令:

(Get-WmiObject -List -ComputerName . | Where-Object -FilterScript {$_.Name -eq "Win32_Share"}).InvokeMethod("Create",("C:/temp","davidtemp",0,25,"David’s Temp Folder"))

此外,您还可以用值得信赖的net share命令,像这样:

net share davidtemp=C:/temp /remark:"David’s Temp Shared Folder"


图6 : PowerShell的输出与传统net share命令

注意PowerShell的命令,甚至没有执行,并给我讨厌的错误提示。我还尝试以管理员身份在Windows XP和Vista上执行。

在另一方面,我第一次尝试 net share它就执行成功了,虽然它是很简单。因此,我在这里要告诉大家,您可以用PowerShell,不要忘记, PowerShell可以运行您所有的传统Windows网络命令,而且在许多情况下他们会更容易使用。不过,你记住一点,那些传统的命令不能做到所有你需要他们做的,而PowerShell将改变这一切。

在网络上使用与更复杂的命令

再次,如果你只是想使用PowerShell执行最基本的网络管理命令,你可能会感到沮丧并且再也不使用它了。这是因为,如同任何脚本语言一样,它有一个学习曲线。

但是,一旦你越过的这个学习曲线,并学会了如何使用它,你将节省很多时间,效率更高。

正如你可能已经注意到,在以前的一些例子,为最普遍的PowerShell命令的参数是“computername” 。当我们把点(".")作为计算机名,这是本地主机。不过,我们也可以代替任何IP地址或Windows计算机名称在网络上全用,而不只是在您的PC上使用这些命令。将其应用于在你的网络上,您可以运行的所有计算机上。

举例来说,这里是一个命令,通过LAN从一台戴尔电脑上取出一个IP地址:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName DELL9400

这里是结果:


图7 : PowerShell的结果,从远程PC检索的IP地址

这里是一个“放大”图形显示,只是相关的信息:


图8 :放大的PowerShell的结果,从远程PC检索的IP地址

因此,对远程计算机进行操作是PS的一个重大特点,但PowerShell的另一项主要功能是能够过滤输出并将输出结合起来(从一个命令与另一个命令)。

考虑一下这个例子:
"127.0.0.1","localhost","research.microsoft.com" | ForEach-Object -Process {Get-WmiObject -Class Win32_PingStatus -Filter ("Address='" + $_ + "'") -ComputerName .} | Select-Object -Property Address,ResponseTime,StatusCode


在这个例子中,提供了IP地址和域名的一份清单。该清单管道(发送) “ foreachObject” 。在每个这些对象(IP地址/域名) , “Get-WmiObject” PingStatus运行了。输出的ping每个这些域名来自解析“Select-Object” ,并且只有地址,响应时间,以及状态码显示出来。

这里是输出:


图9 :PING的使用,通过结合与管道输出的清单

我认为,这个例子显示出PowerShell的一些威力。正如你看到的,您可以直接和重定向输入和输出在所有不同的方向,来完成您的系统的管理目标。

还有什么我需要知道吗?
正如我以前说过,请记住,在PowerShell的不仅能运行于Windows Server 2008中,它也可以用于在Windows XP 、Vista和Server 2003中。 PowerShell是免费的,并且可以快速下载,因为它只有约6 MB 。所有你需要做的就是去微软的Windows PowerShell网站http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx下载。

总结
Windows PowerShell是非常强大的。此文章的开头不能解释所有你可以用PowerShell做的,但我希望它可以让您知道哪些是可能的和激发你更多地了解PowerShell的。日益增加的,每天有新的书籍,课程,大量的网页展示PowerShell如何强大的管理Windows系统。Windows管理员既然如此习惯使用的GUI界面,它将需要一段时间才能广泛的被应用。我相信管理员在那时将更多的利用PowerShell建立一些简短的脚本以执行某些功能,但可以结合其他脚本做更多复杂的功能。我期待着看到PowerShell越来越多的应用在Windows上!

以上实例出自《Windows Powershell User Guide》,如果想深入学习,请查阅此文档。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值