`

PowerShell基础教程(16)——对多个对象重复同一任务

阅读更多

PowerShell基础教程(16)——对多个对象重复同一任务 (ForEach-Object)             <o:p></o:p>

ForEach-Object cmdlet 可对当前管道对象使用脚本块和 $_ 描述符以允许您对该管道中每个对象运行命令。这可用于执行某些复杂的任务。

对于以下情况这将非常有用对数据进行操作以提高数据的实用性。例如,WMI 中的 Win32_LogicalDisk 类可用于返回每个本地磁盘的可用空间信息。数据是以字节形式返回的,因而可读性非常差:

PS> Get-WmiObject -Class Win32_LogicalDisk<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

DeviceID     :C:<o:p></o:p>

DriveType    : 3<o:p></o:p>

ProviderName :<o:p></o:p>

FreeSpace    :50665070592<o:p></o:p>

Size         :203912880128<o:p></o:p>

VolumeName   :Local Disk<o:p></o:p>

<o:p> </o:p>

将每个值两次与 1024 相除从而将 FreeSpace 值转换为兆字节。首次相除之后,数据是以千字节形式表示的,第二次相除之后,数据就以兆字节形式表示了。通过键入以下命令可在 ForEach-Object 脚本块中实现此转换:

Get-WmiObject -Class Win32_LogicalDisk | ForEach-Object -Process {($_.FreeSpace)/1024.0/1024.0}<o:p></o:p>

48318.01171875<o:p></o:p>

<o:p> </o:p>

但是现在输出的数据没有任何关联的标签。由于此类 WMI 属性是只读的,因此无法直接转换 FreeSpace。如果键入以下命令:

Get-WmiObject -Class Win32_LogicalDisk | ForEach-Object -Process {$_.FreeSpace = ($_.FreeSpace)/1024.0/1024.0}<o:p></o:p>

<o:p> </o:p>则将收到错误消息:

FreeSpace为只读属性。<o:p></o:p>

所在行:1 字符:70 <o:p></o:p>

+ Get-WmiObject -Class Win32_LogicalDisk | ForEach-Object -Process {$_.F <<<< r<o:p></o:p>

eeSpace = ($_.FreeSpace)/1024.0/1024.0}<o:p></o:p>

<o:p> </o:p>您可以使用高级技巧重新组织数据但更简便的方法是使用 Select-Object 创建新对象。

 
分享到:
评论

相关推荐

    PowerShell基础教程.doc

    通过学习PowerShell基础教程,用户能够掌握如何利用其强大的对象模型和Cmdlet来自动化日常管理任务,提高工作效率。无论你是系统管理员还是开发者,PowerShell都是提升Windows环境管理能力不可或缺的工具。

    经典PowerShell入门教程.docx

    总的来说,PowerShell提供了比传统命令行工具更高效、更面向对象的管理体验,通过其Cmdlet和对象模型,简化了对Windows环境的管理,并且能够与.NET框架无缝集成,极大地提高了IT专业人员的生产力。学习和掌握...

    PowerShell 基础教程

    【PowerShell基础教程】 PowerShell是一种强大的脚本语言和命令行shell,主要应用于Windows操作系统,如XP、Server 2003、Vista和Server 2008。不同于传统的外壳程序(如Cmd.exe、SH、KSH、CSH和BASH),PowerShell...

    PowerShell教程

    2. **对象管道**: PowerShell的核心是对象管道,它允许用户将命令的输出作为输入传递给下一个命令,类似于Unix的管道,但处理的是对象而非文本。 3. **PowerShell工作区**: 工作区包含了变量、别名、函数等,它们在...

    PowerShell基础教程

    【PowerShell基础教程】 PowerShell是一种专为管理和自动化Windows操作系统设计的强大脚本语言,自Windows XP/Server 2003起,它逐渐成为Vista、Server 2008及后续版本的标准组件。PowerShell旨在提升系统管理员的...

    精通windows server 2008 命令行与powershell电子书PDF版(第一卷)

    由于电子书超过80M故只能分卷压缩成4个文件,将四个压缩包下载到同一目录下解压即可得到PDF版电子书 第一卷地址: http://download.csdn.net/source/3488105 第二卷地址: ... 第三卷地址: ...精通windows server 2008 ...

    Windows PowerShell教程合集

    --|PowerShell基础教程 --|WindowsPowerShelluserGuide |powershell 中文教程 --|Windows PowerShell 入门指南.pdf --|Windows PowerShell 入门.pdf --|Windows PowerShell 语言快速参考.rtf |Manning.Windows....

    精通windows server 2008 命令行与powershell电子书PDF版(第二卷)

    由于电子书超过80M故只能分卷压缩成4个文件,将四个压缩包下载到同一目录下解压即可得到PDF版电子书 第一卷地址: http://download.csdn.net/source/3488105 第二卷地址: ... 第三卷地址: ...精通windows server 2008 ...

    精通windows server 2008 命令行与powershell 电子书PDF版(第四卷)

    由于电子书超过80M故只能分卷压缩成4个文件,将四个压缩包下载到同一目录下解压即可得到PDF版电子书 第一卷地址: http://download.csdn.net/source/3488105 第二卷地址: ... 第三卷地址: ...精通windows server 2008 ...

    精通windows server 2008 命令行与powershell电子书PDF版(第三卷)

    由于电子书超过80M故只能分卷压缩成4个文件,将四个压缩包下载到同一目录下解压即可得到PDF版电子书 第一卷地址: http://download.csdn.net/source/3488105 第二卷地址: ... 第三卷地址: ...精通windows server 2008 ...

    精通windows server 2008 命令行与powershell 电子书PDF单文件完整版

    精通windows server 2008 命令行与powershell 电子书PDF单文件完整版 内容简介: ...10.4.4 &&——如果多个命令中的一个失败即中止后续命令 473 10.4.5 ]sysy[ ]sysy[——允许在字符串中包含空格 473...

    PowerShell打印服务器打印任务状态监控_打印出错自动邮件报警

    使用PowerShell脚本自动监控服务器或者电脑上的所有打印机驱动,如果有Error的任务卡在驱动中导致后续的打印任务全部卡在上面,脚本会执行一个邮件通知 邮件通知内容: - 打印机名 - Error状态的打印机任务名 - ...

    powershell 教程

    PowerShell 3.0进阶教程中提到的服务器管理主要围绕以下几个方面: 1. 启用多服务器管理:在Windows Server 2012中,管理员可以启用远程管理功能,从而可以在本地或远程管理服务器。启用远程管理的基本步骤包括打开...

    powershell教程

    ### PowerShell 教程详解 #### 一、PowerShell 概述与重要性 PowerShell 是一个强大的命令行脚本环境,由微软开发并提供支持,主要用于 Windows 系统的管理和自动化任务处理。自 Exchange Server 2007 和 System ...

    Windows PowerShell 实用教程

    Windows PowerShell 的独特之处在于其对对象的处理方式。在 PowerShell 中,几乎所有的事物都被视为对象,这使得管理员可以更方便地进行数据处理和对象操作。以下是一些关于 PowerShell 特性的详细介绍: 1. **对象...

    Powershell 实例教程

    PowerShell 提供了多个版本,分别适应不同的Windows操作系统。例如,Windows 7和Windows Server 2008预装了PowerShell 2.0,可通过更新升级到3.0或4.0。而在Windows 8、Windows Server 2012中,PowerShell 3.0是内置...

    powershell中英文教程

    提供的"Powershell 中文教程"可能涵盖了如何使用PowerShell ISE,这是一个用于编写、测试和调试PowerShell脚本的集成环境。ISE提供了语法高亮、自动完成、调试工具等功能,对于初学者尤其友好。 3. **PowerShell...

    powershell3.0经典教程

    - 脚本文件和模块:PowerShell支持编写脚本文件,将多个命令组合在一起执行。同时,模块可以扩展PowerShell的功能,模块包含了相关的Cmdlets、函数等。 - 错误处理:PowerShell提供了错误处理机制,如try/catch/...

Global site tag (gtag.js) - Google Analytics