可以先将对象转换成哈希表,然后从哈希表中移除为空的属性,再将哈希表中转换成对象。在这期间,你同样有机会对属性名进行排序。
每月归档: 2012年12月s
在PowerShell 3.0中,你可以通过定义类型的参数来决定哪些属性默认可以显示,并且让它只在你的函数中生效。思想是首先将一个新的自定义类型赋值给你要返回的结果,然后通过调用Update-TypeData 来告诉PowerShell默认应当显示哪些属性数据。
PowerShell 控制对象属性的显示
在之前的文章中,我们提到过通过OutputType特性,来修饰函数的参数,已达到智能提示的目的。同样的在ISE编辑器中,你可以选择将一个枚举类型绑定到参数中,这样在调用函数输入参数时,就会出现智能提示框。
PowerShell 使用枚举类型让参数智能提示
在PowerShell 3.0 中,你仍然可以使用功能强大的Get-WmiObject命令,但是它们会逐渐被CIM命令所替代。如果你已经在使用Get-WmiObject命令查询数据。那可以非常流畅地切换至Get-CimInstance,因为这类命令都比较类似。
Get-WmiObject 即将过时
那些些命令能够直接通过PowerShell内置的Module就可以识别呢?因此,找出原汁原味的没有外部依赖关系的PowerShell中内置的命令显得非常重要。有一个方法,可以得到这些内置命令。临时打开一个PowerShell运行空间,并枚举列出所有CmdLet命令
查找PowerShell 内置命令
如果想在PowerShell ISE 3.0 中得到更加帅气的智能提示,可以通过函数的特性OutputType 来设置。一旦启用OutputType属性,在PowerShell 3.0 的ISE中不用执行代码,即可支持自动智能提示
PowerShell 让函数支持静态的智能提示
思想是通过IPConfig查询IP配置信息,然后对输出结果通过通配符逐行过滤,对匹配行使用冒号分割,直接返回干净的IP地址,如果机器有多个IP地址,返回的是一个String数组。
PowerShell 查询IP地址
有的时候,你可能知道某一个对象中可能有包含特殊关键字的属性,但是因为对象中的属性太多,查询起来比较麻烦,这个给出一个解决方案。
可以将对象的信息转换成文本行,然后通过Select-String 命令去搜索关键字。
PowerShell 查找对象属性
原因是Excel在保存CSV文件时,默认使用的是非常简单的ANSI编码。下面的例子使用PowerShell会对CSV文件进行重新编码,这个就保证了在使用Import-CSV命令时,转换过来的对象中的特殊字符仍然存在,并且可读
PowerShell 保留Excel生成的CSV文件中的特殊字符
如何查看自己机器上的共享文件正在被访问,可以使用CMD中的命令openfiles. openfiles命令需要以管理员权限才能运行.
PowerShell 查看远程打开的文件
如果你想改变一个csv文件中列的顺序,可以使用Import-CSV命令将文件导入到PowerShell中,转换成对象,然后通过Select-Object,改变顺序输出为CSV文件,保存在原文件中或者新文件中。
PowerShell更改CSV文件的列顺序
Windows Management Framework (WMF)3.0( 针 […]