这可能是一个小面试题,给定字符串abbcccdeeet,包含了连续的字符,要求将 […]
每月归档: 2014年2月s

在基于PSSession执行Invoke-Command 命令时,可以传递命令或者脚本,这些命令和脚本会被发送到远程机器上去执行,执行完以后,会返回相应的结果。这就牵扯到了两类数据:1.上行的:传递的命令,单个远程命令中可以发送给该计算机的数据量的限制(Maximum Received DataSize Per Command)2.下行的:返回的对象,任何单个对象中可以发送给该计算机的数据量的限制 (Maximum Received Object Size)
PowerShell远程命令参数的大小限制
你可能知道Set-AuthenticodeSignature能够为Powershell脚本实现数字签名,但你知道它还能为其它脚本做签名吗?
Powershell中为VBScript脚本签名
论坛朋友在网上找了一段ZIP格式压缩包解压代码: Function Unzip- […]
Powershell解压ZIP压缩文档

在上一篇文章中我们谈到某群友感觉ForEach-Object速度比For循环快,事情并非绝对。但是写起来,ForEach-Object肯定比For快,我相信大家无异议。当集合元素已知时,For比ForEach快。这和C#中的结果一致,我们随便写几行脚本来测试。
PowerShell中的For和ForEach-Object的速度PK
昨天晚上有群友问如何在PowerShell的管道中获取前一个元素。管道的优势和关注点在于从管道中流过的当前元素,但是为什么要去看前一个元素呢?我就设想一个场景吧:“给定一个数组集合,要求输出每个元素和它前面元素的乘积”。这个问题用For循环解决,没有任何难度。但是该群友想用ForEach-Object来解决,因为他觉得Foreach-Object速度比For循环快(并非绝对如此),于是乎就会引出该话题:从 ForEach-Object的管道中获取前一个元素。
从 ForEach-Object的管道中获取前一个元素

使用过Visual Studio的朋友们,应当都用过Nuget吧。和Nuget类似,PSGet也可以在线搜索和安装PowerShell 第三方组件。比如前一篇文章中提到的PSRealine和之前提到的Pester。安装PSGet,非常方便,假如机器联网直接使用下面的命令在线安装即可。
PSGet在线安装和搜索第三方PowerShell组件

话说PowerShelll自建立以来,已经经历了4个版本,默认的PowerShell控制台功能一直在改善(比如Tab键的智能提示更加灵敏和强大),但是它的外观,蓝底白字,稳重大方,不曾改变。用过最新版的PowerShell ISE的朋友们,可能也已经注意到了,ISE中内嵌的控制台支持关键字高亮。那能不能让PowerShell默认的控制台也支持?
PSReadLine让PowerShell控制台高亮起来
当你在POWERSHELL_ISE中开发脚本,你应该在完成脚本后在干净的环境进行最后的测试,这样不会受到以前的变量或函数影响。
这里有个最简单的完美方法: 选择“文件”菜单,然后点击“新建”,你现在得到了一个空白脚本菜单,实际上这个菜单是在一个全新的环境,可以进行完美的测试了。
ISE中使用新的测试环境

今天尝试在某机器上开启PowerShell远程管理,使用的命令是Enable-PSRemoting -Force。声明:控制台已经以管理员权限运行了。遇到错误信息:无法检查防火墙的状态
Set-WSManQuickConfig 错误:无法检查防火墙的状态
PowerShell的所有配置文件路径存放在自动化变量$profile中,但是这 […]