上个周末Codecook问起idle,一段往事划过脑际。话说某公司安全制度比较严格,员工离开座位机器一律要锁屏,不锁屏着,被IT发现:轻则罚钱,中则罚项目组的团队的活动经费,重则直接走人。某哥们投机取巧,直接把显示器关了,没有锁屏。结果那个IT简直是母鸡中的战斗机啊,竟然打开显示器去检查,逮了个正着啊,然后就是一番批评教育。
无论何时用户使用了非法的用户凭据登陆机器失败后,都会在系统日志的security下生成一条日志。 下面的函数可以从系统日志中读取这些日志,并列出它们。(需要管理员权限)
PowerShell 查询登陆失败的日志
这周我在PowerShell论坛中遇到一个纠结的问题,一个用户询问怎么使用命令关闭它机器上的显示器。我没搞懂它的意图,但是我猜这家伙可能想看恐怖电影,屏幕的闪烁影响他的体验,或者极有可能他想让自己的笔记本尽可能地省电。无论怎样我在网上搜索之后,整理出了本文的脚本。
PowerShell 关闭显示器
使用Get-Process返回的进程中有一个CPU属性,这个CPU代表的是什么呢?我们知道System.Diagnostics.Process类型没有一个CPU属性哪,那它极有可能是扩展属性(使用扩展类型系统)。
Get-Process 返回的CPU属性应当怎样理解
最近发现有很多朋友在谷歌中通过关键字“site:www.pstips.net Get-Host”搜索本站,这就类似使用谷歌定制搜索来搜索Get-Host。为什么会出现这个现象,究其原因是因为本站的搜索使用的WordPress内置的搜索,这种搜索是基于数据库的模糊匹配。这种数据库级别的模糊匹配有个缺点:比如你的文章中有个单词“妈妈”,结果用户搜索“母亲”,什么都搜不到。
PowerShell 中文博客支持谷歌自定义搜索了
Powershell可以调用Windows API 实现更改桌面壁纸,注意学习观察这里的Add-Type用法。
Powershell 更改桌面壁纸

Powershell_ISE编辑器有个鲜为人知的技巧在你准备操作或移除脚本字符段落时,这个特性在Powershell3.0版本开始引入的。
在Powershell_ISE编辑器使用段落注释

相信很多朋友已经注意到作为Ping的扩展的一个PowerShell 命令已经出来一段时间了。在Windwos server 2012 R2或者Windows 8.1 上面,一个谓之Test-NetConnection的命令与先前的Ping相比,可以做更多很酷的事情。比如:检测互联网的连通性,检测远程机器的某个端口是否打开,路由跟踪等。
在Windows 2012 R2或者8.1上,你还在使用Ping吗?
在之前的PowerShell小技巧文章中,你已经学到了使用systeminfo.exe可以获取非常丰富的系统配置信息。systeminfo.exe 拥有内置的远程功能。所以只有你有适当的权限,你还可以得到远程机器的系统信息,今天把它包装成一个可以传递机器名参数的函数。
PowerShell 获取远程机器的系统信息

本视频教程是微软官网发布的PowerShell 3.0视频教程,共9章,每章都包含电子书。最近新加入了微软中国TechNet在优酷网的视频,虽然有广告,但是观看速度明显改善。
PowerShell 3.0 视频教程
之前写过一篇文章:PowerShell 远程管理Windows Azure 上面的虚拟机 。其中提到了配置WinRM使用HTTPS连接时一笔带过。但是今天@zhgj007留言说他执行这一步骤时,遇到了错误“Cannot create a WinRM listener on HTTPS because this machine does not have an appropriate certificate. ”
PowerShell 配置winrm使用HTTPS

随着Windows Server 2012 和 Windows 8 的发布,当你使用NETSH 来管理防火墙时,会看到微软发布的警告消息。在未来的windows版本中,微软可能会移除Netsh功能,转而使用高级安全的Windows防火墙。本文提要:使用PowerShell 启用和禁用防火墙,添加,更改,删除一条防火墙规则,远程管理防火墙规则。