设为首页 收藏本站
查看: 987|回复: 0

Windows Server 2008中PowerShell的使用

[复制链接]

尚未签到

发表于 2015-11-3 12:23:45 | 显示全部楼层 |阅读模式
  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或将他们联系起来,以执行更强大的任务。
  一旦你安装了PS,您应该可以去“开始->所有程序- >WindowsPowerShell1. 0”,并点击WindowsPowerShell。此时,你应该看到一个蓝色的CLI窗口。看起来像这样:
DSC0000.jpg
图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
  这是输出截图:
DSC0001.jpg
图2 :Windows PowerShell列出的IP地址
  你可以看到,因为IPV4与IPV6的原故,这个IP地址看起来不像通常所见的。
为了看到通常所见的IP地址,可以停用IPv6显示,像这样的:
  Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -ExpandProperty IPAddress
DSC0002.jpg
图3 :只显示IPV4 IP地址
  
  用PowerShell列出您的网络适配器配置,您可以使用以下命令:
  Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE –ComputerName .
  
  而本文重点介绍在Windows Server 2008中使用PS ,它也可以用在Windows XP 、Vista或Server 2003。实际上这张输出截图是Windows XP上的。
DSC0003.jpg
图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
  这是针对我电脑的输出:
DSC0004.jpg
  图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"
DSC0005.jpg
图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
  这里是结果:
DSC0006.jpg
图7 : PowerShell的结果,从远程PC检索的IP地址
  这里是一个“放大”图形显示,只是相关的信息:
DSC0007.jpg
图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” ,并且只有地址,响应时间,以及状态码显示出来。
  这里是输出:
DSC0008.jpg
图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》,如果想深入学习,请查阅此文档。
  
             版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-134512-1-1.html 上篇帖子: shell脚本:打印文本中字符数不大于6的单词 下篇帖子: 08-Windows Server 2012 R2 会话远程桌面-标准部署-使用PowerShell进行部署2-1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表