当前位置:文档之家› Windows PowerShell实用教程

Windows PowerShell实用教程

这是管道操作符。能用于多数 shell,从一个命令传递数据到另一个。PowerShell 使用这 个传递输出的对象到其他 cmdlet。注意,这会传递整个对象,而不仅仅是你所看见的。
Group-Object
这个命令可以收集对象,并通过特性进行分类。在本文例子中,特性就是 Extension,但 它可能是上面任何的属性。
Windows PowerShell 实用教程
Windows PowerShell 实用教程
Windows PowerShell 是微软交互式命令 shell 和脚本语言。Windows 管理员在 Windows XP、Windows Server 2003 和 Windows Vista 中都能用到 Windows PowerShell, Windows Server 2008 中也有它的身影。但是你如何从 Windows PowerShell 脚本开始呢?作为一本 Windows PowerShell 教程,本专题特为系统管理员汇集了所有新命令和脚本的建议。
为什么 Windows PowerShell 是独一无二的? 认识 Windows PowerShell 函数的参数 PowerShell 脚本新移动功能来袭
实用工具:Windows PowerShell
初步了解了 Windows PowerShell 的一些特性与功能,具体运用中,我们不可能将所以功 能一次性用到,那么,我们在不同的情况下要挑选哪些不同的功能呢?让我们根据专家经 验来挑选一些功能,让这个实用工具来为我们好好服务吧。
PowerShell
Get-childitem | group-object extension | select-object name
虽然这个代码在 VBScript 里并不复杂,但它在 PowerShell 里只需要一行代码。但是 PowerShell 是如何起作用的?下面我们分解下这个代码:
VBScript
Const adVarChar = 200 Const MaxCharacters = 255 Set objRecordSet = CreateObject("ADOR.Recordset") objRecordSet.Fields.Append "Extension", adVarChar, MaxCharacters objRecordSet.Open Set objFso = CreateObject("Scripting.FileSystemObject") if Wscript.Arguments.Count = 0 then
你问有什么区别?产品质量函数花力气来测试输入并在提供信息输出的情况下为算是错误 进行稳固工作。通常当在为产品运用函数时,你想知道它是否中断-- 同时你也一定很想知道 为什么。其它的语言需要你自己来设计参数和处理错误。我们是幸运的,Windows PowerShell 有许多类似的内置函数。
PowerShell 的参数
TT 服务器技术专题之“Windows PowerShell 实用教程”
Page 6 of 38
认识 Windows PowerShell 函数的参数
在先前关于用户自定义的 Windows PowerShell 的的文章中,我已经说过 PowerShell 中的最大 特点之一是函数使用上的可扩展性强。在这篇文章中,我们将仔细看一下专业类型的函数:产 品质量函数。
如果你是 Windows Powershell 新手,上面的例子可能有点复杂。下面的完成相同任务的 语句更简单。
$ScriptBlock = @{n="GroupSize";e={($_.group | measure-object -sum Length).sum}} $FilesByExtension = Get-Childitem -Recurse -ea 0 | ?{!$_.PSIsContainer} | GroupObject Extension $FilesByExtension | select-object Name,$ScriptBlock | Sort-Object -Descending GroupSize -ea 0
更多关于 Powershell 的信息,可以查看在 网站查看 Cool demo video and code。
总的来说,Windows PowerShell 的对象本质非常有用,让其成为一种非常不同的脚本语 言。
(作者:Brandon Shell 译者:唐琼瑶 来源:TechTarget 中国) 原文标题:为什么 Windows PowerShell 是独一无二的? 原文链接:/showcontent_30721.htm
' skip End If objRecordSet.MoveFirst Next objRecordSet.Sort = "Extension" objRecordSet.MoveFirst Do Until objRecordSet.EOF Wscript.Echo objRecordSet.Fields.Item("Extension") objRecordSet.MoveNext Loop
' Record not found objRecordSet.AddNew objRecordSet("Extension") = strExtension objRecordSet.Update Else
TT 服务器技术专题之“Windows PowerShell 实用教程”
Page 4 of 38
Example (notice the parameters are reversed when the function is called, but the values are returned correctly):
fundows PowerShell 实用教程”
Windows PowerShell 特性
作为最受欢迎且受众最广的脚本语言,WindowsPowerShell 绝不会让管理员感到陌生。它 到底有什么魅力在此领域多年来保持王者地位屹立不倒呢?是什么造就了它的独一无二? 在本小节中,我们将一起来看看 Windows PowerShell 的一些特性与功能。
Page 7 of 38
Param($param1,$param2) Write-Host $param1 $param2 }
foo -param2 "This is parameter 2" -param1 "This is parameter 1"
Splatting 参数
在 PowerShell 的参数传递中,这个或许是最常用的方法。它包含创建一个数组或哈希表 作为传递给函数的参数组。这个让你可以动态地创建整个脚本的参数,然后当你准备好后即可 调用函数。例如:
function foo {
Write-Host $args[0] $args[1] } foo "This is parameter 1" "This is parameter 2"
名字参数
PowerShell 输入的参数也可以命名,这就意味着它们可以通过名字传递,并且值被放置 在相应的变量里。例如(注意当这个函数被调用的时候,参数颠倒,但是数值能正确的返 回):
Get-ChildItem
这是一个内置的 cmdlet,列出给定路径里的文件和文件夹。这里的关键是它不仅仅只返 回一串你想要的信息,而是返回这个对象的所有信息。如果使用 I(下面我们将讲到),这些 对象然后传递到控制台或者另一个 cmdlet。
在上面的例子中,这个对象将发送到另一个叫做 group-object 的 cmdlet 里。如果我们只 调用了 Get-ChildItem,Powershell 将发送对象到控制台。
当我们谈论 Windows PowerShell 函数的时候,我们需要考虑三件事情:输入、输出和错 误。这篇文章将重点说明输入,也被称为参数。PowerShell 有许多参数选项,并且可以通过 以下三种方式之一来进行运用:
位置参数
PowerShell 可以创建一个数值数组传递给函数的$args 变量。传递给函数的每一个值从 0 开始被添加到这个数组中。例如:
TT 服务器技术专题之“Windows PowerShell 实用教程”
Page 3 of 38
为什么 Windows PowerShell 是独一无二的?
有的管理员经常问“为什么是 Windows PowerShell?”他们想知道为什么在他们已经知道或 者能灵活使用如 VBScript 或 Perl 这样的语言后,还应该学习这个特殊的脚本语言。
Windows PowerShell 五大 Cmdlet 命令 分享 Windows 管理员常用的 25 个 PowerShell 命令
TT 服务器技术专题之“Windows PowerShell 实用教程”
Page 2 of 38
替代活动目录管理的 PowerShell 命令 Windows PowerShell 的错误处理
Windows PowerShell 解决方案
我们已经为砍柴磨好了刀,下一步也是最重要的一步就是进入实践操作了。如何在实践中 运用这个工具呢?遇到不同的问题该如何解决?我们总结了多种状况并提供了相应的解决 方案,有了专家们的经验与意见,你可以与烦恼和担心告别了。
如何用批处理文件确定虚拟机运行什么? 如何控制 Windows PowerShell 命令输出? 打造属于你的 Windows PowerShell 如何自定义 Windows PowerShell 环境? 使用 PowerShell 管理 Windows Server 2008 R2
相关主题