还记得当年怎样在PowerShell中动态创建对象吧?今天要分享的方法不敢自诩高大上,但也足以让New-Object感到汗颜。
背景
在System Center Operation Manager中有个Management Pack,叫做:“Microsoft.SystemCenter.OperationsManager.SummaryDashboard”。在该MP中有个Discovery叫做:“Collect agent configurations”。该工作流中用到了一段脚本,其中使用了New-Module命令。
New-Module就是在内存中动态生成一个Module组件。用它来自定义对象有点大材小用了。
演习
$PLA = New-Module { $名称 = ‘中国人民解放军' $军区 = @('沈阳军区','北京军区','济南军区','南京军区','广州军区','成都军区','兰州军区') $兵种 = @('海军','空军','第二炮兵') function 保卫党 { return $true } function 保卫人民 { return $null } function 抗洪抢险 { return $true } function 抗震救灾 { return $true } function 确认兵种 { param($某兵种) if ($this.兵种.Contains($某兵种)){ return $true } return $false } Export-ModuleMember -Variable * -Function * } -AsCustomObject
PS> $PLA 兵种 军区 名称 -- -- -- {海军, 空军, 第二炮兵} {沈阳军区, 北京军区, 济南军区, 南京军区...} 中国人民解放军 PS> $PLA.确认兵种(‘陆军') False PS> $PLA | Get-Member TypeName: System.Management.Automation.PSCustomObject Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() 兵种 NoteProperty System.Object[] 兵种=System.Object[] 军区 NoteProperty System.Object[] 军区=System.Object[] 名称 NoteProperty System.String 名称=中国人民解放军 保卫人民 ScriptMethod System.Object 保卫人民(); 保卫党 ScriptMethod System.Object 保卫党(); 抗洪抢险 ScriptMethod System.Object 抗洪抢险(); 抗震救灾 ScriptMethod System.Object 抗震救灾();
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“PowerShell小技巧之使用New-Module命令动态创建对象”评论...
更新日志
2024年12月23日
2024年12月23日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]