尽管对IT管理员或者开发者来讲,这是一个很常见的任务,但是在网上能找到“远程安装一个msi包或者exe应用程序”的相关文档还是比较少的。甚至有人在一些论坛的评论中写道,这不可能实现。事实上还是可以的。我会在本文提供两段代码,分别负责远程安装MSI包和EXE可执行应用程序。
Powershell
如果你要安装的MSI包不止一个,可不能使用Invoke-Item,否则PowerShell不会等待前一个安装包安装完毕,就已经运行下一个安装包了。
如果在批处理中,我们可能会使用msiexec file.msi /wait。在PowerShell中也可以借助于msiexec。
PowerShell 批量安装MSI安装包

当你通过类似Mailto:链接发送邮件,此时邮件客户端就是MAPI客户端。如果要 […]
Powershell查询默认MAPI客户端
你可以使用Send-MailMessage发送邮件,但是你想从你默认MAPI客户 […]
Powershell用Outlook发送邮件

先前的技巧中我们说明了如何从一行命令行中得到程序名和剔除全部的参数。今天,我们要 […]
分割字符串中程序与参数

有时需要提取命令行中程序的名字。可以试一下下面命令: […]
从命令行获取程序名
你可能已经看到下面的脚本。现在,你用这段代码打开了一个消息窗体将同时随机播放了一段声音,是不是增加了一点娱乐吸引力。当用户结束消息窗体时声音将停止。
打开消息框并随机播放声音

在ISE编辑器中,输入$符号后,会弹出智能提示对话框,该对话框会包含所有内置的和用户定义的变量。继续输入字符,对话框中的变量会被过滤成:包含该字符或者以该字符开头的变量。如果用户只想让智能提示对话框中显示以输入字符开头的变量,可以使用ESC键关闭对话框,然后再使用Ctrl+Space键打开对话框。
ISE智能提示小技巧
PowerShell对哈希表(Hashtable)进行了优化,可以直接使用@{a=1;b=2}这样的格式声明,但是对于词典(Dictionary),可没有优化声明,更别提只读的词典了。这里说的只读的词典可不是只给词典变量加上一个readonly选项。而是不能加键值对,也不能更改键值对。
PowerShell将哈希表转换成只读的词典

当你要从网上下载信息,Invoke-WebRequest是你最好的帮手。你可以试试这个例子,使用Powershell尝试发送查询请求道谷歌然后分析获得的结果。
从谷歌搜获中获取图片地址

在第十五章,我们详细的学习了怎样使用PowerShell来控制文件和文件夹的权限。同样的机制也可以在注册表中使用,使用Get-Acl查看键的当前权限。内容包括:接管所有权,设置新的访问权限,移除一条访问规则,控制子键的访问,揭示继承权,控制你自己的继承权。
PowerShell注册表(五)注册表权限

使用New-item或者md函数来创建注册表键。注册表中的键行为类似文件系统的中的目录。本文内容包括:删除注册表键和内容;设置,更改,和删除注册表键的值;利用注册表的值,扩展资源管理器中的上下文菜单。