Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 编程脚本

探索PowerShell(十二) 筛选器 Filters

探索PowerShell(十二) 筛选器 Filters

筛选器是函数的一种特殊形式。 定义筛选器: Filter(关键字) 筛选器名 (参数) {代码} 与定义函数不同的是,函数使用"$input"变量来从管道符中获取信息,而筛选器使用的是变量"$_"。在对数据的处理方面,函数与筛选器也有着不同,在函数中,"$input"变量会接受所有的信息,再进行运算,而在筛选器中,"$_"变量会一边接受来自管道符的信息,一边进行筛选(运算)操作。 总结说来,对于函数:管道符将数据一次以集合方式传入函数内部,函数需要使用循环...
探索PowerShell(十三) WMI对象介绍

探索PowerShell(十三) WMI对象介绍

我记得在xp时代,经常使用的工具有一个叫做WMI Administrative Tools,是微软官方提供的用来查看、编辑WMI对象的,只是现在好似不支持新的系统了。但是,在Win7、Server 2008下,这些功能都可以方便的通过PowerShell来完成。 首先,先来认识一下什么是WMI对象: WMI是作为一个基本的数据库存在于Windows系统中的。我们可以连接到WMI服务请求查询其中所包含的信息。WMI包括了系统方方面面的信息,包括: ̶...
探索PowerShell(十四) 使用WMI对象的方法

探索PowerShell(十四) 使用WMI对象的方法

上一篇文章中介绍了WMI的基础内容,主要讲了WMI的属性值的查看,文中还提到,WMI不仅具有属性,还具有方法。这一节就来具体讲一下如何调用WMI对象方法。 通过查看WMI对象,可以发现有不少的类同时具有属性和方法。例如类"Win32_NetworkAdapterConfiguration",j就具有不少的方法和属性,可以使用以下命令查询: Get-WmiObject Win32_NetworkAdapterConfiguration | Get-Membe...
探索PowerShell(十五) 引号与转义字符

探索PowerShell(十五) 引号与转义字符

基础用法 总结说来: 单引号任何情况下都只表示引号内自身的字符。也就是说,单引号内的内容不会进行变量的代换与字符的转义。而在双引号中,则允许进行变量代换和字符转义。在对变量进行代换和字符进行转义的判断上,是由命令最外层的引号决定的。 详细介绍,还是要用示例来说明。 使用双引号输出: 复制代码 代码如下: $a="World" <enter> "Hello, $a" <enter> 运行结果为: 若使用单引号,将命令改为: 复制代码...
Powershell后台作业、异步操作实例

Powershell后台作业、异步操作实例

Powershell是单线程程序且一次只能做一件事情。后台作业能额外增加Powershell进程在后台处理作业。当需要程序同时运行且数据量不是很大时它能很好的解决问题。但从Powershell后台回传数据是一个非常麻烦的工作,它将浪费很多时间。将会导致脚本更慢。这里有3个并发执行任务:复制代码 代码如下:$start = Get-Date# get all hotfixes$task1 = { Get-Hotfix }# get all scripts i...
自定义PowerShell控制台提示符风格的方法

自定义PowerShell控制台提示符风格的方法

PowerShell控制台的默认命令行提示为PS+(当前路径)+箭头,形如:复制代码 代码如下:PS C:Users非苔>前面加PS是PowerShell的标志,为了和传统的CMD控制台区别开来。后面加当前路径和箭头是为了和一般的命令行保持一致。这样的设计本来无可厚非,但是如果我在写博客时,需要执行某个命令然后连同结果一起复制出来,麻烦来了。比如我要演示Get-Date,打开控制台,敲入命令:复制代码 代码如下:PS C:Users非苔> Ge...
PowerShell捕获错误的2种方法(异常捕获命令、错误变量)

PowerShell捕获错误的2种方法(异常捕获命令、错误变量)

在先前的技巧中你能观察到使用了 “-ErrorAction Stop”结合“异常捕获命令”能捕获一个Powershell命令的错误,可是使用了这种方式操作之后,脚本会在第一个错误发生后停止。下面举例:使用Powershell递归扫描文件夹。它将不能完成捕获中间所有的异常(例如某些子文件夹是受访问保护的)。复制代码 代码如下:try{ Get-ChildItem -Path $env:windir -Filter *.ps1 -Recurse -ErrorA...
PowerShell批量安装msi后辍软件的方法

PowerShell批量安装msi后辍软件的方法

如果你要安装的MSI包不止一个,可不能使用Invoke-Item,否则PowerShell不会等待前一个安装包安装完毕,就已经运行下一个安装包了。如果在批处理中,我们可能会使用msiexec file.msi /wait。在PowerShell中也可以借助于msiexec。先就这些安装包路径存储到数组中吧:复制代码 代码如下:$msi = @("c:file1.msi", "c:file2.msi", "c:file2.msi")然后使用Start-Pro...
PowerShell脚本源码输出到文件的最佳写法

PowerShell脚本源码输出到文件的最佳写法

我以前都是把脚本片段放在字符串中,多行字符串叫here-string,比如:复制代码 代码如下:$code=@"Invoke-WebRequestGet-Service -Name AdobeARMservice"@缺点有二:假如我这个$code字符串很长,执行时出错了,我想排错,但因为它是字符串,在ISE中不能高亮显示,不方便。所以,我估计得把这个字符串中的脚本单独拿出来,放在另外一个ise窗口中仔细辨认一番。$code中的字符串定义了一些变量,我不想这...
PowerShell远程安装MSI安装包、EXE可执行程序的方法

PowerShell远程安装MSI安装包、EXE可执行程序的方法

尽管对IT管理员或者开发者来讲,这是一个很常见的任务,但是在网上能找到“远程安装一个msi包或者exe应用程序”的相关文档还是比较少的。甚至有人在一些论坛的评论中写道,这不可能实现。事实上还是可以的。我会在本文提供两段代码,分别负责远程安装MSI包和EXE可执行应用程序。一、安装MSI包使用PowerShell调用WMI对象,你可以执行下面的脚本来安装你的MSI安装包:复制代码 代码如下:$box="deviis01" #this is the name ...
<< 71 72 73 74 75 76 77 78 79 80 >>