PowerShell 对象(Object)
原创
©著作权归作者所有:来自51CTO博客作者JeesonHuang的原创作品,请联系作者获取转载授权,否则将追究法律责任
对象在程序开发中的概念可以说都一样。对象通常有自己的属性和方法,比如一个人,它的属性有肤色 /身高/ 性别 等,方法有 走路 /躺下 /呼喊 等。PowerShell 中提供了对象的定义。下面测试使用方法。
当前版本:
创建对象:
$Service=New-Object object
添加成员:属性
$Service | Add-Member NoteProperty StaticNum 100
$Service | Add-Member NoteProperty StaticStr ABCDE
Add-Member -InputObject $Service -MemberType NoteProperty -Name Color -Value "Red"
Add-Member -InputObject $Service -MemberType NoteProperty -Name Weight -Value "55"
添加成员:方法
$Service | Add-Member ScriptMethod MethodA { "print AAAAA!" }
$Service | Add-Member ScriptMethod MethodB { "print BBBBB!" }
Add-Member -In $Service -MemberType ScriptMethod -name GStr -Value { "print test!" }
Add-Member -In $Service -MemberType ScriptMethod -name GDate -Value { Get-Date }
查看对象所有属性或方法: (Static 为静态属性或方法)
$Service | Get-Member
$Service | Get-Member -MemberType *Property*
$Service | Get-Member -MemberType Method
$Service | Get-Member -Static -MemberType Method
查看类型:
$Service.StaticNum.GetType()
$Service.Color.GetType().FullName
$Service.GDate.GetType().FullName
查看定义:
$Service.GStr.Script
$Service.GDate.Script
$Service.GDate
查看属性和执行方法:
$Service.Color
$Service.StaticStr
$Service.GStr()
$Service.GDate()
属性重新赋值:
$Service.Color = "Green"
$Service.Color
对象属性值的多种情况定义:(-Force 如果存在则替换)
$Service | Add-Member -MemberType NoteProperty -Name AddTimeA -Value ( Get-Date )
$Service | Add-Member -MemberType NoteProperty -Name AddTimeB -Value { Get-Date }
$Service | Add-Member -MemberType ScriptProperty -Name AddTimeC -Value { Get-Date }
$Service | Add-Member -MemberType ScriptProperty -Name GetAddTimeC -Value { $Service.AddTimeC }
$Service | Add-Member -MemberType ScriptProperty -Name GetAddTimeC -Value { $Service.AddTimeC } -Force
结果:
$Service.AddTimeA #静态时间
$Service.AddTimeB #输出字符:Get-Date
$Service.AddTimeC #动态时间
$Service.GetAddTimeC #动态时间
参考:New-Object http://www.pstips.net/powershell-online-tutorials